中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
從方法到邏輯超詳細(xì)的嵌入式學(xué)習(xí)路線圖(《深入理解Linux內(nèi)核》和鳥哥的Linux私房菜)



人們常說:“人生就是一場(chǎng)游戲,我們要做的就是打怪、升級(jí)、通關(guān)”。對(duì)于學(xué)習(xí)嵌入式來說,其過程也是如此。

前言

最近看到APP上給我推送了很多類似的回答,借此機(jī)會(huì),也想著重新審視一下自己的學(xué)習(xí)歷程,以及結(jié)合自身和大牛,分享一些學(xué)習(xí)經(jīng)驗(yàn),希望能對(duì)大家有所啟發(fā)和幫助。

本文的主要目的:

  • 提供一張嵌入式學(xué)習(xí)路線地圖
  • 提供不同階段的學(xué)習(xí)建議
  • 推薦不同階段的學(xué)習(xí)資料

3000余字,耗時(shí)1周,建議收藏;碼字不易,如有幫助,慷慨三連。

本文將嵌入式學(xué)習(xí)路線分為幾個(gè)方面:

  • 嵌入式基礎(chǔ)必備知識(shí)
  • 51單片機(jī)
  • STM32單片機(jī)
  • 小而美的RTOS
  • ARM+LINUX

在這個(gè)快節(jié)奏的時(shí)代,能靜下心,耐住性子看看文章,實(shí)屬不易。

嵌入式基礎(chǔ)必備知識(shí)

老子曰:“合抱之木,生于毫末:九層之臺(tái),起于壘土;千里之行,始于足下”,根基的重要性不言而喻。

那么,對(duì)于嵌入式這條路線而言,如何建立一個(gè)穩(wěn)固的根基?

2.1、學(xué)習(xí)內(nèi)容

  • C語言基礎(chǔ)

該部分,主要包括幾個(gè)核心知識(shí)點(diǎn):三大語法結(jié)構(gòu)、常用的數(shù)據(jù)類型、函數(shù)、結(jié)構(gòu)體、指針、文件操作等。

  • 硬件基礎(chǔ)知識(shí)

該部分,核心知識(shí)點(diǎn)在于:電路基礎(chǔ)知識(shí)、數(shù)電模電基礎(chǔ)知識(shí)、常用的電子元器件等。

  • 數(shù)據(jù)結(jié)構(gòu)

核心知識(shí)點(diǎn):數(shù)組、隊(duì)列、鏈表、堆棧、樹、圖、散列表等。

  • 操作系統(tǒng)

核心知識(shí)點(diǎn):進(jìn)程管理、內(nèi)存管理、文件管理、輸入輸出管理等。

  • 計(jì)算機(jī)原理

核心知識(shí)點(diǎn):數(shù)據(jù)表示和運(yùn)算、存儲(chǔ)系統(tǒng)、指令系統(tǒng)、總線系統(tǒng)、中央處理器、輸入輸出系統(tǒng)等。

嵌入式物聯(lián)網(wǎng)需要學(xué)的東西真的非常多,千萬不要學(xué)錯(cuò)了路線和內(nèi)容,導(dǎo)致工資要不上去!

無償分享大家一個(gè)資料包,差不多150多G。里面學(xué)習(xí)內(nèi)容、面經(jīng)、項(xiàng)目都比較新也比較全!某魚上買估計(jì)至少要好幾十。

點(diǎn)擊這里找小助理0元領(lǐng)?。?/span>嵌入式物聯(lián)網(wǎng)學(xué)習(xí)資料(頭條)

2.2、學(xué)習(xí)建議

  • 對(duì)于C語言基礎(chǔ)學(xué)習(xí),一定要重點(diǎn)熟練掌握,根基的牢固直接決定了我們的代碼質(zhì)量。
  • 對(duì)于硬件基礎(chǔ)學(xué)習(xí),要適當(dāng)了解,要能夠看懂一些簡(jiǎn)單的電路結(jié)構(gòu),認(rèn)識(shí)常用的電子元器件。
  • 對(duì)于數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí),前五個(gè)是必備學(xué)習(xí)的,可能在剛開始學(xué)習(xí)的時(shí)候,可能會(huì)感覺不到作用在哪里,但是隨著接觸到嵌入式底層設(shè)計(jì)以及算法設(shè)計(jì)的時(shí)候,才會(huì)恍然大悟。
  • 對(duì)于操作系統(tǒng)學(xué)習(xí),重點(diǎn)學(xué)習(xí)其思想,對(duì)相關(guān)知識(shí)點(diǎn)有一個(gè)大概的了解,后續(xù)接觸到繼續(xù)重點(diǎn)學(xué)習(xí),這些無論是RTOS,還是Linux,都有涉及到的。
  • 對(duì)于計(jì)算機(jī)原理學(xué)習(xí),可以將其看作是嵌入式系統(tǒng)的各個(gè)模塊的詳解,會(huì)讓你對(duì)嵌入式有一個(gè)整體的了解,每一個(gè)部分都值得深究。

