亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學(xué)習(xí)啦 > 學(xué)習(xí)方法 > 通用學(xué)習(xí)方法 > 學(xué)習(xí)經(jīng)驗 > 如何學(xué)習(xí)arm嵌入式

      如何學(xué)習(xí)arm嵌入式

      時間: 威敏1027 分享

      如何學(xué)習(xí)arm嵌入式

        嵌入式從2002年之后就成為很熱門的職業(yè),這其中以ARM的商用分不開,下面學(xué)習(xí)啦小編收集了一些關(guān)于學(xué)習(xí)arm嵌入式的方法,希望對你有幫助

        學(xué)習(xí)arm嵌入式方法

        基礎(chǔ)部分:基礎(chǔ)打不牢的工程師必然是走不遠的。

        匯編語言、C語言,數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)都是必須要懂得的。當(dāng)然了,如果能用開發(fā)板把機械手臂和智能小車這樣的項目自己動手開發(fā)一下,效果就更好了,一方面是降低了學(xué)習(xí)的枯燥,另一方面自己動了手也會增加實際經(jīng)驗。

        嵌入式應(yīng)用層開發(fā):

        Linux系統(tǒng)編程、網(wǎng)絡(luò)編程、UcOS、通信協(xié)議及編程技術(shù)、GUI-Qt、圖形化界面開發(fā)等等。這部分技術(shù)所對應(yīng)的工程師是目前國內(nèi)相當(dāng)缺乏的,也是嵌入式開發(fā)者就業(yè)最多的地方。雖然工資沒有做底層得高,但個把萬還是能夠輕松實現(xiàn)的。

        嵌入式底層開發(fā):

        linuxkernel(linux內(nèi)核)、rootfile(根文件系統(tǒng)),系統(tǒng)移植,linux驅(qū)動程序這些技術(shù)最好都懂一些。你在這里需要用到一個運行計算能力更強的arm開發(fā)板來做輔助,測試你的底層代碼是否能夠運行,像尚觀提供給學(xué)員的就是cortex—a9的三星 exnoys 4412四核平臺。

        學(xué)習(xí)嵌入式系統(tǒng)之基礎(chǔ)知識

        1、Linux 基礎(chǔ)

        安裝Linux操作系統(tǒng):Linux文件系統(tǒng) ,Linux常用命令,Linux啟動過程詳解,熟悉Linux服務(wù)能夠獨立安裝Linux操作系統(tǒng),能夠熟練使用Linux系統(tǒng)的基本命令,認識Linux系統(tǒng)的常用服務(wù)安裝Linux操作系統(tǒng),Linux基本命令實踐,設(shè)置Linux環(huán)境變量,定制Linux的服務(wù),Shell 編程基礎(chǔ)使用vi編輯文件,使用Emacs編輯文件,使用其他編輯器。

        2、Shell 編程基礎(chǔ)

        Shell簡介:認識后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境,熟悉Linux下的各種Shell,熟練進行shell編程熟悉vi基本操作,熟悉Emacs的基本操作,比較不同shell的區(qū)別,編寫一個測試服務(wù)器是否連通的shell腳本程序,編寫一個查看進程是否存在的shell腳本程序,編寫一個帶有循環(huán)語句的shell腳本程序。

        3、Linux下的 C 編程基礎(chǔ)

        linux C語言環(huán)境概述:Gcc使用方法:Gdb調(diào)試技術(shù),Autoconf Automake Makefile,代碼優(yōu)化,熟悉Linux系統(tǒng)下的開發(fā)環(huán)境,熟悉Gcc編譯器,熟悉Makefile規(guī)則編寫Hello,World程序,使用make命令編譯程序,編寫帶有一個循環(huán)的程序,調(diào)試一個有問題的程序。

        4、嵌入式系統(tǒng)開發(fā)基礎(chǔ)

        嵌入式系統(tǒng)概述:交叉編譯配置TFTP服務(wù),配置NFS服務(wù),下載Bootloader和內(nèi)核,嵌入式Linux應(yīng)用軟件開發(fā)流程熟悉嵌入式系統(tǒng)概念以及開發(fā)流程,建立嵌入式系統(tǒng)開發(fā)環(huán)境制作cross_gcc工具鏈,編譯并下載U-boot 編譯并下載Linux內(nèi)核編譯并下載Linux應(yīng)用程序。

        5、嵌入式系統(tǒng)移植

        Linux內(nèi)核代碼:平臺相關(guān)代碼分析,ARM平臺介紹,平臺移植的關(guān)鍵技術(shù),移植Linux內(nèi)核到ARM平臺,了解移植的概念,能夠移植Linux內(nèi)核移植Linux2.6內(nèi)核到arm9開發(fā)板。

        6、嵌入式 Linux 下串口通信

        串行I/O的基本概念:嵌入式Linux應(yīng)用軟件開發(fā)流程,Linux系統(tǒng)的文件和設(shè)備,與文件相關(guān)的系統(tǒng)調(diào)用,配置超級終端和MiniCOM能夠熟悉進行串口通信,熟悉文件I/O,編寫串口通信程序,編寫多串口通信程序。

        7、嵌入式系統(tǒng)中多進程程序設(shè)計

        Linux系統(tǒng)進程概述:嵌入式系統(tǒng)的進程特點,進程操作,守護進程,相關(guān)的系統(tǒng)調(diào)用了解Linux系統(tǒng)中進程的概念,能夠編寫多進程程序編寫多進程程序,編寫一個守護進程程序,sleep系統(tǒng)調(diào)用任務(wù)管理、同步與通信Linux任務(wù)概述任務(wù)調(diào)度管道、信號共享內(nèi)存,任務(wù)管理 API,了解Linux系統(tǒng)任務(wù)管理機制,熟悉進程間通信的幾種方式,熟悉嵌入式Linux中的任務(wù)間同步與通信編寫一個簡單的管道程序?qū)崿F(xiàn)文件傳輸,編寫一個使用共享內(nèi)存的程序。

        嵌入式系統(tǒng)的分層與專業(yè)的分類

        1、硬件層,是整個嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅(qū)動層的基礎(chǔ),一個優(yōu)秀的驅(qū)動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設(shè)計的,同時還要對操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ?。但硬件平臺是基礎(chǔ),增值還要靠軟件。

        硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識有,單片機原理及接口技術(shù)、微機原理及接口技術(shù)、C語言。

        2、驅(qū)動層,這部分比較難,驅(qū)動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅(qū)動程序在系統(tǒng)調(diào)用時,不會獨占操作系統(tǒng)時間片,而導(dǎo)至其它任務(wù)不能動行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實時調(diào)度性,沒有良好的驅(qū)動編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動的方式,很多人都能做到,但可能連個初級的驅(qū)動工程師的水平都達不到,這樣所寫的驅(qū)動在應(yīng)用調(diào)用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅(qū)動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。

        驅(qū)動層比較適合于電子、通信、自動化、機電一體、信息工程類專業(yè)尤其是計算機偏體系結(jié)構(gòu)類專業(yè)的人來搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。

        3、操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動工程師來完成。操作系統(tǒng)是負責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。據(jù)說,XP操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統(tǒng)估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

        4、應(yīng)用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(比如基于SIP、H.323、Astrisk)方面又較為復(fù)雜,并且有難度了。
      猜你感興趣:

      1.如何開始學(xué)習(xí)嵌入式

      2.嵌入式學(xué)習(xí)心得體會演講稿

      3.嵌入式系統(tǒng)基本知識

      4.嵌入式培訓(xùn)心得體會

      5.嵌入式實訓(xùn)心得體會3篇

      3216602