關於從裸機進arm時,所需微控制器的熟練程度?

  • 作者:由 匿名使用者 發表于 攝影
  • 2022-10-30

關於從裸機進arm時,所需微控制器的熟練程度?路對了走再遠也值2017.02.09 回答

以下是微控制器實踐團為您解答:

1、其實無所謂裸機玩的水平是用哪種方式來衡量,看暫存器或用現成的程式碼片段也好,只要能實現功能,效能不打折,合理即可。

2、量產過就行了,當然如果您還是在學習階段也不用著急,踏踏實實搞定一門裸機,穩定很重要。當然要很懂,其實對於很多工程師而言更喜歡裸機,而不是ucos/ecos/freertos等等,原因很簡單,裸機他更加清晰,mcu怎麼做事情的。

3、其實不管怎麼樣,只要你懂mcu怎麼做事情的就足夠了,真的足夠了。例程也好功能函式也好,這些程式碼片段其實都是一塊一塊的磚和瓦,外設驅動嘛,不要想得很複雜,實際中對於一個平臺的mcu前期使用者會做很多的驗證與驅動程式碼,這個環節是思考,設計,驗證的過程。

4、此後在這些基礎上才去做產品的,前期的這些很重要,比如用多少晶振,串列埠的誤位元速率等等,串列埠的一些機制,多機地址,傳送完成機制,DMA通道等等。

5、datasheet這些嘛,前期該看的東西,後面設計中更多考慮的是整個系統的結構,裸機其實有的時候更加難做,mcu上面os不是憑空產生的,有需求才會出現。

6、舉個例子,串列埠接收到主機的控制幀命令,電機控制可以被無線控制,電機控制過程中需要大延時保護,裸機程式差的設計者會直接delay一下,好的設計是需要用其他的辦法實現,避免延時過程中無法解析主機的命令,這時候主機命令會超時,對於os的話用delay就好了,他會任務切換,使用者寫寫程式就簡單了,前提是已經porting好了的平臺。

7、對於大一點的公司會有人專門做平臺,也有人專門搞應用,應用也會分很多種,也分很多人來搞。

8、裸機程式中會經常使用標誌位,而在os系統中就是訊號量,os真的有很多很多優秀的東西,值得學習。前提是在裸機中你足夠了解他產生的原因。

9、系統的看問題,單純的模組不會帶你進入深刻的思考空間,循序漸進吧,等哪天裸機你用起來不爽,不夠的時候再去考慮os吧,多想想mcu是怎麼做事情的,不是看程式碼層面的,多想想那個矽片在做什麼事情,建議os之前搞搞bootloader,不要想到linux的bl,沒那麼複雜,就是讓你更多的瞭解裸機,我們也叫IAP。

10、有機會建議您學習freertos,因為開源,雖然對於學習ucos是不二之選,我已經porting了很多的模組到該os上面,sedona/cli/fat-sl/lwip/lua。

Top