日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 大魚機器人
[導讀]俗話說萬事開頭難,剛開始的時候,你是否根本就不知如何開始,上網(wǎng)查資料被一堆堆新名詞搞的找不到北,去圖書館看書也是找不到方向?又是arm,又是linux,又是uboot頭都大了,不知道自己究竟從哪里開始?下面就跟著我學習設計嵌入式工程師的修煉日記吧!

ID:技術(shù)讓夢想更偉大
整理:李肖遙
俗話說萬事開頭難,剛開始的時候,你是否根本就不知如何開始,上網(wǎng)查資料被一堆堆新名詞搞的找不到北,去圖書館看書也是找不到方向?又是arm,又是linux,又是uboot頭都大了,不知道自己究竟從哪里開始?

下面就跟著我學習設計嵌入式工程師的修煉日記吧!

簡單說,從arm基礎知識到裸機編程,從uCOSII到linux,從linux基礎的命令到shell編程,從u-boot到文件系統(tǒng),最后到現(xiàn)在的linux驅(qū)動程序。從簡單到復雜,從基礎到高級基本是按照這個來的。

01 第一階段:嵌入式硬件基礎以及裸機程序開發(fā)
1.知識點:

(1) arm處理器基礎知識,工作模式,寄存器,中斷與異常,尋址方式,匯編指令集

(2) 熟悉ADS集成開發(fā)環(huán)境為裸機程序開發(fā)做準備

(3)裸機程序開發(fā):LED,串口,LCD,觸摸屏,NANDFLASH,IIC,IIS,DMA等

2.過程以及目的:

這一階段的學習主要是熟悉嵌入式的硬件,為以后的linux驅(qū)動打基礎。因為嵌入式主打處理器架構(gòu)就是arm,所以針對arm來學習。首先學習基礎知識,然后通過在開發(fā)板上的練習來掌握。這一階段所用的資料主要有:

(1) 《ARM嵌入式基礎教程》 這本書主要看arm基礎的知識。這本書是講arm7的,但是arm的基礎的指令集以及模型是一樣的。

(2) 《嵌入式linux應用開發(fā)完全手冊》 這本書主要看介紹s3c2410接口模塊的部分,實驗裸機的時候需要硬件的知識。

3.所用時間: 大約兩個月。

02 第二階段:linux基礎以及shell編程
1.知識點:

(1) linux基礎知識
(2) linux安裝與使用
(3) linux常用命令
(4) vi使用
(5) 簡單shell編程

2.過程以及目的:

這一階段的學習主要是熟悉linux,會安裝linux,了解Linux的基礎知識,會簡單的操作。剛開始安裝linux還是在虛擬機上安裝比較好,安裝開發(fā)板推薦的Fedora9,按照開發(fā)板配套的說明一步一步的安裝,然后在上面練習各種命令。

這一階段主要要看《鳥哥的linux私房菜基礎學習篇》,這個書有電子版,也不用全看,主要是看前面對Linux基礎知識的描述,以及基本的命令。命令只是了解,那么多記也記不下來,以后用時再查閱。這一階段主要目的是對linux有一個整體的了解,最起碼要知道基礎的一些概念,還有會一些基本的操作。

3.時間: 大約一個月。


03 第三階段:linux應用程序基礎開發(fā)
1.知識點:
(1) GCC,GDB,Make 基礎
(2) 文件,時間編程
(3) 多進程,多線程程序設計
(4) 進程間通信

2. 過程以及目的:

這一階段的學習主要是了解linux應用程序的編寫調(diào)試,也都是基礎知識,主要目的還是熟悉Linux。熟悉其中應用程序有關(guān)的一些概念,為以后打基礎。這一階段主要看了《嵌入式Linux應用程序開發(fā)標準教程》,這本書對linux上應用程序編寫講的很詳細,而且不是很難,那本最經(jīng)典的《UNIX高級環(huán)境編程》講的比較深入,剛開始看有點難,萬事開頭難還是從簡單的開始。學習應用編程以后也不一定搞應用,從事嵌入式linux行業(yè)的人,這是必須的基本技能。

