淺談嵌入式系統(tǒng)開發(fā)的方法、技巧
時間:2021-11-03 14:36:11
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]星標「嵌入式大雜燴」,一起進步!來源:技術(shù)讓夢想更偉大作者:李肖遙開頭的話嵌入式開發(fā)是一個比較苦、容易背鍋、可能仍然需要996而且拿錢較少,但也有些許樂趣的活,我一直稱之為跳坑里了。如果你在里面深耕,那終究會成為大佬,軟硬結(jié)合的高手;如果你剛?cè)肟?,我可能勸你轉(zhuǎn),但是可能你自己還有...
開頭的話
嵌入式開發(fā)是一個比較苦、容易背鍋、可能仍然需要996而且拿錢較少,但也有些許樂趣的活,我一直稱之為跳坑里了。如果你在里面深耕,那終究會成為大佬,軟硬結(jié)合的高手;如果你剛?cè)肟樱铱赡軇衲戕D(zhuǎn),但是可能你自己還有點舍不得。
從裸機思維開始
嵌入式系統(tǒng)是一個面向應用高度裁減的專用計算機系統(tǒng),嵌入式軟硬件也可以這樣定義
-
軟件:人們借助某種語言,“嘗試”固化下來的,自己的思維
-
硬件:業(yè)已固化下來的邏輯,可以穩(wěn)定的提供確定的服務和功能
注重方法
思維的設(shè)計有很多輔助工具,如大家熟知的流程圖、UML圖、數(shù)據(jù)流圖等等。然而,具體代碼往往并不是一個好的輔助工具。
-
v1:“實時性” = “越快越好”
-
Lv2:“實時性” = RTOS,認為選一個好的RTOS,或者會用RTOS就可以保證實時性;
-
Lv3:“實時性” = 任務拆分;
-
Lv4:開始思考實時性模型的特點;
-
Lv5:到了這個階段,不僅腦洞大開、戰(zhàn)斗力驚人
注重技巧
為大家庖丁解牛、由淺入深,就要不懼怕優(yōu)化,不要把編譯器的行為看作是玄學,深入底層,才能把編譯器、內(nèi)存、寄存器、語言本質(zhì)理解的透徹。
XXXXX_IO_REG_BASE_ADDRESS,則對應的寄存器可以定義為如下的形式:
#defineXXXXX_IO_REG ( *((volatile uint32_t*)XXXX_IO_REG_BASE_ADDRESS) )
而應用中很多針對外設(shè)寄存器的連續(xù)操作都可以通過優(yōu)化來大幅度提高效率,在保證程序邏輯正確的情況下,應該盡可能減少volatile的使用,或者是限制其使用的范圍,那么你知道為什么嗎?
這就是編譯器、語言本身、變量的一些特別之處,搞定這些底層原理知識,必定讓我們打開語言的大門。
最后的話
嵌入式開發(fā)所涉及到的思維訓練、C語言以及編譯器相關(guān)的關(guān)鍵知識、裸機環(huán)境下的開發(fā)者模型等等,可以幫助我們深入理解底層原理知識,以不變應萬變,最終對知識點實現(xiàn)完整和全面的覆蓋。





