• 招生咨詢熱線:4008-569-579 
  • 手機版
    用手機掃描二維碼直達(dá)商品手機版
招生咨詢熱線
4008-569-579
機構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式編程培訓(xùn)中提高開發(fā)質(zhì)量的小技巧!
機構(gòu)主頁 > 培訓(xùn)資料>嵌入式編程培訓(xùn)中提高開發(fā)質(zhì)量的小技巧!

嵌入式編程培訓(xùn)中提高開發(fā)質(zhì)量的小技巧!

來源:廣州達(dá)內(nèi)教育        時間:2023-05-30        熱度:28℃        返回列表

不管是代碼的維護還是開發(fā)的質(zhì)量都是一名的嵌入式工程師都要去考慮的,隨著嵌入式的產(chǎn)品在市面的運用越來越多,現(xiàn)在對于嵌入式系統(tǒng)的要求也就越高了。也因為嵌入式是一門IT開發(fā)技術(shù),而IT行業(yè)又是日新月異的行業(yè),所以說在技術(shù)上面的要求也就越高了,下面達(dá)內(nèi)科技給大家講講嵌入式編程培訓(xùn)中提高開發(fā)質(zhì)量的小技巧都有哪些?

技巧1:嵌入式編程培訓(xùn)中要避免使用匯編代碼

當(dāng)然,在低端PIC上您別無選擇,而在高端ARM上您可能不需要它,但是在這兩種極端之間,有很多平臺使用匯編代碼來實現(xiàn)以下目的:提高性能并減少代碼大小。但是,問題在于,簡單地選擇使用匯編代碼可能會使您的項目脫軌,并使您陷入困境。盡管匯編代碼允許您直接訪問機器的功能,但由于難以理解程序中正在發(fā)生的事情,因此可以輕易地忽略性能優(yōu)勢。正是出于這個原因,構(gòu)思了語言,例如C和Java。

技巧2:嵌入式編程培訓(xùn)中要避免注釋蠕變

這是一個通用的編程技巧,但是在長壽命應(yīng)用程序中變得尤為重要的技巧“管理您的注釋與它們記錄的代碼的關(guān)聯(lián)。隨著代碼的更新,注釋的遷移非常容易,并且結(jié)果很難理解。以下示例說明了隨著時間的推移,注釋蠕變的發(fā)生有多么容易。

技巧3:嵌入式編程培訓(xùn)中不要過早優(yōu)化。

編程的主要缺點之一是過早的優(yōu)化。但是,由于時間限制,草率的編碼或過分熱心的工程師,該規(guī)則在實踐中經(jīng)常被打破。您編寫的任何程序都應(yīng)盡可能簡單地開始,并且仍然提供所需的功能。“如果需要性能,請嘗試簡單地實現(xiàn)該程序,即使它與性能不匹配。

一旦測試并調(diào)試了完整的單元(它是大型系統(tǒng)的編程器或組件),然后回去進(jìn)行優(yōu)化。危險地優(yōu)化代碼會導(dǎo)致維護噩夢,因為優(yōu)化后的代碼通常較難理解,并且您可能無法理解您需要的性能結(jié)果。理想情況下,使用探查器(例如與GCC一起使用的gprof或Intel的VTune)來查看瓶頸所在,并專注于這些領(lǐng)域-真正緩慢的事情可能會讓您感到驚訝。

技巧4:嵌入式編程培訓(xùn)中的ISR應(yīng)該很簡單

出于性能和維護方面的考慮,中斷服務(wù)例程(ISR)應(yīng)該盡可能簡單。作為異步性質(zhì)的ISR本質(zhì)上比“常規(guī)”程序代碼更難調(diào)試,因此將其責(zé)任降到對于您的應(yīng)用程序的總體可維護性很重要。嘗試將所有數(shù)據(jù)處理移出ISR并移至主程序中,然后ISR僅負(fù)責(zé)獲取數(shù)據(jù)(例如,從硬件中獲取)并將其放置在緩沖區(qū)中以備后用??梢允褂靡粋€簡單的標(biāo)志來向主程序發(fā)出信號,通知有要處理的數(shù)據(jù)。

技巧5:嵌入式編程培訓(xùn)中要將調(diào)試代碼保留在源文件中

在開發(fā)過程中,您可能會添加大量旨在調(diào)試“詳細(xì)輸出,聲明,LED閃爍等”的代碼。當(dāng)項目結(jié)束時,可能很想刪除其中的這些部分。代碼以清理整個應(yīng)用程序,尤其是在隨意添加調(diào)試代碼的情況下。

技巧6:嵌入式編程培訓(xùn)中要為系統(tǒng)調(diào)用編寫包裝器

嘗試通過接口將低級I / O例程與程序邏輯分開,因為通過單片開發(fā)可以使程序難以管理。將應(yīng)用程序的所有功能放到幾個大功能中會使代碼難以理解,并且更難更新和調(diào)試。對于硬件接口尤其如此。您可能可以直接訪問硬件寄存器或I / O,甚至可以訪問平臺供應(yīng)商提供的API,但是有很多動機來創(chuàng)建自己的“包裝程序”接口。

技巧7:僅分解功能

嵌入式應(yīng)用程序?qū)⑴cPC應(yīng)用程序不同,因為許多功能將專用于您正在使用的硬件。不建議將功能單元盡可能地拆分為小–將單個作用域(功能)中的功能調(diào)用數(shù)保持在5或6以下,并使硬件的功能單元與軟件中的功能單元相對應(yīng)。進(jìn)一步分解程序?qū)?chuàng)建調(diào)用圖的蜘蛛網(wǎng),從而使調(diào)試和理解變得困難。

技巧8:文檔

保留所有文檔以及代碼,理想情況下,還應(yīng)保留硬件副本。在記錄應(yīng)用程序時,請嘗試將盡可能多的設(shè)計和應(yīng)用程序模型直接放入源代碼中。如果必須將其分開,則將其作為巨大的注釋放入源文件中,并將其鏈接到程序中。

技巧9:不要機靈!

類似于過早的優(yōu)化,聰明的編碼會導(dǎo)致麻煩。由于C和C ++仍然是嵌入式世界中的主導(dǎo)語言,因此有很多方法可以解決一個問題。模板,繼承,goto,三元運算符(“?”),列表會不斷出現(xiàn)。

真正聰明的程序員可以提出使用這些工具解決問題的極其緊湊和優(yōu)雅的方法。問題是通常只有程序員才能理解聰明的解決方案(以后可能會忘記它是如何工作的)。

技巧10:嵌入式編程培訓(xùn)中要將所有定義放在一個地方

如果您有很多常量定義或條件定義,請將它們放在中央位置。這可能是單個文件或源代碼目錄,但是如果將定義深埋在實現(xiàn)中,它會再次咬住您。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部