3. 時間: 大約一個月

04 第四階段:uCOSII操作系統(tǒng)學習
1.知識點:
(1)嵌入式實時操作系統(tǒng)的概念以及基礎知識
(2)uCOSII操作系統(tǒng)源代碼閱讀
(3)移植uCOSII
(4)uCOSII操作系統(tǒng)應用編程

2.過程以及目的:

這一階段的學習主要是了解嵌入式實時操作系統(tǒng)的基礎,因為uCOSII是開源的,可以研究他的代碼。對操作系統(tǒng)的任務調(diào)度以及資源管理有直觀的認識。并且閱讀他的源碼能夠提高自己的編程能力,規(guī)范自己的編程習慣。雖然提供了uCOSII的移植版本,但是自己實際移植一次能夠有更深刻的認識。

這個操作系統(tǒng)比較簡單,所以應用程序的編寫就很重要,在上面實現(xiàn)幾個功能還是有助于對系統(tǒng)的理解。這一階段主要看的就是邵貝貝翻譯的uCOSII作者所著的《嵌入式實時操作系統(tǒng)uCOS-II》,里面對操作系統(tǒng)的源碼有詳細的分析??赐高@本書后就會對uCOSII有一個深入的了解。這一階段的主要目的是了解操作系統(tǒng)的知識,比如任務調(diào)度,并發(fā)與競態(tài)。還有一個目的就是鍛煉自己的編程能力。因為如果看介紹操作系統(tǒng)原理的書會比較枯燥,我感覺閱讀一個操作系統(tǒng)的源碼比看一千本介紹原理的書來的實惠的多。

3.時間: 大約一個月

05 第五階段:bootloader學習
1.知識點:

(1)bootloader基礎知識
(2)u-boot基礎與命令
(3)u-boot移植

2.過程以及目的:

bootloader是一個linux嵌入式系統(tǒng)的不可缺少的部分。這一階段的學習主要是了解bootloader的作用,以及通用bootloader---u-boot的知識,剛開始學會用u-boot的各種命令。然后分析u-boot的啟動流程和Makefile以及u-boot加載內(nèi)核過程。然后按照別人的步驟一步一步的移植內(nèi)核,多做幾遍以熟悉這個過程。然后在熟悉整個u-boot的基礎上,獨自完成u-boot的移植,并添加自己修改。這一階段主要參考資料就是光盤自帶的u-boot移植參考手冊和一些網(wǎng)絡上的文章。個人感覺u-boot移植這方面的網(wǎng)絡資源相當?shù)呢S富。

3.時間: 大約一個月

06 第六階段:文件系統(tǒng)學習
1.知識點:

(1)linux文件系統(tǒng)的種類與作用
(2)熟悉busybox的使用,以及l(fā)inux系統(tǒng)啟動過程
(3)構(gòu)建自己的根文件系統(tǒng)

2.過程以及目的:

文件系統(tǒng)也是一個linux嵌入式系統(tǒng)不可缺少的部分,這一階段的學習主要是熟悉根文件系統(tǒng)的作用以及基礎知識,并且自己構(gòu)建自己的根文件系統(tǒng)。這一階段所看的書有《構(gòu)建嵌入式linux系統(tǒng)》,這本書詳細講解了嵌入式linux的所有元素,包括文件系統(tǒng)。這里主要看文件系統(tǒng)這塊。我還參考了網(wǎng)上的一些文章。這里首先要熟悉基本的一些Linux文件系統(tǒng),然后學習busybox的使用以及l(fā)inux的啟動過程,最后參考別人的一步一步來構(gòu)建自己的文件系統(tǒng)。

3.時間: 大約半個月


07 第七階段:嵌入式圖形界面GUI
1.知識點:
(1)嵌入式圖形界面GUI的種類與特點
(2)minigui 基礎知識
(3)minigui 移植與程序編寫

2.過程以及目的:

嵌入式圖形界面GUI作為嵌入式上層系統(tǒng)的東西也是需要了解的,這里我只學習了minigui,因為QT是需要C++的知識,而我沒有學過C++,所以只看了minigui的相關(guān)知識。這個階段的目的主要是熟悉一下嵌入式圖形接界面的開發(fā)流程,因為以后也不打算搞應用。