2.3、學(xué)習(xí)資料

  • C語言基礎(chǔ):推薦經(jīng)典書籍《C語言程序設(shè)計(jì)》(第2版)譚浩強(qiáng)版本。
  • 硬件基礎(chǔ):大學(xué)里面的《數(shù)電模電》書籍所涉及的知識(shí)即可。
  • 數(shù)據(jù)結(jié)構(gòu):推薦經(jīng)典書籍《數(shù)據(jù)結(jié)構(gòu)》——嚴(yán)蔚敏版。
  • 操作系統(tǒng)、計(jì)算機(jī)原理:我用的是《王道》的系列叢書,個(gè)人感覺不錯(cuò)。

計(jì)算機(jī)組成、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫是嵌入式或者說計(jì)算機(jī)的入門必讀書籍,并且也被列入高校教材內(nèi),是真正的基礎(chǔ)知識(shí)。

以上不一定是全部看完才能體驗(yàn)編程的樂趣,這個(gè)基礎(chǔ)是一個(gè)循序漸進(jìn)的過程,也不是一朝一夕就能完成的,初學(xué)者可以先有一個(gè)大概,后續(xù)做項(xiàng)目時(shí),哪里不懂再補(bǔ)哪里!

這里涉及到一個(gè)重要的學(xué)習(xí)方法:項(xiàng)目導(dǎo)向的學(xué)習(xí)法。

嵌入式入門篇——51單片機(jī)

在上面的基礎(chǔ)知識(shí)進(jìn)行熟悉之后(C語言基礎(chǔ)、計(jì)算機(jī)組成、硬件基礎(chǔ)必備),我們準(zhǔn)備叩開嵌入式世界的大門。

入門篇,依舊推薦51單片機(jī),當(dāng)然有人會(huì)說,直接上STM32豈不更好?

我的看法:建議新手還是以51單片機(jī)來入門,因?yàn)镾TM32體系架構(gòu)比51大很多,對(duì)于新手剛開始可能會(huì)不太容易適應(yīng)。

3.1、學(xué)習(xí)內(nèi)容

該部分,主要在最小嵌入式系統(tǒng)中,實(shí)現(xiàn)各種有趣的實(shí)驗(yàn)。通過51單片機(jī)的學(xué)習(xí),我們要做到:

  • 軟件類

主要知識(shí)點(diǎn)有:認(rèn)識(shí)單片機(jī)、熟悉邏輯運(yùn)算、點(diǎn)亮一顆LED燈、按鍵檢測(cè)、串口通信、定時(shí)器、中斷等。

  • 硬件類

主要知識(shí)點(diǎn)有:電阻元器件了解,基本模塊電路了解,時(shí)鐘電路,嘗試?yán)L制51單片機(jī)原理圖和PCB

3.2、學(xué)習(xí)建議

  • 對(duì)于軟件類,我們主要做到:認(rèn)識(shí)單片機(jī),熟悉單片機(jī)的GPIO的輸入、輸出操作,串口通信協(xié)議掌握等,這些部分都是任何一款嵌入式設(shè)備的必備技能。
  • 對(duì)于硬件類:我們主要做到:能看懂電路圖,熟悉一些簡(jiǎn)單模塊的設(shè)計(jì)電路,了解Altium Designer的使用方法。

3.3、學(xué)習(xí)資料

51單片機(jī):郭天祥的51單片機(jī)教程,經(jīng)典著作,經(jīng)久不衰,強(qiáng)烈推薦。

莊子說:“水之積也不厚,則其負(fù)大舟也無力?!?/span>該部分,是嵌入式領(lǐng)域的基石,只有將基礎(chǔ)打牢,才能負(fù)得起Linux泰坦號(hào)。

STM32進(jìn)階篇

STM32是C51的進(jìn)階版,擁有C51的基礎(chǔ)知識(shí),開發(fā)STM32會(huì)得心應(yīng)手。

STM32的系統(tǒng)架構(gòu)以及硬件設(shè)計(jì)相比于C51來說,都是上升了一個(gè)維度的,這也是為什么我推薦入門學(xué)習(xí)C51的原因。

