不吹不黑!嵌入式開發有前途嗎?

嵌入式開發胖哥 發佈 2022-12-30T00:15:44.342802+00:00

說實話嵌入式開發之前被網際網路壓得太慘了,工資不如人家,也不夠人家「光鮮」。行業是有前途,但是一個人混的好不好,其實除了行業以外,個人能力占比更重。


絕對有前途!截圖為證↓微信聊天是我朋友圈一個好友分享的拿到的薪酬。

說實話嵌入式開發之前被網際網路壓得太慘了,工資不如人家,也不夠人家「光鮮」。但這種苦日子到頭了!嵌入式開發現在可以說是非常香。

微觀上看,現在工資在漲,而且相對網際網路沒那麼卷;宏觀上看物聯網、人工智慧、自動駕駛等嵌入式應用行業都在飛速發展。

行業是有前途,但是一個人混的好不好,其實除了行業以外,個人能力占比更重。紮實的技術基礎可以幫助我們有個高的起點,漲薪也更快。

嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和內容,導致工資要不上去

無償分享大家一個資料包,差不多150多G。裡面學習內容、面經、項目都比較新也比較全某魚上買估計至少要好幾十。點擊這裡找小助理0元領取:加微信領取資料

下面這個學習路線是我看了很多課程,問了不少前輩,整理的,你可以參考學習:

基礎部分

1. Linux基本操作:

只要會一些基本的操作就行了,不需要太深入的學習每一個命令,用到的時候會去搜索就行了。

需要掌握的知識如下:環境的搭建;Linux目錄結構;文件類型;基本目錄操作,文件操作,vim,ifconfig,ping,cd,cp,mv,mkdir等,最關鍵是gcc命令要會用;一些簡單的shell腳本;Makefile的編寫。

2. C語言:

不會寫代碼,就建議不要學Linux,否則職業後期全是瓶頸。學習C語言一定要學習Linux下C編程。

3. 數據結構:

數據結構很重要,但是在這個上面花太多時間,也是沒必要的。個人建議只要掌握幾個基本的排序和查找算法即可,沒必要把所有算法都研究一遍。能掌握常見的算法比如:冒泡排序、直接插入排序、快速排序、二叉樹等。鍊表操作,創建、增刪改查。

4. 基礎階段項目:

基礎階段,個人強烈建議一定要做一個綜合性項目,從0開始寫。用鍊表實現一個簡單的《電話本管理軟體》,包括增、刪、改、查、排序等操作,把所有的知識點融會貫通起來。

進階部分-Linux編程

1. 文件IO:

掌握pOSIx的一套api,open、read、write、lseek,close等。熟練寫出文件拷貝的功能模塊輸出。理解緩衝的概念。

2. 進程線程:

掌握常用的函數fork、exec族函數、pthread 等api;進程創建、回收,一個.c源文件變成可執行程序的過程;crontab、at命令;進程間通信:信號量、消息隊列、共享內存、管道、信號;線程創建,同步互斥,互斥鎖;守護進程;庫的概念,什麼是動態庫和靜態庫,如何自己製作動態庫和靜態庫。

3. 網絡編程:

tcp/IP協議分層以及每一層的功能;不要看OSI,只要知道即可;socket api的使用,tcp、udp;套接字屬性的設置;C/S架構;多進程、多線程伺服器模型;抓包工具使用;常見的網絡協議分析:ping、 tftp、 ftp 等;進階階段知識點很重要,即使以後你不做linux c開發,有了這些基礎,你再去學java、c++你的視野一定會不一樣。

4. 進階項目

該階段可以選擇綜合項目《多線程聊天室》,實現公聊、私聊、註冊登錄,互相發送文件等功能。

高階部分

該階段學習需要開發板配合,建議新手先把之前內容打紮實,再進入這個階段學習。開發板的選擇,最重要的是資料!沒有資料的板子不要買!

1. ARM:

arm架構、arm的模式、arm指令,尋址,異常,中斷,異常向量表,偽指令、C語言和彙編代碼的互相調用、內聯彙編;常見的外設的裸機驅動開發,led、key、adc、pwm、rtc、看門狗、i2c、spi等。這個階段的內容,對於了解整個計算機軟體的工作原理非常重要,Linux內核的很多機制都要依賴彙編指令,尤其ARM工作模式、尋址、異常,中斷,異常向量表這些概念。

2. 系統移植:

uboot移植、rootfs製作、內核剪裁移植,usb、網卡驅動移植,uboot、linux啟動流程,自己添加uboot命令。這一階段的內容對於嵌入式工程師來說,在做實際項目的時候,會經常用到,各個廠家的移植步驟會有所差異,但原理

關鍵字: