嵌入式如何入門

2021-08-08 16:10:19 字數 1370 閱讀 1057

進入嵌入式的大門1年左右。。。其中的辛酸只有自己能夠體會,以下是自己的一些體會,希望能幫助到想從事嵌入式開發的人。

首先,這個行業現在比較流行的大專案方向:路由器、dtv、手機和更深入的智慧型作業系統。

其次,如果你不是對嵌入式很有興趣,我覺得你應該換方向。這個高薪的行業,必然造就你多的付出。請各位先想清楚。

ps:不知道為什麼這個版塊都是些講微控制器的東西,我覺得版主應該自己在乙個簡單的完整的開發板上進行講解,這個大家應該能早日進入嵌入式。有微控制器的基礎是好,但是現在的開發板或者是實際的專案的板子無非就是在微控制器的基礎上加上了控制器,再就是多上乙個作業系統,直接用開發板講解最好。

個人的一點建議。希望能考慮考慮。

然後再說說具體的方向:

1、bootloader也就bsp的開發

這個主要從device上電到kernel啟動的方向,主要包括:nandflash、sd、norflash、memory、uart、lcd、net的驅動開發。

2、kernel development

這個就要看你的有哪些裝置了,根據不同的裝置來寫驅動。

其實大家會說這個2個都是些驅動有什麼不一樣,其實差別很大,在bootloader的時候沒有作業系統,mmu也沒有開啟,這個時候你可以直接去操作裝置的實體地址,而kernel啟動後則會使用虛擬位址進行訪問,這就需要位址對映,還有電源管理你也需要來想方設法讓你的裝置節能等等。但是驅動的架構基本都是一樣

如果是你乙個新人,我建議你的學習線路是:

1、先裝乙個linux os將各種常用的命令玩熟:比如grep、find等等

2、學習c語言。

3、arm體系結構(主要看program model)和彙編,由於現在大部分都是用arm,所以建議學習arm的彙編。這裡還要學習作業系統,發現現在的大學對所以的頁式虛擬儲存技術都不甚了解。大家最後去了解下,arm是2級對映,x86是3級對映。

4、從彙編的角度看c語言。

5、研究下編譯原理,也可以說toolchain工具鏈。如果進行交叉編譯。

6、自己構建乙個嵌入式系統。

7、git 1種bootlaoder如u-boot或者g-bios,如果學習我建議看g-bios。主要看整個的架構,然後自己看你想看的驅動是如何寫的

關於驅動如何看,你需要先去了解platform匯流排驅動。這是由於這個匯流排是虛擬的,他能解決裝置與驅動的匹配的問題,而且各種驅動都是往其上註冊的,然後就應該去看看你的device的規範,包括物理組織方式、硬體架構。然後再去看bootlader裡面的驅動是如何來編寫的,一般一類裝置都有乙個子系統,你需要看懂子系統。

看完後自己從kernel裡面把那個module不要編譯進去,自己寫乙個進行載入測試。

覺得這麼寫肯定還有很

多東西遺漏,這裡只是希望給大家乙個方向!~

祝大家早日步入高薪的行業,thx!

嵌入式入門

微控制器原理及接 術 微機原理及接 術 c語言 資料結構與演算法 作業系統原理 編譯原理 一 嵌入式系統的概念 著重理解 嵌入 的概念 主要從三個方面上來理解。1 從硬體上,將基於cpu的處圍器件,整合到cpu晶元內部,比如早期基於x86體系結構下的計算機,cpu只是有運算器和累加器的功能,一切晶元...

嵌入式總結

什麼叫嵌入式系統 以應用為中心 以計算機技術為基礎 軟體硬體可裁剪 適應應用系統對功能 可靠性 成本 體積 功耗嚴格要求的專用計算機系統。什麼叫嵌入式處理器?嵌入式處理器分為哪幾類?嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。分為四類 1 嵌入式微處理器 embedded micropr...

嵌入式總結

第三部分 arm處理器特點。功耗低 成本低 效能高 支援thumb 16位 arm 32位 雙指令集 cortex支援thumb 2 16 32位混合指令系統 指令長度固定 32位 16位 大量使用暫存器,指令執行速度更快,都可用於多種用途 定址方式靈活簡單,執行效率高 arm處理器的各系列情況。a...