以STM32F407平臺(tái)為基礎(chǔ),去學(xué)習(xí)目前嵌入式主流的一些技術(shù),探尋底層的原理,做到不同平臺(tái),都能夠得心應(yīng)手。

4.1、學(xué)習(xí)內(nèi)容

  • 基礎(chǔ)練習(xí)

該部分,主要練習(xí):點(diǎn)亮LED燈、GPIO的輸入輸出操作、中斷操作、UART通信、IIC通信

  • 進(jìn)階練習(xí)

該部分,主要練習(xí):DMA通信、SPI通信、CAN通信、LCD顯示屏,ADC

  • 高階練習(xí)

該部分,主要學(xué)習(xí):STM32時(shí)鐘架構(gòu)、總線架構(gòu)、電源管理、代碼框架、SDIO通信、USB通信等。

4.2、學(xué)習(xí)建議

  • 對(duì)于基礎(chǔ)練習(xí),主要目的是為了方便讓我們從C51到STM32環(huán)境的過渡。
  • 對(duì)于進(jìn)階練習(xí),主要練習(xí)一些通信類相關(guān)的協(xié)議,可以結(jié)合一些傳感器進(jìn)行開發(fā)。
  • 對(duì)于高階練習(xí),主要目的是為了熟悉單片機(jī)的設(shè)計(jì)架構(gòu),編程的框架,以及一些更復(fù)雜的通信技術(shù)。

另外,STM32會(huì)有寄存器和庫函數(shù)兩個(gè)版本,建議交叉學(xué)習(xí),理解會(huì)更加深刻。

4.3、學(xué)習(xí)資料

STM32單片機(jī):推薦正點(diǎn)原子、野火的STM32F103或者STM32F407系列。

兩家的學(xué)習(xí)資料都非常豐富,既有詳細(xì)的文檔說明,也有完整的學(xué)習(xí)視頻教程,非常適合新手入門學(xué)習(xí)。

俗話說:“有道無術(shù),術(shù)尚可求,有術(shù)無道,止于術(shù)”。要明白道和術(shù)的區(qū)別,不要本末倒置。

小而美的RTOS

RTOS,實(shí)時(shí)操作系統(tǒng),可以理解為STM32與Linux之間的橋梁,由于其實(shí)現(xiàn)思想大都取之于Linux,所以也稱之為精簡(jiǎn)版的Linux。

我們常用的有實(shí)時(shí)操作系統(tǒng)有:UCOS,VxWork,F(xiàn)reeRtos,近些年RT-Thread也異軍突起。

學(xué)習(xí)這些簡(jiǎn)單的嵌入式系統(tǒng),一來能夠幫助我們?yōu)閷W(xué)習(xí)Linux操作系統(tǒng)打下基礎(chǔ),二來也能夠擴(kuò)寬我們的職業(yè)道路。

前面也說過了,無論是UCOS、FreeRtos、Rt-thread,其內(nèi)部的設(shè)計(jì)思想大同小異,下面主要以Ucos為例。

5.1、學(xué)習(xí)內(nèi)容

  • 實(shí)時(shí)系統(tǒng)學(xué)習(xí)

該部分,主要學(xué)習(xí):移植Ucos系統(tǒng)、多任務(wù)管理、調(diào)度算法、消息隊(duì)列、信號(hào)量互斥量、事件、內(nèi)存管理等。

5.2、學(xué)習(xí)建議

  • 對(duì)于實(shí)時(shí)系統(tǒng)學(xué)習(xí),除了上述的那些核心知識(shí)點(diǎn)外,還要結(jié)合2.1 基礎(chǔ)必備知識(shí)的操作系統(tǒng)書籍加深理解。

5.3、學(xué)習(xí)資料

RTOS的學(xué)習(xí):依舊推薦正點(diǎn)原子,野火,因?yàn)檫@些實(shí)時(shí)操作系統(tǒng)開發(fā),可以基于STM32開發(fā)板,同時(shí)也有非常詳細(xì)的文檔和視頻教學(xué)。

ARM+Linux篇

學(xué)習(xí)完RTOS后,基本嵌入式所涉及的技術(shù)已經(jīng)掌握一半了,你也可以獨(dú)立完成一些小的項(xiàng)目,也可以找到一個(gè)不錯(cuò)的工作,但是一定不要自我滿足,有機(jī)會(huì)一定要接觸Linux。

還是那句話:ARM+Linux,也是最為復(fù)雜的東西,如果你不去接觸Linux,你永遠(yuǎn)不知道嵌入式的魅力。

