嵌入式的定義比較廣泛,可以分為單片機,linux驅動,DSP等幾大方向, 我們分情況進行講解。
總的來說,學習嵌入式開發,都是需要有C語言編程基礎,如果要對編程游刃有余,還得對結構體,指針有比較清晰認識和掌握,現在很多固件,demo都常用結構體和指針。所以這點專業知識非常重要。
除此之外,還多、少都需要掌握一定的硬件的專業知識,對硬件理論有一定的熟悉。因為經常在調試過程中,經常為了調試BUG,需要用萬用表,示波器測試相關引腳的輸入輸出電平。這對調試軟件非常有幫助。也是必須要掌握的。
差異點分開說:
單片機,常見STC/AT 51內核單片機,Cotex-M3內核的STM32等單片機,
DSP傾向于電機控制和算法,常見TMS32F2812系列,
linux驅動,會對linux操作系統熟悉,對于shell,makefile,linux文件系統等熟練掌握。
嵌入式發展方向
網上說的嵌入式發展方向其實都大同小異,其實也基本正確,但目的是為了讓自己能夠在專業技能上獨當一面,成為技術專家,和項目高手,再或者希望走管理路線的工程師還可以轉研發管理。都亦無不可,不過這里強調的是,在做選擇前,請根據自己的真實情況,公司或者部門現狀,認真清楚的分析。任何一次選擇,都非常重要。
想做好嵌入式軟件開發,除了掌握專業知識外,還需要熟悉各類外設接口,uart串口,IIC,SPI,等等,還需要學會總結經驗,每次編程畫軟件流程圖,總結編程思路,形成屬于自己的編程習慣和方法。
做開發,既有趣又枯燥,要真正熱愛和感興趣,才能長久做下去,否則堅持不了幾年,就會轉行。所以,興趣和愛好才是第一要素。
上一篇代碼規范的說明是什么?