1. gzyueqian
      13352868059

      嵌入式編程培訓中提高開發質量的小技巧!

      更新時間: 2021-06-24 14:00:01來源: 粵嵌教育瀏覽量:7492

      不管是代碼的維護還是開發的質量都是一名的嵌入式工程師都要去考慮的,隨著嵌入式的產品在市面的運用越來越多,現在對于嵌入式系統的要求也就越高了。也因為嵌入式是一門IT開發技術,而IT行業又是日新月異的行業,所以說在技術上面的要求也就越高了,下面粵嵌科技給大家講講嵌入式編程培訓中提高開發質量的小技巧都有哪些?

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

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

      技巧2:嵌入式編程培訓中要避免注釋蠕變

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

      技巧3:嵌入式編程培訓中不要過早優化。

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

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

      技巧4:嵌入式編程培訓中的ISR應該很簡單

      出于性能和維護方面的考慮,中斷服務例程(ISR)應該盡可能簡單。作為異步性質的ISR本質上比“常規”程序代碼更難調試,因此將其責任降到對于您的應用程序的總體可維護性很重要。嘗試將所有數據處理移出ISR并移至主程序中,然后ISR僅負責獲取數據(例如,從硬件中獲取)并將其放置在緩沖區中以備后用。可以使用一個簡單的標志來向主程序發出信號,通知有要處理的數據。

      技巧5:嵌入式編程培訓中要將調試代碼保留在源文件中

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

      技巧6:嵌入式編程培訓中要為系統調用編寫包裝器

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

      技巧7:僅分解功能

      嵌入式應用程序將與PC應用程序不同,因為許多功能將專用于您正在使用的硬件。不建議將功能單元盡可能地拆分為小–將單個作用域(功能)中的功能調用數保持在5或6以下,并使硬件的功能單元與軟件中的功能單元相對應。進一步分解程序將創建調用圖的蜘蛛網,從而使調試和理解變得困難。

      技巧8:文檔

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

      技巧9:不要機靈!

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

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

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

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

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日本高清有码在线 | 视频一区视频二区中文精品 | 亚洲人在线观看影院 | 一区不卡二卡三卡免费 | 一本久久sm热国产斤 | 一本丁香综合久久久久不卡网站 |