Linux開發(fā)又分為驅(qū)動(dòng)開發(fā),內(nèi)核開發(fā),應(yīng)用開發(fā),每一個(gè)方向都需要幾年甚至幾十年的積累。

作為初學(xué)者,我們要做的就是宏觀了解,擴(kuò)大我們的知識(shí)面,然后去選擇自己感興趣的方面。

6.1、學(xué)習(xí)內(nèi)容

  • Linux基礎(chǔ)篇

該部分主要學(xué)習(xí):Linux常用命令、VIM學(xué)習(xí)Linux的Shell編程、Gcc編譯、Makefile等。

  • 驅(qū)動(dòng)篇

該部分主要學(xué)習(xí):內(nèi)核模塊編譯原理、字符設(shè)備驅(qū)動(dòng)框架、平臺(tái)設(shè)備驅(qū)動(dòng)、設(shè)備樹Pinctrl子系統(tǒng)、I2C子系統(tǒng)、中斷子系統(tǒng)塊設(shè)備驅(qū)動(dòng)框架、Bootloader

  • 內(nèi)核篇

該部分主要學(xué)習(xí):系統(tǒng)調(diào)用存儲(chǔ)管理、進(jìn)程管理、內(nèi)存管理、文件管理等。

  • 應(yīng)用篇

該部分主要學(xué)習(xí):QT編程TCP/IP協(xié)議、HTTP協(xié)議等。

6.2、學(xué)習(xí)建議

  • 對(duì)于基礎(chǔ)學(xué)習(xí),剛接觸到Linux,一般比較難上手,與之前的單片機(jī)完全不同,需要一個(gè)熟悉環(huán)境的過程。
  • 對(duì)于驅(qū)動(dòng)學(xué)習(xí),重要在于明白“如何在Linux環(huán)境下編寫驅(qū)動(dòng)程序”,驅(qū)動(dòng)的底層原理還是那樣,加了一層層的框架,需要我們?nèi)ナ煜ぁ?/span>
  • 對(duì)于內(nèi)核學(xué)習(xí),上述也是系統(tǒng)的幾大核心特色,重點(diǎn)在于'如何使Linux性能最優(yōu)'
  • 對(duì)于應(yīng)用學(xué)習(xí),上述的幾個(gè)方面也是基礎(chǔ),重點(diǎn)還在于開發(fā)什么應(yīng)用,去學(xué)習(xí)哪方面的知識(shí),沒有定論。

對(duì)于Linux,有句老話“學(xué)習(xí)Linux,3年才算入門,5年才勉強(qiáng)算Linux工程師,對(duì)于不太熟悉的領(lǐng)域,博主也不敢妄加斷言。

6.3、學(xué)習(xí)資料

  • 對(duì)于基礎(chǔ)學(xué)習(xí),推薦《鳥哥的Linux私房菜》,《Unix環(huán)境高級(jí)編程》等入門書籍。
  • 對(duì)于驅(qū)動(dòng)開發(fā),推薦《Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解》,《Linux內(nèi)核源碼詳解》等。
  • 對(duì)于內(nèi)核學(xué)習(xí),推薦《Linux Shell腳本攻略》《深入理解Linux內(nèi)核》等。
  • 對(duì)于應(yīng)用開發(fā),推薦《嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)》、《Unix網(wǎng)絡(luò)編程》等。
  • 另外,推薦正點(diǎn)原子,野火,韋東山三個(gè)Linux開發(fā)教程,韋老師的課程好評(píng)居多,但還是看哪個(gè)更適合自己。

總結(jié)

全文整體的學(xué)習(xí)路線:嵌入式基礎(chǔ)學(xué)習(xí) -> 51單片機(jī) -> STM32單片機(jī) -> RTOS篇 -> ARM+Linux

每一個(gè)部分,也都從學(xué)習(xí)內(nèi)容,學(xué)習(xí)建議,學(xué)習(xí)資料三個(gè)方面來展開,層層深入,步步指引。

本文既是我的學(xué)習(xí)歷程,又結(jié)合了一些大佬的學(xué)習(xí)分享,不斷調(diào)整總結(jié)出來的。如有異同,大家可以留言討論。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Arduino、arm、樹莓派、單片機(jī)四者有什么不同?
老嵌入式工程師,怎么不被歷史洪流沖走?
入坑嵌入式(stm32單片機(jī)方向)你所需要的秘籍寶典整理
循序漸進(jìn)學(xué)習(xí)嵌入式Linux開發(fā)
嵌入式相關(guān)開源項(xiàng)目、庫、資料
帶你學(xué)STM32單片機(jī),十本非常受歡迎的STM32圖書推薦
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服