從事嵌入式開發年限越久,越發現這個領域知識的無窮無盡。當然了,這并不意味這你得花三五年才能學會,如果僅僅是想找到一份這個領域的工作,三五個月的時間,進行有針對性的學習,也是完全可以達到的。而這個文章,帶給各位小伙伴的就是一份具體可實操的自學路線。
無論是跨行自學、還是科班學生,都非常容易上手。
所以在思考怎么自學嵌入式前,我們要了解一個問題,
首先,什么是嵌入式開發?
從產品形態來分:
.在裸機產品上進行的開發
.在實時操作系統產品上進行的開發
.在Linux/Android系統上進行的產品開發
從開發角度來分:
.在單片機寄存器或庫進行的開發
.在soc片上進行的開發
.系統層面的開發
.驅動層面的開發
.應用層面的開發
一個電子產品從裸機、系統、驅動到應用層面,都需要嵌入式程序員對該模塊進行開發定制。
然后,嵌入式開發的前輩目前都在哪些企業?
.通用芯片原廠:ST、TI、RK、全志、NXP、MTK、展銳、海思、高通等等
.射頻芯片原廠 :Nordic、樂鑫 、瑞昱等等
.SOC模組廠商:移遠、廣和通、中移動、中興物聯等等
.智能硬件產品:小米&小米生態鏈企業、華為、oppo、DJI等等
.商業&工業:??怠⒋笕A、大族、優必選、訊飛等等
.物聯網平臺:涂鴉、中移動、機智云 等等
.互聯網廠家:一線大廠都有硬件相關的事業部
以上這些企業里,有哪些嵌入式的崗位呢?
.單片機開發工程師
.嵌入式開發工程師
.藍牙開發工程師
.音頻開發工程師
.終端開發工程師
.系統開發工程師
.電子開發工程師
.c開發工程師
.wifi開發工程師
.zigbee開發工程師
.sdk開發工程師
.固件開發工程師
.驅動開發工程師
.相機開發工程師
.飛控開發工程師
.視頻開發工程師
.智能硬件開發工程師
.物聯網開發工程師
.Linux開發工程師
.Android系統開發工程師
FYI:所以找工作時不要只搜索嵌入式開發啦,上面的崗位都可以搜索的。
所以,嵌入式開發需要哪些技能?
1.扎實的C語言基礎
2.熟練掌握數據結構
3.熟悉實時操作系統
4.了解Linux常用指令
5.能熟練應用某款單片機/SOC,了解常用外設驅動的開發
6.Linux/Android系統、驅動設備樹相關開發、移植
7.能看懂原理圖、了解調試設備、有與硬件配合開發、Debug經驗
8.有企業級的項目開發經驗,對某個模塊的優化有進行過深度思考,并把思考點落地到項目中去
FYI:顏色越深就越重要~
那么,如何學會這些技能?
希望對你而言這是一個價值999圓的回答。
.*個30天:C語言、數據結構、操作系統+節點項目
.第二個30天:單片機&外設、實時操作系統RTOS+節點項目
.第三個30天:Linux/Android系統、驅動開發了解+節點項目
.*后9天:優化簡歷、刷筆試題、學會面試技巧
學習路線如下(視頻教程有需要的關注我自取):
1、C語言基礎(15天)-節點:寫個貪食蛇游戲、寫個學生管理系統
C 語言*好的入門書: C Primer Plus(第6版)(中文版)
2、數據結構(10天)-節點:模仿實現google自測框架、zlog日志框架
數據結構:大話數據結構
3、操作系統初步了解(5天)-節點:了解系統、內存、線程、進程、通訊機制
3、單片機(20天)-節點:實現裸機項目
4、rtos(10天)-節點:做個物聯網項目
5、linux-c高級編程(10天)-節點:做個智能音箱、IP攝像頭、智能網關
6、linux 系統&驅動編程(20天)
7、實戰項目&開源框架資源(10天)
包含OS、庫&開源框架、GUI、物聯網智能家居、項目實例等
8、工作的技能和經驗,硬核干貨,匯總篇(5天)
*后,任何一門*的學習,都是需要投入足夠多的時間和經歷的,所以專注和堅持很重要。
開始學習的*好時機,就是現在。
我也是培訓老師,嘿嘿,先找我拿一份入門的全套資料自學看看吧,我把順序和難易程度都標住了,看完了覺得還想進階可以買我們的課。