點(diǎn)擊「科巖成果」關(guān)注,選擇「設(shè)為星標(biāo)」不迷路大家好,我是科巖。
首先跟大家說一聲抱歉,大家久等的嵌入式學(xué)習(xí)路徑,今天終于來了。
經(jīng)常有人問我,嵌入式該怎么入門,怎么學(xué)習(xí),怎么精通,怎么成為專家。我前思后想掏心掏肺,花了大概2周的時(shí)間,寫了這樣的一個(gè)成長路徑。
注意!本文又干又長,如果此時(shí)你無法抽出大約10分鐘時(shí)間,建議看個(gè)開頭,然后點(diǎn)個(gè)關(guān)注、收藏之后再(也不)看。
依然是用一個(gè)腦圖呈現(xiàn)給大家,文中會(huì)仔細(xì)講解腦圖中全部內(nèi)容。
如果想要一份高清版本,保存到電腦或手機(jī)里認(rèn)真學(xué)習(xí)(
吃灰),可以關(guān)注公眾號(hào)「科巖成果」后,回復(fù)「
單片機(jī)」下載。
圖片和腦圖的源文件都有提供。
閑話少說,正式接客。
首先如圖,
嵌入式學(xué)習(xí)路徑之單片機(jī)。
為什么單說單片機(jī)呢,因?yàn)槲矣X得嵌入式是一個(gè)比較籠統(tǒng)的概念,可以按處理器性能大致分成兩類。
性能低的比如51、stm32、arduino,這類設(shè)備一般用作開發(fā)比較便宜的產(chǎn)品,比如手環(huán)、插座、牙刷、小型玩具什么的,這樣的芯片資源有限,沒辦法運(yùn)行l(wèi)inux操作系統(tǒng);
還有一類是高性能的,像我們手機(jī)那種處理器,能運(yùn)行l(wèi)inux、安卓操作系統(tǒng)的,這類芯片一般用作開發(fā)比較貴的產(chǎn)品,像智能音箱、自動(dòng)售貨機(jī)、攝像頭、路由器等等。
這兩種性能不同的處理器都是嵌入式,但需要掌握的技術(shù)是有一定區(qū)別的,這期就先講低性能的,單片機(jī)的成長路徑,如果看完覺得不錯(cuò)記得關(guān)注,后面會(huì)再寫一篇嵌入式Linux的成長路徑。
依然是熟悉的4個(gè)階段,這是科巖獨(dú)創(chuàng)學(xué)習(xí)4階段,小菜雞、入門雞、進(jìn)階機(jī)、老司機(jī),也就是從入門到精通(入土)的幾個(gè)階段。
看完歡迎留言告訴我你在什么階段。
小菜雞
先從小菜雞開始,小菜雞就是一個(gè)純小白,就是你茫然無知什么都不懂。需要學(xué)習(xí)的有三個(gè)部分,
基礎(chǔ)概念、C語言基礎(chǔ)、單片機(jī)基礎(chǔ)。
如圖,基礎(chǔ)概念內(nèi)容如下:
你要知道單片機(jī)是什么;要知道MCU、RAM、ROM、IO引腳、中斷、定時(shí)器這些概念指什么;另外,常見單片機(jī)有8位、16位和32位的。
還要對(duì)電路板有概念,什么是原理圖,什么是PCB,這些硬件概念在小菜雞階段知道就行。
再然后是軟件,其實(shí)也就是運(yùn)行在單片機(jī)中的程序,我們也把它叫做固件。
有了硬件和軟件,就要把軟件安裝到硬件中執(zhí)行,這個(gè)過程叫做編譯、下載、運(yùn)行,一般會(huì)用到Keil、IAR、gcc等等工具。
我們?nèi)松袩浀絾纹瑱C(jī)的第一個(gè)程序一般是什么呢?
就是點(diǎn)燈,點(diǎn)燈其實(shí)就是嵌入式工程師的hello world,一般電路板上都有l(wèi)ed燈,LED燈點(diǎn)亮了,就說明這塊板子的硬件,包括電源、處理器、引腳等等是沒有問題的,還說明軟件的燒錄、運(yùn)行等一系列的步驟是沒有問題的。
板子是好的,才有后面的工作。
所以作為嵌入式工程師,一般也自稱為點(diǎn)燈工程師,>> 大家好我是點(diǎn)燈工程師,科巖 >_<
最后一點(diǎn),就是知道什么是嵌入式工程師,一般行業(yè)內(nèi)稱呼一名嵌入式工程師都是某某工。
比如你姓張,大家就會(huì)稱你為張公,姓李呢,就會(huì)叫你李公,像我呢,我姓老,不知道此刻看文章的你姓什么嘞?
工程師上班一般都在做什么呢?就是在畫板子,寫程序,調(diào)板子,燒板子。
你燒過板子么,反正我是燒過,特別好玩,直接冒煙,把我們上班的大樓都給整停電了,是不是很有趣。
嵌入式工程師的標(biāo)準(zhǔn)穿搭:黑框眼鏡,格子衫,黑色或者灰色的雙肩包。非常典型,工作經(jīng)驗(yàn)一般可以通過發(fā)際線的高低做判斷。
對(duì)單片機(jī)程序有概念之后,就要學(xué)習(xí)C語言了。
這里寫了三點(diǎn),參考c語言路徑圖;達(dá)到小菜雞水平就可以上手單片機(jī);最好是能達(dá)到進(jìn)階機(jī)。
這是什么意思呢,之前我做過一個(gè)C語言的學(xué)習(xí)路徑圖,也是分成了4個(gè)階段。
小菜雞是基礎(chǔ)就是學(xué)C語言的語法;入門雞算是培養(yǎng)興趣可學(xué)可不學(xué);進(jìn)階機(jī)比較高級(jí),數(shù)據(jù)結(jié)構(gòu)、算法、網(wǎng)絡(luò)、linux都該學(xué)了,最好能到這個(gè)水平;老司機(jī)就不強(qiáng)求了,可以后面再學(xué)。
我就不詳細(xì)展開了,這個(gè)如果想詳細(xì)的去看的話,可以看下面這篇文章,如果想要腦圖也可以到「科巖成果」下載。
C語言從小菜雞到老司機(jī)
有了C語言基礎(chǔ),接下來就是一些單片機(jī)的基礎(chǔ)了。
首先要選一款學(xué)習(xí)資料豐富的mcu,建議直接選STM32,資料非常豐富,如果有任何問題查資料基本都能找到答案,對(duì)初學(xué)者來說非常友好
接著就要寫代碼了,我們的程序一般是通過
輪詢,或者定時(shí)器,或者中斷這三種方式來進(jìn)行觸發(fā),要學(xué)會(huì)編寫這三種方式的代碼。
接下來是外設(shè),單片機(jī)存在的意義是什么呢?
其實(shí)就是通過外設(shè),可能是鍵盤也可能是傳感器,這種輸入類型的外設(shè),輸入一定的數(shù)據(jù),進(jìn)行處理再通過輸出類型的外設(shè),可能是顯示屏,輸出一定的結(jié)果。
在小菜雞階段要學(xué)習(xí)使用各種常見的外設(shè),LED燈、蜂鳴器、鍵盤還有IO引腳,這都是最基礎(chǔ)的。
還要學(xué)習(xí)這3種很常見的串行口,uart、spi、i2c,要掌握通信協(xié)議的設(shè)計(jì)和編解碼的處理,很多傳感器就是通過固定的協(xié)議與單片機(jī)通信,另外單片機(jī)再和其他單片機(jī)、PC機(jī)等設(shè)備通信時(shí)都會(huì)用到協(xié)議編解碼。
接著要學(xué)習(xí)一些調(diào)試手段,比如說Keil和IAR軟件的調(diào)試功能。都挺簡單的,如果程序有問題,可以用調(diào)試手段來查查內(nèi)存、某個(gè)變量的值,排查問題。
小菜雞最后,要做幾個(gè)簡單的實(shí)踐。
我列出來兩個(gè),一個(gè)是測(cè)距,可以用紅外或者是超聲傳感器來做。
另外一個(gè)實(shí)踐是,可以讀一些傳感器的數(shù)據(jù),比如溫濕度、人體檢測(cè),把數(shù)據(jù)顯示在屏幕上。
小菜雞階段結(jié)束后,你就可以做些簡單的小項(xiàng)目。菜雞學(xué)習(xí)時(shí)間呢,大概兩周左右就可以了。
入門雞
接下來就來到了入門雞階段,有這么幾個(gè)部分:單片機(jī)高級(jí)部分,學(xué)習(xí)電路板知識(shí),再做幾個(gè)復(fù)雜點(diǎn)的實(shí)踐小項(xiàng)目。
先看單片機(jī)的高級(jí),包括這些內(nèi)容:
寫代碼要有一定的規(guī)范,包括縮進(jìn)、注釋、變量和函數(shù)的命名等等,要按規(guī)矩寫。
入門雞階段,項(xiàng)目中要用一些基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)了,不要全局變量和flag滿天飛;還要學(xué)些基礎(chǔ)的算法,主要的就是排序和查找。
接著要會(huì)用狀態(tài)機(jī)編寫稍復(fù)雜的程序,小菜雞學(xué)會(huì)的輪詢、定時(shí)器、中斷只能做些簡單的程序,復(fù)雜點(diǎn)程序就要有結(jié)構(gòu)進(jìn)行控制了,狀態(tài)機(jī)是比較好的一種代碼框架,要理解狀態(tài)機(jī)的原理、編寫的手法。
再復(fù)雜點(diǎn)的程序,就得上操作系統(tǒng)了,學(xué)會(huì)使用嵌入式實(shí)時(shí)操作系統(tǒng),也就是RTOS,要了解它們的任務(wù)、鎖、信號(hào)量和消息隊(duì)列是怎么使用的。
如果做和物聯(lián)網(wǎng)相關(guān)的項(xiàng)目,就要編寫網(wǎng)絡(luò)相關(guān)的程序,得會(huì)寫socket程序,調(diào)用socket接口收發(fā)tcp/udp/mqtt的數(shù)據(jù)。
單片機(jī)聯(lián)網(wǎng)一般會(huì)用到無線模塊,可以通過串口透傳或者AT指令控制模塊,比如Wifi、藍(lán)牙、ZigBee等等傳輸數(shù)據(jù)。
很多項(xiàng)目中的單片機(jī)是需要用電池的,電池容量有限,所以要學(xué)會(huì)編寫低功耗的程序,比如控制單片機(jī)睡眠、停機(jī)、待機(jī),還有低功耗如何測(cè)試、有哪些指標(biāo)衡量功耗的高低,都要掌握。
第二部分,要學(xué)習(xí)看電路板了。
得能看懂簡單的原理圖和PCB就行。
最后,入門雞的實(shí)踐:
我建議做一個(gè)物聯(lián)網(wǎng)設(shè)備,連接某個(gè)云平臺(tái)。
阿里云、騰訊云、百度云,都可以連,他們都有物聯(lián)網(wǎng)的接入平臺(tái),接入后,設(shè)備要與平臺(tái) APP打通。
比如做一個(gè)聯(lián)網(wǎng)的溫濕度采集器,可以在APP上看到設(shè)備從傳感器讀取數(shù)據(jù),也可以做一個(gè)聯(lián)網(wǎng)的智能插座或者智能燈,通過APP來控制它的開關(guān)。
入門雞要花一定的時(shí)間,可能是你工作個(gè)一年后到三年之間的這樣的一個(gè)狀態(tài),會(huì)靈活的使用以上的這些軟件接口與硬件器件,時(shí)間久了就可以編寫復(fù)雜的程序,做復(fù)雜的項(xiàng)目了。
進(jìn)階機(jī)
接下來是進(jìn)階機(jī)階段,這個(gè)階段要學(xué)習(xí)的東西不但變多了,還更深入了。
我把進(jìn)階機(jī)的學(xué)習(xí)范圍分成2大部分,一部分叫“通用內(nèi)功”,就是幾乎哪個(gè)行業(yè)都通用的東西,學(xué)會(huì)內(nèi)功,才能以不變應(yīng)萬變;另一部分叫“獨(dú)門絕技”,指的是某一個(gè)細(xì)分領(lǐng)域的專業(yè)技術(shù)知識(shí),學(xué)會(huì)了至少不用擔(dān)心失業(yè)。
咱們先看通用內(nèi)功,首先是最上層,嵌入式實(shí)時(shí)操作系統(tǒng)源碼的學(xué)習(xí),我建議學(xué)習(xí)FreeRTOS、RT-Thread、μC/OS這三個(gè)比較常用的嵌入式系統(tǒng)。
入門雞階段是
會(huì)用RTOS,進(jìn)階機(jī)就要學(xué)習(xí)任務(wù)、鎖、信號(hào)量
怎么實(shí)現(xiàn)了。
接下來是網(wǎng)絡(luò)源代碼的學(xué)習(xí),同樣的,在入門雞階段是會(huì)用網(wǎng)絡(luò)接口,進(jìn)階機(jī)就要學(xué)習(xí)如何實(shí)現(xiàn)了。
我們可以通過lwip這樣的輕型協(xié)議棧源碼來學(xué)習(xí)TCP或者UDP,mqtt是物聯(lián)網(wǎng)傳輸?shù)膮f(xié)議,HTTP是WEB的常用協(xié)議,圖中這幾個(gè)源碼都是可以直接學(xué)習(xí)的。
然后是模塊的二次開發(fā),模塊二次開發(fā)指的是基于無線模塊直接做編碼,而不是通過MCU進(jìn)行控制。
這樣可以減少一顆MCU主控芯片的使用,節(jié)約硬件成本,畢竟咱們硬件行業(yè)成本第一??!
接著可以學(xué)習(xí)對(duì)代碼性能進(jìn)行優(yōu)化,我列出了4種方式,這些都可以了解,有的項(xiàng)目有特殊的需求,咱們就要知道怎么優(yōu)化。
下面是代碼的可移植性,其實(shí)也是按照一定的規(guī)范編寫代碼,我也是列出了4點(diǎn)。
如果寫代碼時(shí)習(xí)慣考慮代碼的可移植性,那你寫的代碼也能很容易的移植到不同平臺(tái)。有時(shí)我們做一款產(chǎn)品,產(chǎn)品升級(jí)了或者更換了硬件芯片,之前代碼移植性好的話,可以很快替換成新平臺(tái)。
然后是編譯和鏈接的腳本,要學(xué)習(xí)C語言代碼是如何編譯成機(jī)器指令,機(jī)器指令又是如何在芯片中進(jìn)行組織的。
代碼編譯完會(huì)進(jìn)行鏈接,要指定加載地址、指定代碼段、數(shù)據(jù)段地址,這個(gè)也是有些特殊的產(chǎn)品需要人工設(shè)置。
除了C語言,還要掌握幾種其他編程語言,Python、lua、shell都建議學(xué)學(xué)。
學(xué)會(huì)了C語言,這些語言其實(shí)都不怎么用學(xué),看看語法就能上手寫,我們經(jīng)常用這類語言處理有規(guī)律的文本、處理二進(jìn)制固件,方便快捷。
后面三個(gè)是學(xué)習(xí)底層知識(shí),首先要學(xué)會(huì)看芯片手冊(cè),通過芯片手冊(cè)能學(xué)到太多東西了。
在工作的過程中會(huì)遇到各種各樣的芯片,可能會(huì)有一些比較少見的特殊芯片,沒有封裝成C語言的庫,或者某些不常用的功能芯片提供的庫沒有封裝,這時(shí)你就要通過操作寄存器直接控制它們。
芯片手冊(cè)第一次看肯定看不懂,這個(gè)也需要花時(shí)間,時(shí)間久了,看得多了自然就懂了。
而且每個(gè)芯片的芯片手冊(cè)套路、結(jié)構(gòu)都差不多,看懂一個(gè),基本其他也都懂了,所以大家不用擔(dān)心。
再往下一層就是匯編指令集,單片機(jī)arm的體系結(jié)構(gòu)居多,應(yīng)當(dāng)學(xué)一下arm的指令集,比如說Cortex M系列的核,它有37個(gè)寄存器,要了解它的一些常見匯編指令。能看懂,能夠編寫簡單的程序就可以了。
最后再下一層就是電子學(xué)了,要學(xué)模電和數(shù)電的知識(shí),電壓電流,電阻電容,半導(dǎo)體二極管等等,都要知道它們是干嘛的,接著門電路、CPU、存儲(chǔ)器的電路是怎么設(shè)計(jì)的,知道理論就可以了。
上面這些知識(shí)都是內(nèi)功心法,無論做哪個(gè)行業(yè),只要和硬件打交道,都能用得上,是咱吃飯的家把什。
下面再看看獨(dú)門絕技都有啥,獨(dú)門絕技就是能讓咱們吃的爽,吃的久。
首先是通信協(xié)議棧的開發(fā),比如PHY層、MAC層、空口各層協(xié)議的開發(fā),像Wifi、4G、5G都有類似的開發(fā)需求、崗位,現(xiàn)在5G這么火,如果你能參與開發(fā)一個(gè)5G模組,那就非常厲害了!
下面是算法,算法這個(gè)分支也是一個(gè)比較專業(yè)性的分支,我列出了一些咱們單片機(jī)上可以跑的算法,濾波、姿態(tài),慣導(dǎo),PID,還有slam算法,有些是做可穿戴設(shè)備需要的,有些是無人機(jī)、無人車需要。
做算法是有很高門檻的,基本都研究生起步,如果你沒有讀研究生,或者讀了但對(duì)數(shù)學(xué)沒興趣,建議還是不要去搞算法了。
我學(xué)歷就是個(gè)普通小本科,算法這方面簡直是個(gè)白癡,不懂。算法是真的牛,算法yyds!
接下來是安全,這個(gè)我不知道有沒有人了解,也是個(gè)細(xì)分領(lǐng)域。包括芯片安全,網(wǎng)絡(luò)安全。
比如為數(shù)據(jù)加個(gè)密再存儲(chǔ)、比如給固件簽個(gè)數(shù)字簽名再燒錄到芯片,這都是安全工程師需要設(shè)計(jì)和考慮的。
未來萬物互連,越來越多的家電產(chǎn)品,甚至汽車也都能用手機(jī)控制。所以,嵌入式、物聯(lián)網(wǎng)的安全不能忽略。
再后面是FPGA設(shè)計(jì),學(xué)習(xí)編寫Verilog HDL語言,學(xué)會(huì)用硬件描述語言設(shè)計(jì)組合邏輯電路和時(shí)序邏輯電路,這也是一個(gè)比較細(xì)的一個(gè)分支,專業(yè)性非常強(qiáng)。
學(xué)習(xí)了FPGA之后呢,還可以再學(xué)習(xí)下設(shè)計(jì)CPU,包括流水線,取指、譯碼、執(zhí)行,總線,中斷異常等等這些硬件的設(shè)計(jì),這已經(jīng)非常非常底層了。
為什么嵌入式工程師要學(xué)習(xí)FPGA或者設(shè)計(jì)CPU呢?
我覺得這是底層原理,會(huì)底層的原理,解決上層的問題會(huì)思路更開闊,好比你明白TCP的原理,那如果HTTP出了問題,你會(huì)更容易解決。
好,以上就是進(jìn)階機(jī)階段需要學(xué)習(xí)的東西了,此刻的你覺得興奮還是覺得可怕?
如果掌握了這些呢,工作中遇到的任何技術(shù)問題,基本上沒有你解決不了的了。
進(jìn)階機(jī)階段,一般是工作至少5年吧,5年8年10年都有可能。想要理解和掌握,既需要不斷的學(xué)習(xí)理論知識(shí),也需要積累實(shí)踐經(jīng)驗(yàn)。
進(jìn)階機(jī)到此結(jié)束,馬上就要迎來最后一個(gè)階段,老司機(jī)階段。
讓我們來一起揭開老司機(jī)的神秘面紗吧。
老司機(jī)
老司機(jī)階段,分了4個(gè)部分,技術(shù)、管理、行業(yè)、公司。
到了老司機(jī)階段,你不單單是一個(gè)懂技術(shù)的人了,還要懂管理、懂行業(yè)。
仍然可以繼續(xù)學(xué)習(xí)技術(shù),可以學(xué)一些橫向的技術(shù)擴(kuò)展,比如上位機(jī)、APP的編寫;測(cè)試工具、測(cè)試流程的學(xué)習(xí);有興趣可以學(xué)學(xué)Matlab仿真。
如果喜歡畫板子,可以多畫畫PCB;愿意做設(shè)計(jì),也可以學(xué)學(xué)工業(yè)設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)這些知識(shí)。
那么管理呢,包括了這些內(nèi)容:
可以邊帶團(tuán)隊(duì)邊學(xué)習(xí)管理知識(shí),要依靠團(tuán)隊(duì)的力量實(shí)現(xiàn)你想實(shí)現(xiàn)的產(chǎn)品或者功能。
你還要有一定的行業(yè)認(rèn)知,就是你要懂行業(yè),我大概總結(jié)了幾個(gè)
單片機(jī)涉及到的行業(yè):
不要把目光集中在手上開發(fā)板的一畝三分地兒,要關(guān)注行業(yè)的市場空間,是否處在上升期。
要努力成為某個(gè)行業(yè)的專家,行業(yè)的專家,行業(yè)的專家!
什么是行業(yè)的專家?舉個(gè)例子,如果你在醫(yī)療行業(yè),那你就要懂些醫(yī)療方面的知識(shí)。
比如做個(gè)血糖儀,要學(xué)習(xí)血糖對(duì)人體有什么作用、正常血糖值是什么范圍,還要懂一個(gè)血糖儀是怎么設(shè)計(jì)、生產(chǎn)的,都有哪些人參與,客戶是哪些人,他們?cè)谀模ㄟ^什么樣的方式或者渠道能把產(chǎn)品賣給他們,有沒有什么行業(yè)潛規(guī)則。
大家現(xiàn)在聽我這么說可能覺得很難,但其實(shí)沒多難,你如果喜歡一個(gè)行業(yè),那就去那個(gè)行業(yè)干幾年,稍微用點(diǎn)心,都不用太久,慢慢就不知不覺都學(xué)會(huì)了。
老司機(jī)的最后一點(diǎn)就是公司了,我列了整個(gè)電子行業(yè)上下游的產(chǎn)業(yè)鏈出來:
從最上層的芯片原廠再到中間的模組廠傳感器廠、操作系統(tǒng)、云平臺(tái)、運(yùn)營商,最后是B端或C端的硬件廠商,或者是集成商或者渠道商。
無論哪種類型的公司,都會(huì)有嵌入式工程師的需求。
作為一個(gè)老司機(jī)的你,應(yīng)該了解你們行業(yè)中頭部、腰部、尾部的公司,了解他們的商業(yè)模式,他們的生存狀態(tài),了解同行在做什么產(chǎn)品,都有哪些業(yè)務(wù),為什么開展這些業(yè)務(wù),這是一個(gè)老司機(jī)應(yīng)該懂的。
這些行業(yè)認(rèn)知和公司認(rèn)知,都是需要在多年的從業(yè)中,摸爬滾打獲得的,這些經(jīng)驗(yàn)在哪本書或哪篇文章中都是學(xué)不到的。
end
以上就是整個(gè)腦圖的全部內(nèi)容了,看到這一定又有人會(huì)說我在
勸退了。
這亂七八糟的學(xué)科知識(shí)都需要學(xué),一看就頭大,一看就不想學(xué),好,那么請(qǐng)問啊,你是想學(xué)哪種知識(shí)呢?有什么知識(shí)學(xué)會(huì)了就不用怎么動(dòng)腦,躺著就能數(shù)錢的,也教教我。
坦白說,我真的沒有在勸退。
剛剛畢業(yè)的我們參加工作,一定要樹立一個(gè)正確的職業(yè)觀。
沒有誰的人生是簡簡單單的,也沒有誰的職業(yè)生涯是輕松加愉快的。
既然一定是要去做一個(gè)職業(yè),那就不論是嵌入式還是大家知道的其他的,后端呀,Java呀,PHP啊,Python啊, 這些所有的語言,所有的知識(shí),你都是需要一個(gè)這樣的一個(gè)成長階段的。
如果最開始就樹立著一個(gè)長遠(yuǎn)目標(biāo),就朝著老司機(jī)這樣的方向去邁進(jìn),有一個(gè)指引,我相信你會(huì)非常明確的,你會(huì)獲得一段成功的職業(yè)生涯和難忘的人生經(jīng)歷。
人的一生何其短暫,職業(yè)生涯多說不過40年,我希望,當(dāng)你退休、回首往事的時(shí)候,不會(huì)因?yàn)樘摱饶耆A而悔恨,也不會(huì)因?yàn)槁德禑o為而羞愧。
全文完。如果對(duì)你有啟發(fā)有幫助,求贊、求在看、求轉(zhuǎn)發(fā),讓更多的兄弟看到。
后面我還會(huì)再出一期嵌入式linux的學(xué)習(xí)路徑,主要講Linux系統(tǒng)工程師的,歡迎大家關(guān)注起來。
到這了,大家再見!
---------------END---------------