在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux學(xué)習(xí)方法 適合初學(xué)者設(shè)計(jì)學(xué)習(xí)計(jì)劃

            嵌入式Linux學(xué)習(xí)方法 適合初學(xué)者設(shè)計(jì)學(xué)習(xí)計(jì)劃

            作者: 時(shí)間:2017-06-29 來源:網(wǎng)絡(luò) 收藏

              俗話說萬事開頭難,剛開始的時(shí)候,你是否根本就不知如何開始,上網(wǎng)查資料被一堆堆新名詞搞的找不到北,去圖書館看書也是找不到方向?又是arm,又是linux,又是頭都大了。不知道自己究竟從哪里開始?

            本文引用地址:http://www.biyoush.com/article/201706/361182.htm

              下面就跟著我學(xué)習(xí)設(shè)計(jì)嵌入式工程師的修煉日記吧!

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

              第一階段:嵌入式硬件基礎(chǔ)以及裸機(jī)程序開發(fā)

              1.知識(shí)點(diǎn):

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

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

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

              2.過程以及目的:

              這一階段的學(xué)習(xí)主要是熟悉嵌入式的硬件,為以后的linux驅(qū)動(dòng)打基礎(chǔ)。因?yàn)榍度胧街鞔蛱幚砥骷軜?gòu)就是arm,所以針對(duì)arm來學(xué)習(xí)。首先學(xué)習(xí)基礎(chǔ)知識(shí),然后通過在開發(fā)板上的練習(xí)來掌握。這一階段所用的資料主要有:

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

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

              3.所用時(shí)間:大約兩個(gè)月。

              第二階段:linux基礎(chǔ)以及shell編程

              1.知識(shí)點(diǎn)

              (1) linux基礎(chǔ)知識(shí)

              (2) linux安裝與使用

              (3) linux常用命令

              (4) vi使用

              (5) 簡(jiǎn)單shell編程

              2.過程以及目的:

              這一階段的學(xué)習(xí)主要是熟悉linux,會(huì)安裝linux,了解Linux的基礎(chǔ)知識(shí),會(huì)簡(jiǎn)單的操作。剛開始安裝linux還是在虛擬機(jī)上安裝比較好,安裝開發(fā)板推薦的Fedora9,按照開發(fā)板配套的說明一步一步的安裝,然后在上面練習(xí)各種命令。這一階段主要要看《鳥哥的linux私房菜基礎(chǔ)學(xué)習(xí)篇》,這個(gè)書有電子版,也不用全看,主要是看前面對(duì)Linux基礎(chǔ)知識(shí)的描述,以及基本的命令。命令只是了解,那么多記也記不下來,以后用時(shí)的再查閱。這一階段主要目的是對(duì)linux有一個(gè)整體的了解,最起碼要知道基礎(chǔ)的一些概念,還有會(huì)一些基本的操作。

              3.時(shí)間:大約一個(gè)月

              第三階段:linux應(yīng)用程序基礎(chǔ)開發(fā)

              1.知識(shí)點(diǎn):

              (1) GCC,GDB,Make 基礎(chǔ)

              (2) 文件,時(shí)間編程

              (3) 多進(jìn)程,多線程程序設(shè)計(jì)

              (4) 進(jìn)程間通信

              2. 過程以及目的:

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

              3. 時(shí)間:大約一個(gè)月

              第四階段:uCOSII操作系統(tǒng)學(xué)習(xí)

              1.知識(shí)點(diǎn):

              (1)嵌入式實(shí)時(shí)操作系統(tǒng)的概念以及基礎(chǔ)知識(shí)

              (2)uCOSII操作系統(tǒng)源代碼閱讀

              (3)移植uCOSII

              (4)uCOSII操作系統(tǒng)應(yīng)用編程

              2.過程以及目的:

              這一階段的學(xué)習(xí)主要是了解嵌入式實(shí)時(shí)操作系統(tǒng)的基礎(chǔ),因?yàn)閡COSII是開源的,可以研究他的代碼。對(duì)操作系統(tǒng)的任務(wù)調(diào)度以及資源管理有直觀的認(rèn)識(shí)。并且閱讀他的源碼能夠提高自己的編程能力與雖說友規(guī)范自己的編程習(xí)慣。善之臂提供了uCOSII的移植版本。但是自己實(shí)際移植一次能夠有更深刻的認(rèn)識(shí)。這個(gè)操作系統(tǒng)比較簡(jiǎn)單,所以應(yīng)用程序的編寫就很重要,在上面實(shí)現(xiàn)幾個(gè)功能還是有助于對(duì)系統(tǒng)的理解。這一階段主要看的就是紹貝貝翻譯的uCOSII作者所著的《嵌入式實(shí)時(shí)操作系統(tǒng)uCOS-II》,里面對(duì)操作系統(tǒng)的源碼有這詳細(xì)的分析??赐高@本書后就會(huì)對(duì)uCOSII有一個(gè)深入的了解。這一階段的主要目的是了解操作系統(tǒng)的知識(shí),比如任務(wù)調(diào)度,并發(fā)與競(jìng)態(tài)。還有一個(gè)目的就是鍛煉自己的編程能力。因?yàn)槿绻唇榻B操作系統(tǒng)原理的書會(huì)比較枯燥,我感覺閱讀一個(gè)操作系統(tǒng)的源碼比看一千本介紹原理的書來的實(shí)惠的多。

              3.時(shí)間:大約一個(gè)月

              第五階段:bootloader學(xué)習(xí)

              1.知識(shí)點(diǎn):

              (1)bootloader基礎(chǔ)知識(shí)

              (2)u-boot基礎(chǔ)與命令

              (3)u-boot移植

              2.過程以及目的:

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

              3.時(shí)間:大約一個(gè)月

              第六階段:文件系統(tǒng)學(xué)習(xí)

              1.知識(shí)點(diǎn):

              (1)linux文件系統(tǒng)的種類與作用

              (2)熟悉busybox的使用,以及l(fā)inux系統(tǒng)啟動(dòng)過程

              (3)構(gòu)建自己的根文件系統(tǒng)

              2.過程以及目的:

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

              3.時(shí)間:大約半個(gè)月

              第七階段:嵌入式圖形界面GUI

              1.知識(shí)點(diǎn):

              (1)嵌入式圖形界面GUI的種類與特點(diǎn)

              (2)minigui 基礎(chǔ)知識(shí)

              (3)minigui 移植與程序編寫

              2.過程以及目的:

              嵌入式圖形界面GUI作為嵌入式上層系統(tǒng)的東西也是需要了解的,這里我只學(xué)習(xí)了minigui,因?yàn)镼T是需要C++的知識(shí),而我沒有學(xué)過C++.所以只看了minigui的相關(guān)知識(shí)。這個(gè)階段的目的主要是熟悉一下嵌入式圖形接界面的開發(fā)流程,因?yàn)橐院笠膊淮蛩愀銘?yīng)用。只是熟悉一下嵌入式組成的一些方面。這里只要將minigui移植到板子上能跑hello程序就可以了。其他的也不用深入了解。通過移植minigui對(duì)linux上運(yùn)行的軟件以及函數(shù)庫,程序運(yùn)行原理,編譯器都會(huì)有一個(gè)新的認(rèn)識(shí)。

              3 時(shí)間:大約半個(gè)月

              第八階段:linux驅(qū)動(dòng)程序基礎(chǔ)知識(shí)

              1.知識(shí)點(diǎn):

              (1)看完《LINUX設(shè)備驅(qū)動(dòng)程序》除了網(wǎng)絡(luò)驅(qū)動(dòng)程序,tty驅(qū)動(dòng)程序,塊驅(qū)動(dòng)程序這幾章不看,其他的都要看完。

              (2)實(shí)驗(yàn)書中所有例程,要仔細(xì)分析結(jié)果,理解相關(guān)知識(shí)點(diǎn)。

              (3)就算是例子,程序編程習(xí)慣一定要統(tǒng)一,文檔一定要規(guī)范。

              2.過程以及目的

              這一階段的目的就是為了linux驅(qū)動(dòng)打基礎(chǔ),《LINUX設(shè)備驅(qū)動(dòng)程序》(第三版)也就是大家所說的ldd3,是最經(jīng)典的一本講linux驅(qū)動(dòng)的書,一定要看而且多看幾遍。第一次看很難看進(jìn)去,感覺講的晦澀難懂。但是多看幾遍就會(huì)由豁然開朗的感覺??赐炅藭?,然后就是實(shí)驗(yàn)書中的例子。

              3.時(shí)間:大約兩個(gè)月

              第九階段:linux驅(qū)動(dòng)實(shí)戰(zhàn)

              1. 知識(shí)點(diǎn):

              (1)通過led驅(qū)動(dòng)理解雜項(xiàng)字符設(shè)備的注冊(cè)與實(shí)現(xiàn),并掌握MINI2440的IO操作過程。

              (2)通過button驅(qū)動(dòng)程序掌握基本的中斷實(shí)現(xiàn)方法。

              (3)掌握PWM驅(qū)動(dòng)程序。

              (4)通過觸摸屏驅(qū)動(dòng)程序掌握input設(shè)備模型的實(shí)現(xiàn)。

              (5)掌握ADC驅(qū)動(dòng)程序的設(shè)計(jì)

              (6)掌握看門狗,rtc驅(qū)動(dòng)程序的設(shè)計(jì)

              (7)通過LCD驅(qū)動(dòng)程序分析platform設(shè)備模型的實(shí)現(xiàn)。

              2.過程以及目的:

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

              3. 時(shí)間:大約一個(gè)月

              第十階段:深入理解linux內(nèi)核與USB子系統(tǒng)的研究

              ? 前九個(gè)階段完成了,自己感覺應(yīng)該應(yīng)該算是入門了。所以要開始計(jì)劃第十個(gè)階段了。這一階段基本上要確定自己未來的發(fā)展方向了。因?yàn)楝F(xiàn)在嵌入式系統(tǒng)的標(biāo)準(zhǔn)接口都有USB,所以學(xué)會(huì)USB的相關(guān)知識(shí)是很有競(jìng)爭(zhēng)力的。搞驅(qū)動(dòng)的人對(duì)內(nèi)核應(yīng)該有一定的了解,所以《深入理解Linux內(nèi)核》還是必須的。這一階段主要是學(xué)習(xí)USB協(xié)議,閱讀linux USB子系統(tǒng)全部的代碼,通過閱讀代碼加深對(duì)USB的理解,隨后就是熟悉各種USB類協(xié)議,編寫和移植USB驅(qū)動(dòng)了。USB是我確定的方向,因?yàn)槲蚁敫闶裁礀|西都要專一,什么都搞,什么也搞不好。所以我決定學(xué)習(xí)USB。決定以后從事嵌入式有關(guān)USB方面的工作。這一階段的學(xué)習(xí)正在進(jìn)行中,現(xiàn)在正在linux USB子系統(tǒng)浩瀚的代碼中漫游。



            關(guān)鍵詞: 嵌入式Linux uboot

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