從事嵌入式軟件開發(fā)相關(guān)工作至今有3年多了吧杭煎,總結(jié)一下自己理解的嵌入式軟件開發(fā)吧,有些方面因?yàn)樽龅牟欢嗫偨Y(jié)的也許不全面,見笑見笑挤聘。
嵌入式軟件開發(fā)主要包括以下幾類:
- 單片機(jī)開發(fā)
- Linux C/C++
- Linux 驅(qū)動(dòng) & 系統(tǒng)編譯
- Android 系統(tǒng)開發(fā)
主要需要的知識(shí)能力有:
-
單片機(jī)開發(fā)
- C語(yǔ)言
- 常用外設(shè)驅(qū)動(dòng)(GGPIO凉敲、UART衣盾、IIC、Timer等)
- 多任務(wù)系統(tǒng)爷抓、UCOS或任意RTOS
- 網(wǎng)絡(luò)知識(shí)势决,嵌入式TCP、IP協(xié)議棧蓝撇,LWIP協(xié)議棧果复、UIP協(xié)議棧
-
Linux C/C++
- C/C++
- Socket網(wǎng)絡(luò)編程
- 多線程、多進(jìn)程編程
-
Linux驅(qū)動(dòng) & 系統(tǒng)編譯
- Linux C/C++的能力
- Linux驅(qū)動(dòng)編寫渤昌、字符驅(qū)動(dòng)虽抄、Platform虛擬總線驅(qū)動(dòng),并在config里增加模塊
- Linux系統(tǒng)編譯独柑,系統(tǒng)裁剪迈窟,增加減少模塊,添加廠家提供的ko驅(qū)動(dòng)忌栅,增加新外設(shè)驅(qū)動(dòng)等
- Shell腳本編寫车酣,常用的操作寫成腳本,提高效率。
-
Android 系統(tǒng)開發(fā)
- Linux驅(qū)動(dòng) & 系統(tǒng)編譯知識(shí)
- Android系統(tǒng)編譯
- Android系統(tǒng)框架骇径,Linux Driver -> Android Hal
- JNI, C庫(kù)如何通過JNI給Java調(diào)用
-
其他擴(kuò)展知識(shí)
- TCP/IP 深入理解TCP/IP躯肌,未來(lái)包括現(xiàn)在已經(jīng)是互聯(lián)網(wǎng)時(shí)代網(wǎng)絡(luò)知識(shí)是必要的。
- HTTP破衔,了解HTTP協(xié)議并知道如何通過Socket實(shí)現(xiàn)HTTP下載文件清女,或者調(diào)用服務(wù)器的HTTP接口。
- 無(wú)線通信相關(guān)晰筛,藍(lán)牙協(xié)議嫡丙、Zigbee、WiFi等主流物聯(lián)網(wǎng)無(wú)線通信技術(shù)读第。
- 程序設(shè)計(jì)能力曙博,面向?qū)ο笤O(shè)計(jì) & 設(shè)計(jì)模式,C語(yǔ)言開發(fā)深入理解Linux Kernel中的面向設(shè)計(jì)思想是十分有必要的怜瞒,學(xué)習(xí)C語(yǔ)言中如何進(jìn)行面向?qū)ο笤O(shè)計(jì)
-
書籍推薦
推薦一些自己看過覺得不錯(cuò)的書吧父泳,有些也想不起來(lái)了。
- 代碼大全吴汪,對(duì)軟件開發(fā)方面總結(jié)的非常全面
- Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn), 短小精悍的Linux內(nèi)核書籍
- C語(yǔ)言深度解剖惠窄,總結(jié)里C語(yǔ)言的很多奇技淫巧,很多都挺實(shí)用的漾橙。
- C和指針
- C陷阱與缺陷
- C標(biāo)準(zhǔn)庫(kù)杆融,標(biāo)準(zhǔn)庫(kù)不需要了解的多細(xì),但是知道有哪些標(biāo)準(zhǔn)庫(kù)還是有必要的霜运。
結(jié)語(yǔ)
算是工作幾年的一點(diǎn)經(jīng)驗(yàn)吧脾歇,不算多全面,希望能對(duì)大家有所幫助淘捡。