日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

嵌入式系统开发者需要掌握什么技术?

發(fā)布時間:2023/12/20 windows 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式系统开发者需要掌握什么技术? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大家好,我是小嵌,在知乎上看到這個問題,其中有一個答主的答案很經(jīng)典,特此分享給大家。



說實話,問題中嵌入式開發(fā)這個話題有點龐大,畢竟它涵蓋的領域和范圍很寬泛。作為一個在嵌入式軟件開發(fā)方面工作了十多年的老程序猿,這么多年過來也在通過不停的自學和各類項目的歷練中,不斷積累自己的嵌入式軟件開發(fā)的技能棧。


這里也借題主的問題寶地,梳理一下嵌入式軟件開發(fā)方向的技能棧,以期對題主和廣大嵌入式軟件愛好者有所幫助。畢竟是站在個人的經(jīng)歷角度分享,如有缺失敬請諒解。

作為嵌入式軟件開發(fā),其實可以細分為:

  • 嵌入式MCU軟件開發(fā)工程師;

  • 嵌入式Linux底層(BSP)軟件開發(fā)工程師;

  • 嵌入式Linux應用開發(fā)工程師;

  • 嵌入式FPGA算法開發(fā)工程師

  • 我這么多年,從MCU開發(fā)及Linux應用開發(fā)起步,在合伙創(chuàng)業(yè)過程中自學并通過項目實踐構建了Linux底層驅動技能棧,FPGA算法工程師僅僅因為與公司的相應同事有過交際集,這里就不過多闡述FPGA算法工程師的技能棧,防止給大家?guī)芷恕?/p>

    1. 嵌入式MCU軟件開發(fā)工程師

    【基本武器】

    • C語言編碼能力(數(shù)據(jù)結構,常用算法,指針和數(shù)組,結構體和位域等)

    • MCU的理論知識(時鐘樹,內存,中斷,GPIO,功能外設(uart,iic,dma等)等)

    • MCU的編碼方式(寄存器/庫函數(shù)),編譯下載過程(根據(jù)題主選擇的MCU來學習)

    • 基本的電路連線圖能看懂(MCU的管腳如何連接到外界器件等)

    • 實時操作系統(tǒng)編碼能力(ucos,freertos,liteos等等)

    • 業(yè)務場景知識(根據(jù)題主嵌入式產(chǎn)品場景而定)

    【升級武器】

    • 軟件架構設計能力

    • 示波器,邏輯分析儀使用(調試通信器件使用)

    • 讀取反匯編能力(定位Bug時候可能用到)

    • 掌握通信協(xié)議(串口232通信,485通信,iic協(xié)議,spi協(xié)議,tcp/ip,can協(xié)議等等)

    2. 嵌入式Linux應用開發(fā)工程師

    【基本武器】

    • Linux C語言編碼能力(數(shù)據(jù)結構,常用算法,指針和數(shù)組,結構體和位域等)

    • Linux常用功能API(多線程,多進程,鎖類,進程/線程通信機制相關等)

    • Linux Shell使用(基本的Linux操作能力)

    • Makefile/GDB調試

    • 掌握通信協(xié)議(串口232通信,485通信,iic協(xié)議,spi協(xié)議,tcp/ip,can協(xié)議等等)

    • 業(yè)務場景知識(根據(jù)題主嵌入式產(chǎn)品場景而定)(比如視頻,那么rtsp,h264編碼,視頻基礎)

    【升級武器】

    • 軟件架構設計能力

    • 讀取反匯編能力(定位Bug時候可能用到)

    • Linxu操作系統(tǒng)理解(用戶態(tài),內核態(tài),中斷機制,內存機制等)

    3. 嵌入式Linux底層(BSP)開發(fā)工程師

    【基本武器】

    • Linux C語言編碼能力(數(shù)據(jù)結構,常用算法,指針和數(shù)組,結構體和位域等)

    • Linux裁剪,移植,編譯

    • Linxu操作系統(tǒng)理解(用戶態(tài),內核態(tài),中斷機制,內存機制等)

    • Linux Shell使用(Linux操作能力)

    • bootloader(uboot等)修改

    • 基本調試用通信方法(uart,tcp/ip)

    【升級武器】

    • Linux驅動開發(fā)能力

    • Linux內核機制

    • 等等

    以上根據(jù)個人的工作經(jīng)歷中使用的技能棧總結,難免存在遺漏。畢竟每個嵌入式工程師從事的行業(yè)不同,技能棧也會有所不同。


    以上建議,也僅供題主和廣大嵌入式軟件愛好者參考。

    作者:snowdream
    鏈接:https://www.zhihu.com/question/449050796/answer/1782550929
    來源:知乎
    著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。

    -END-

    點擊下方卡片關注,一起學嵌入式。

    總結

    以上是生活随笔為你收集整理的嵌入式系统开发者需要掌握什么技术?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。