不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

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

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

時(shí)間: 威敏1027 分享

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

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

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

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

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

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

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

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

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

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

  1、Linux 基礎(chǔ)

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

  2、Shell 編程基礎(chǔ)

  Shell簡介:認(rèn)識后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境,熟悉Linux下的各種Shell,熟練進(jìn)行shell編程熟悉vi基本操作,熟悉Emacs的基本操作,比較不同shell的區(qū)別,編寫一個(gè)測試服務(wù)器是否連通的shell腳本程序,編寫一個(gè)查看進(jìn)程是否存在的shell腳本程序,編寫一個(gè)帶有循環(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命令編譯程序,編寫帶有一個(gè)循環(huán)的程序,調(diào)試一個(gè)有問題的程序。

  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能夠熟悉進(jìn)行串口通信,熟悉文件I/O,編寫串口通信程序,編寫多串口通信程序。

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

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

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

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

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

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

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

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

  4、應(yīng)用層,相對來講較為容易的,如果會在windows下如何進(jìn)行編程接口函數(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.嵌入式實(shí)訓(xùn)心得體會3篇

3216602