精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

幾個方面給大家描述一下嵌入式學習路線

strongerHuang ? 來源:嵌入式藝術 ? 作者:嵌入式藝術 ? 2022-11-18 09:40 ? 次閱讀


一前言

不定期會看到讀者問:

嵌入式要學習哪些內容?

有沒有推薦的學習路線或資料

······

本文就從下面幾個方面給大家描述一下嵌入式學習路線:

嵌入式基礎必備知識

51單片機

STM32單片機

小而美的RTOS

ARM+LINUX

在這個快節奏的時代,能靜下心,耐住性子看看文章,實屬不易。

二嵌入式基礎必備知識

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

那么對于嵌入式這條路線而言,如何建立一個穩固的根基?

2.1、學習內容

f4a7aa22-66d7-11ed-8abf-dac502259ad0.png

C語言基礎

該部分,主要包括幾個核心知識點:三大語法結構、常用的數據類型、函數、結構體、指針、文件操作等。

硬件基礎知識

該部分,核心知識點在于:電路基礎知識、數電模電基礎知識、常用的電子元器件等。

數據結構

核心知識點:數組、隊列、鏈表、堆棧、樹、圖、散列表等。

操作系統

核心知識點:進程管理、內存管理、文件管理、輸入輸出管理等。

計算機原理

核心知識點:數據表示和運算、存儲系統、指令系統、總線系統、中央處理器、輸入輸出系統等。

2.2、學習建議

對于C語言基礎學習,一定要重點熟練掌握,根基的牢固直接決定了我們的代碼質量。

對于硬件基礎學習,要適當了解,要能夠看懂一些簡單的電路結構,認識常用的電子元器件

對于數據結構學習,前五個是必備學習的,可能在剛開始學習的時候,可能會感覺不到作用在哪里,但是隨著接觸到嵌入式底層設計以及算法設計的時候,才會恍然大悟。

對于操作系統學習,重點學習其思想,對相關知識點有一個大概的了解,后續接觸到繼續重點學習,這些無論是RTOS,還是Linux,都有涉及到的。

對于計算機原理學習,可以將其看作是嵌入式系統的各個模塊的詳解,會讓你對嵌入式有一個整體的了解,每一個部分都值得深究。

2.3、學習資料

C語言基礎:推薦經典書籍《C語言程序設計》(第2版)譚浩強版本。

硬件基礎:大學里面的《數電模電》書籍所涉及的知識即可。

數據結構:推薦經典書籍《數據結構》——嚴蔚敏版。

操作系統、計算機原理:我用的是《王道》的系列叢書,個人感覺不錯。

計算機組成、數據結構、操作系統、數據庫是嵌入式或者說計算機的入門必讀書籍,并且也被列入高校教材內,是真正的基礎知識。

以上,不一定是全部看完才能體驗編程的樂趣,這個基礎是一個循序漸進的過程,也不是一朝一夕就能完成的,可以先有一個大概,后續做項目時,哪里不懂補哪里!

這里涉及到一個重要的學習方法:項目導向的學習法。

三嵌入式入門篇——51單片機

f4b5e236-66d7-11ed-8abf-dac502259ad0.png

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

入門篇,依舊推薦51單片機,當然有人會說,直接上STM32豈不更好?

我的看法:建議新手還是以51單片機來入門,因為STM32體系架構比51大很多,對于新手剛開始可能會不太容易適應。

3.1、學習內容

f4fe0f52-66d7-11ed-8abf-dac502259ad0.png

該部分,主要在最小嵌入式系統中,實現各種有趣的實驗。通過51單片機的學習,我們要做到:

軟件類:

主要知識點有:認識單片機、熟悉邏輯運算、點亮一顆LED燈、按鍵檢測、串口通信定時器、中斷等。

硬件類:

主要知識點有:電阻元器件了解,基本模塊電路了解,時鐘電路,嘗試繪制51單片機原理圖和PCB

3.2、學習建議

對于軟件類,我們主要做到:認識單片機,熟悉單片機的GPIO的輸入、輸出操作,串口通信協議掌握等,這些部分都是任何一款嵌入式設備的必備技能。

對于硬件類:我們主要做到:能看懂電路圖,熟悉一些簡單模塊的設計電路,了解Altium Designer的使用方法。

3.3、學習資料

51單片機:郭天祥的51單片機教程,經典著作,經久不衰,強烈推薦。

莊子說:“水之積也不厚,則其負大舟也無力。“

該部分,是嵌入式領域的基石,只有將基礎打牢,才能負得起Linux泰坦號。

四STM32進階篇

STM32是C51的進階版,擁有C51的基礎知識,開發STM32會得心應手。

STM32的系統架構以及硬件設計相比于C51來說,都是上升了一個維度的,這也是為什么我推薦入門學習C51的原因。

以STM32F407平臺為基礎,去學習目前嵌入式主流的一些技術,探尋底層的原理,做到不同平臺,都能夠得心應手。

4.1、學習內容

f5111e76-66d7-11ed-8abf-dac502259ad0.png

基礎練習

