時間:2019-05-29 00:00:00 來源:信盈達 作者:信盈達
很多人嵌入式學(xué)習(xí)都有些迷茫,不知道從哪里入手,不知道自己的水平位于哪個層次,不知道從哪方面提升,今天我們就從一個8年工作經(jīng)驗的嵌入式資深工程師的分享,來看一下嵌入式學(xué)習(xí)那些你繞不開的技術(shù)點。
做嵌入式這行已經(jīng)8年了吧,也算是一個老工程師了,工作多年,做過MCU、DSP、ARM、ARM+DSP、ARM+FPGA等等芯片。現(xiàn)在將嵌入式學(xué)習(xí)的一些繞不開的技術(shù)點整理下,希望對嵌入式初學(xué)者有些幫助。
嵌入式開發(fā)的很大一部分時間都在調(diào)試,好的調(diào)試方法和工具可以更快速的定位問題。? ?
???
3.1 vargrind 的使用4. 嵌入式開發(fā)離不開優(yōu)化? ? ?
?? ? ? ? ? ? ? ?
嵌入式的優(yōu)化分為兩部分,算法上的優(yōu)化,編程上的優(yōu)化。其中編程上的優(yōu)化分為以下技術(shù)。? ?
?? ?
4.1 內(nèi)存使用上的優(yōu)化-cacheline的使用cache涉及到cache命中率、cache一致性,write-back,wrte-through等。全局變量問題、常用變量位置問題、互鎖問題。? ??
? ?
4.2 并行優(yōu)化? ? ? ? ? ??
并行優(yōu)化主要是SIMT或SIMD技術(shù)的應(yīng)用,包括GPU的使用,NEON優(yōu)化、SSE優(yōu)化等。? ??
? ? ? ??
其中并行分為任務(wù)并行和數(shù)據(jù)并行、任務(wù)并行是多核方面的優(yōu)勢。數(shù)據(jù)并行是GPU和NEON來解決。??
? ? ? ? ?
同時需要? ? ? ?
4.3 依賴性問題? ? ??
? ? ??
依賴性問題主要是流水線問題,避免數(shù)據(jù)的依賴性可以高效的使用流水線。至于這部分的優(yōu)化要借助反匯編,來對比不同寫法造成的差異。?
?? ??
5. 嵌入式繞不開驅(qū)動? ? ? ?
?? ? ? ?
很多人對驅(qū)動開發(fā)有技術(shù)情節(jié),越是年輕的工程師越是這樣。驅(qū)動的開發(fā)本質(zhì)上就是給外設(shè)配置參數(shù),使其工作在期望的方式。linux下的驅(qū)動開發(fā)需要遵從linux的驅(qū)動框架,裸機的驅(qū)動開發(fā)就是直接配置寄存器就可以。
? ? ? ? ? ??
linux有一個很好的理念,就是萬物皆文件。linux將外設(shè)也會抽象成文件,讀寫外設(shè)和讀寫文件在操作上沒有了區(qū)別。??
? ? ? ? ??
linux下的設(shè)備,分為字符型設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備。
? ? ? ? ? ??
linux下注冊驅(qū)動的時候,將設(shè)備號和文件名進行了映射,并實現(xiàn)file_operation里的一些函數(shù),例如,write、read、ioctl。其中write、read主要用于讀寫外設(shè)的有用數(shù)據(jù)。ioctl主要用于配置外設(shè)的一些參數(shù),使其工作在不同的模式或狀態(tài)。? ? ??6. 嵌入式離不開操作系統(tǒng)? ? ?
???
其實嵌入式指的就是嵌入式操作系統(tǒng),操作系統(tǒng)有很多種。vxworks、ucos、freertos、bios、linux、uclinux、nuttx等等。對于操作系統(tǒng)的選擇個人感覺要看實時性、以及生態(tài)。生態(tài)很重要,這樣出現(xiàn)問題的時候,才不至于絕望,感覺不是孤軍奮斗。? ? ? ?
??
其實操作系統(tǒng)的出現(xiàn),主要是為了解決任務(wù)調(diào)度、內(nèi)存管理。這兩方面是操作系統(tǒng)的精髓。感興趣可以閱讀源碼。ucos的源碼不多,可以從它看起。目前AI異常火爆,現(xiàn)階段大家都停留在功能實現(xiàn)上,至于端測的落地,個人感覺還有一小段距離要走。當AI落地的時候,我相信市場上對嵌入式工程師、硬件工程師的需求會越來越大。尤其是涉及到性能優(yōu)化方面,我相信應(yīng)該會有很大的市場吧。?
好了,關(guān)于嵌入式學(xué)習(xí)那些繞不開的技術(shù)點,你GET到了嗎?如果小伙伴們覺得對嵌入式學(xué)習(xí)不夠系統(tǒng)化,知識點較零散,最后實際運用時一頭霧水,沒有清晰的思路,可以選擇信盈達的嵌入式課程,這里有工程師精心總結(jié)歸納的課程內(nèi)容,全程實戰(zhàn)案例講解。只要你想學(xué)會,就能助你速成。
信盈達從事嵌入式教育十多年,積累了豐富的實戰(zhàn)教學(xué)項目,比如:四軸飛行器、機械手臂、17自由度運動機器人、MCU環(huán)境檢測,智能可穿戴、智能家居等。此外,信盈達2018嵌入式課程全面升級,新添加RK3399(A53+A72)教學(xué)平臺學(xué)習(xí)內(nèi)容,該平臺廣泛適用于AR設(shè)備、VA設(shè)備、3D設(shè)備、智能機器人、人臉識別、一體機、 庭影音、集群服務(wù)器、智能交互、車載設(shè)備、醫(yī)療行業(yè)、電視盒子等。
文章出自:https://www.jianshu.com/p/1c2ae8c411c9
免費領(lǐng)取試聽卡
申請已經(jīng)提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!