只是熟悉一下嵌入式組成的一些方面。這里只要將minigui移植到板子上能跑hello程序就可以了。其他的也不用深入了解。通過移植minigui對linux上運行的軟件以及函數(shù)庫,程序運行原理,編譯器都會有一個新的認識。

3 時間: 大約半個月
08 第八階段:linux驅(qū)動程序基礎知識

1.知識點:

(1)看完《LINUX設備驅(qū)動程序》除了網(wǎng)絡驅(qū)動程序,tty驅(qū)動程序,塊驅(qū)動程序這幾章不看,其他的都要看完。
(2)實驗書中所有例程,要仔細分析結(jié)果,理解相關(guān)知識點。
(3)就算是例子,程序編程習慣一定要統(tǒng)一,文檔一定要規(guī)范。

2.過程以及目的

這一階段的目的就是為了linux驅(qū)動打基礎,《LINUX設備驅(qū)動程序》(第三版)也就是大家所說的ldd3,是最經(jīng)典的一本講linux驅(qū)動的書,一定要看而且多看幾遍。第一次看很難看進去,感覺講的晦澀難懂。但是多看幾遍就會由豁然開朗的感覺。看完了書,然后就是實驗書中的例子。
3.時間: 大約兩個月

09 第九階段:linux驅(qū)動實戰(zhàn)

1. 知識點:

(1)通過led驅(qū)動理解雜項字符設備的注冊與實現(xiàn),并掌握MINI2440的IO操作過程。
(2)通過button驅(qū)動程序掌握基本的中斷實現(xiàn)方法。
(3)掌握PWM驅(qū)動程序。
(4)通過觸摸屏驅(qū)動程序掌握input設備模型的實現(xiàn)。
(5)掌握ADC驅(qū)動程序的設計
(6)掌握看門狗,rtc驅(qū)動程序的設計
(7)通過LCD驅(qū)動程序分析platform設備模型的實現(xiàn)。

2.過程以及目的:

這一階段的學習主要是掌握實際的簡單的驅(qū)動程序的實現(xiàn)與ldd3中的差別,并且分析一些linux子系統(tǒng)。通過這一階段的學習,能夠?qū)inux驅(qū)動程序有更深入的認識。并且鍛煉自己閱讀海量代碼的能力。這一階段主要工作就是看代碼,實驗,看代碼,實驗,通過現(xiàn)象學習知識。

3. 時間: 大約一個月

10
第十階段:深入理解linux內(nèi)核與USB子系統(tǒng)的研究
?前九個階段完成了,自己感覺嵌入式Linux應該應該算是入門了。所以要開始計劃第十個階段了。這一階段基本上要確定自己未來的發(fā)展方向了。因為現(xiàn)在嵌入式系統(tǒng)的標準接口都有USB,所以學會USB的相關(guān)知識是很有競爭力的。搞驅(qū)動的人對內(nèi)核應該有一定的了解,所以《深入理解Linux內(nèi)核》還是必須的。

這一階段主要是學習USB協(xié)議,閱讀linux USB子系統(tǒng)全部的代碼,通過閱讀代碼加深對USB的理解,隨后就是熟悉各種USB類協(xié)議,編寫和移植USB驅(qū)動了。USB是我確定的方向,因為我想搞什么東西都要專一,什么都搞,什么也搞不好。所以我決定學習USB。決定以后從事嵌入式有關(guān)USB方面的工作。這一階段的學習正在進行中,現(xiàn)在正在linux USB子系統(tǒng)浩瀚的代碼中漫游。

- END-

| 整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有 |
|?如有侵權(quán),請聯(lián)系刪除 |

往期好文合集

八千字硬核長文梳理Linux內(nèi)核概念及學習路線?
用漫畫了解 Linux 內(nèi)核到底長啥樣!?
帶你全面認識 Linux

最 后

若覺得文章不錯,轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等! 在公眾號內(nèi)回復「更多資源」,即可免費獲取,期待你的關(guān)注~ ?

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