該部分,主要練習:點亮LED燈、GPIO的輸入輸出操作、中斷操作、UART通信、IIC通信等

進階練習

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

高階練習

該部分,主要學習:STM32時鐘架構、總線架構、電源管理、代碼框架、SDIO通信、USB通信等。

4.2、學習建議

對于基礎練習,主要目的是為了方便讓我們從C51到STM32環境的過渡。

對于進階練習,主要練習一些通信類相關的協議,可以結合一些傳感器進行開發。

對于高階練習,主要目的是為了熟悉單片機的設計架構,編程的框架,以及一些更復雜的通信技術

另外,STM32會有寄存器和庫函數兩個版本,建議交叉學習,理解會更加深刻。

4.3、學習資料

STM32單片機:推薦正點原子、野火的STM32F103或者STM32F407系列。

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

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

五小而美的RTOS

RTOS,實時操作系統,可以理解為STM32與Linux之間的橋梁,由于其實現思想大都取之于Linux,所以也稱之為精簡版的Linux。

我們常用的有實時操作系統有:UCOS,VxWork,FreeRtos,近些年RT-Thread也異軍突起。

學習這些簡單的嵌入式系統,一來能夠幫助我們為學習Linux操作系統打下基礎,二來也能夠擴寬我們的職業道路。

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

5.1、學習內容

f5205d64-66d7-11ed-8abf-dac502259ad0.png

實時系統學習

該部分,主要學習:移植Ucos系統、多任務管理、調度算法、消息隊列、信號量互斥量、事件、內存管理等。

5.2、學習建議

對于實時系統學習,除了上述的那些核心知識點外,還要結合2.1 基礎必備知識的操作系統書籍加深理解。

5.3、學習資料

RTOS的學習:依舊推薦正點原子,野火,因為這些實時操作系統開發,可以基于STM32開發板,同時也有非常詳細的文檔和視頻教學。

六ARM+Linux篇

學習完RTOS后,基本嵌入式所涉及的技術已經掌握一半了,你也可以獨立完成一些小的項目,也可以找到一個不錯的工作,但是一定不要自我滿足,有機會一定要接觸Linux。

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

Linux開發又分為驅動開發,內核開發,應用開發,每一個方向都需要幾年甚至幾十年的積累。

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

6.1、學習內容

f57920c0-66d7-11ed-8abf-dac502259ad0.png

Linux基礎篇

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

驅動篇

該部分主要學習:內核模塊編譯原理、字符設備驅動框架、平臺設備驅動、設備樹、Pinctrl子系統、I2C子系統、中斷子系統、塊設備驅動框架、Bootloader等

內核篇

該部分主要學習:系統調用、存儲管理、進程管理、內存管理、文件管理等。

應用篇

該部分主要學習:QT編程、TCP/IP協議、HTTP協議等。

6.2、學習建議

對于基礎學習,剛接觸到Linux,一般比較難上手,與之前的單片機完全不同,需要一個熟悉環境的過程。

對于驅動學習,重要在于明白“如何在Linux環境下編寫驅動程序”,驅動的底層原理還是那樣,加了一層層的框架,需要我們去熟悉。

對于內核學習,上述也是系統的幾大核心特色,重點在于"如何使Linux性能最優"

對于應用學習,上述的幾個方面也是基礎,重點還在于開發什么應用,去學習哪方面的知識,沒有定論。

對于Linux,有句老話“學習Linux,3年才算入門,5年才勉強算Linux工程師,對于不太熟悉的領域,博主也不敢妄加斷言。”

6.3、學習資料

對于基礎學習,推薦《鳥哥的Linux私房菜》,《Unix環境高級編程》等入門書籍。

對于驅動開發,推薦《Linux設備驅動開發詳解》,Linux內核源碼詳解等。

對于內核學習,推薦《Linux Shell腳本攻略》、《深入理解Linux內核》等。

對于應用開發,推薦《嵌入式Linux應用開發完全手冊》、《Unix網絡編程》等。

另外,推薦正點原子,野火,韋東山三個Linux開發教程,韋老師的課程好評居多,但還是看哪個更適合自己。

七總結

全文整體的學習路線:嵌入式基礎學習->51單片機->STM32單片機->RTOS篇->ARM+Linux

每一個部分,也都從學習內容,學習建議,學習資料三個方面來展開,層層深入,步步指引。

文章既是我的學習歷程,又結合了一些大佬的學習分享,不斷調整總結出來的,如有異同,歡迎留言討論。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5069

    文章

    19022

    瀏覽量

    303420
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    40094

原文標題:嵌入式要學習哪些內容?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式職業規劃雜談 如何學習與職業規劃

    ---本章為初學者介紹可能的職業發展路線,讓初學者對整個行業有所了解,對自身發展有所參考。 如何學習與職業規劃 仔細觀察一下周圍的電子設備,比如包里的手機,戴著的手環,開著的空調;家里的洗衣機
    的頭像 發表于 11-25 09:53 ?110次閱讀
    <b class='flag-5'>嵌入式</b>職業規劃雜談 如何<b class='flag-5'>學習</b>與職業規劃

    零基礎嵌入式開發學習路線

    嵌入式開發”沒有接觸過的同學可能會不明覺厲,但是只要你了解了,感興趣并且有個正確的學習路線的話,零基礎也能入門。
    發表于 10-25 15:55

    嵌入式學習建議

    對廣大渴望學習嵌入式系統的學子提出幾點基礎階段的學習建議: ①嵌入式系統軟件硬件密切相關,定要打好軟硬件基礎。其實,只要找到正確的方法,
    發表于 10-22 11:41

    嵌入式linux開發的基本步驟有哪些?

    之前,首先需要選擇合適的硬件平臺。硬件選擇需要考慮以下幾個方面: 1.1 處理器 嵌入式Linux開發需要個處理器,常見的處理器有ARM、MIPS、PowerPC等。選擇處理器時,需
    的頭像 發表于 09-02 09:11 ?403次閱讀

    AI普及嵌入式設計人員帶來新挑戰

    探討了人工智能(AI)的普及嵌入式設計人員帶來的新挑戰。在創建“邊緣機器學習(ML)”應用時,設計人員必須確保其能有效運行,同時最大限度地降低處理器和存儲開銷,以及物聯網(IoT)設備的功耗
    發表于 08-22 14:20 ?644次閱讀
    AI普及<b class='flag-5'>給</b><b class='flag-5'>嵌入式</b>設計人員帶來新挑戰

    嵌入式工控體機的安裝方法和使用注意事項?

    客戶咨詢嵌入式工控體機的安裝問題和維護問題,本文中為大家介紹一下嵌入式工控體機的安裝方法和使
    的頭像 發表于 08-04 11:12 ?1131次閱讀

    從菜鳥到大牛!嵌入式完整學習路線:STM32單片機-RTOS-Linux

    ?嵌入式系統是許多現代電子設備和智能系統的核心,掌握嵌入式系統,意味著能夠設計和開發更加智能化的產品。本文為所有想進入嵌入式領域的初學者提供個完整系統
    的頭像 發表于 07-23 16:11 ?3651次閱讀
    從菜鳥到大牛!<b class='flag-5'>嵌入式</b>完整<b class='flag-5'>學習</b><b class='flag-5'>路線</b>:STM32單片機-RTOS-Linux

    深度學習算法在嵌入式平臺上的部署

    隨著人工智能技術的飛速發展,深度學習算法在各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是個具有挑戰性的任務。本文將從
    的頭像 發表于 07-15 10:03 ?1193次閱讀

    嵌入式軟件設計的原則分享

    嵌入式軟件開發如果具有更好的閱讀性、擴展性以及維護性,就需要考慮很多因素。今天大家分享幾個嵌入式軟件設計的原則。
    發表于 02-25 10:54 ?658次閱讀
    <b class='flag-5'>嵌入式</b>軟件設計的原則分享

    大家講講嵌入式系統中I2C總線的時序

    I2C總線在嵌入式系統中很常見,今天就來給大家講講I2C總線的時序。
    的頭像 發表于 02-23 09:47 ?1571次閱讀
    <b class='flag-5'>給</b><b class='flag-5'>大家</b>講講<b class='flag-5'>嵌入式</b>系統中I2C總線的時序

    嵌入式學習步驟

    開發板上測試固件以及在實際設備上進行測試。 嵌入式系統的多樣化發展,它將更為廣泛地應用于各個領域,實現智能化、網絡化、自動化的目標。同時,隨著人工智能和機器學習技術的發展,嵌入式系統的智能化程度也將得到進
    發表于 02-02 15:24

    汽車嵌入式軟件的技能要求

    如果你希望開始在汽車嵌入式軟件領域的職業生涯,必須掌握符合行業需求的全面技能。下面是路線圖,列出了需要學習的關鍵技術和技能。
    的頭像 發表于 01-23 11:09 ?1590次閱讀
    汽車<b class='flag-5'>嵌入式</b>軟件的技能要求

    開發嵌入式產品需要注意哪些問題

    俗話說,只會寫代碼的工程師不是好的工程師,這句話不是沒有道理的,初學者可能不理解,但過來的老司機肯定知道。 款產品如果需要長期維護、銷售,肯定避免不少開發文檔。這里大家講述一下開發
    的頭像 發表于 01-17 10:37 ?357次閱讀

    嵌入式開發學習的十三法則分享

    嵌入式開發學習個不斷積累和總結的過程,來自嵌入式開發高級工程師為我們總結的關于嵌入式開發
    發表于 12-21 06:32

    嵌入式GUI開發特訓營”開營啦!是學霸就有獎拿,快來挑戰一下

    分分鐘與高手并肩! 說到嵌入式GUI,那可真是有太多的東西可以聊。在此開啟個系列話題,講述NXP的嵌入式圖形世界。今天為大家帶來第講:N
    的頭像 發表于 12-07 10:55 ?1056次閱讀
    “<b class='flag-5'>嵌入式</b>GUI開發特訓營”開營啦!是學霸就有獎拿,快來挑戰<b class='flag-5'>一下</b>!