ARM的入門學(xué)習(xí)方法
篇一:ARM的學(xué)習(xí)方法
如何學(xué)習(xí)嵌入式
作者:phantom 時(shí)間:2009-8-6 文章來源:來自網(wǎng)絡(luò)
先講一講需要掌握的基本技能。
答:
。1)C語言是所有編程語言中的王者(單片機(jī)、DSP、類似ARM的種種芯片的編程都可以用C語言搞定),因此必須非常熟練的掌握,大學(xué)本科教學(xué)中的C語言是遠(yuǎn)遠(yuǎn)不夠的,有兩個(gè)非常重要的內(nèi)容沒有講“文件的操作”和“IO的操作”,其中“IO的操作”是必須掌握的技術(shù)。
。2)操作系統(tǒng)原理,是必需的,如果你是計(jì)算機(jī)專業(yè)畢業(yè)那也就無所謂了,如果是非計(jì)算機(jī)專業(yè)的就必須找一本比較淺顯的計(jì)算機(jī)原理書籍看一看,把啥叫“進(jìn)程”“線程”“系統(tǒng)調(diào)度”等等基本問題搞清楚
。3)計(jì)算機(jī)原理應(yīng)該指的是x86的微機(jī)原理吧,但是在嵌入式領(lǐng)域x86處理器只是冰山的一小角,還有很多叫做ARM、XScale、SuperH、68K、PowerPC等等等等,無數(shù)的其它處理器,有一些我也叫不上名字。但是,X86總規(guī)是基礎(chǔ),萬變不離其宗,深入學(xué)一下還是非常有必要的(尤其對于想要學(xué)習(xí)Linux的朋友,想要讀核的話就必須要深入學(xué)習(xí)以下x86系統(tǒng)架構(gòu))。
如何學(xué)習(xí)嵌入式開發(fā)呢?
答:
大家都知道這個(gè)領(lǐng)域人才非常稀缺,但是,學(xué)習(xí)周期比較長,需要的知識面也比較廣,所以不要心急。先看看下面的幾個(gè)問題,了解一下你現(xiàn)在的知識水平:
(1)你用VC++或BC++編寫過應(yīng)用程序嗎?
如果編寫過應(yīng)用程序,那就做好了,如果你沒有做過上層應(yīng)用程序,那么又如何能夠去理解更深的更高深的底層程序呢,那就趕快補(bǔ)上這一課吧。!
。2)你曾經(jīng)編寫過單片機(jī)或者DSP的程序嗎?
我們把類似51單片機(jī)或者DSP上面跑的沒有操作系統(tǒng)的程序叫做“代碼裸奔”,我們也都曾經(jīng)編寫過裸奔的代碼。因?yàn)橛械臅r(shí)候比如我們編寫一個(gè)簡單的程序,就只需要點(diǎn)幾個(gè)LED檢測幾個(gè)按鈕的狀態(tài),那么“代碼裸奔”弄一個(gè)while(1)的死循環(huán)就足夠了,殺雞何必用牛刀。
編寫這種裸奔的代碼,也是學(xué)習(xí)嵌入式的必由之路,因?yàn),你將會用C語言去對寄存器寫控制字,這就是以
后寫驅(qū)動(dòng)程序的基礎(chǔ)呀。
另外需要說明的是,從概念上說,“代碼裸奔”也已經(jīng)屬于嵌入式開發(fā)的范疇。
(3)到了最后一個(gè)階段,你就可以開始找一個(gè)方向(uCos、Linux、VxWorks、WindowsCE、Palm等等等等),學(xué)習(xí)有操作系統(tǒng)的嵌入式開發(fā)了。
嵌入式操作系統(tǒng)的種類也是無法計(jì)數(shù)的,有一些我連名字也叫不上來,太多太多了。但是值得慶幸的是,這些操作系統(tǒng)大同小異,相通的。
你正在在讀書,建議學(xué)習(xí)uCos操作系統(tǒng)(看邵貝貝的《UC/OS操作系統(tǒng)》);如果你不喜歡這么Basic的操作系統(tǒng),VxWorks也是一個(gè)不錯(cuò)的選擇,VxWorks進(jìn)入中國已經(jīng)好多年了,國內(nèi)出版的書也都很好,尤其推薦陳智育的《VxWorks程序開發(fā)實(shí)踐》和周啟平的《VxWorks下設(shè)備驅(qū)動(dòng)程序及BSP開發(fā)指南》;Linux簡直是惡夢,但是如果你能夠走出這個(gè)噩夢,你也就成了高手了。
嵌入式系統(tǒng)的學(xué)習(xí)途徑與基本方法
作者:phantom 時(shí)間:2009-8-6 文章來源:來自網(wǎng)絡(luò)
作為一家之言,想對廣大渴望學(xué)習(xí)嵌入式系統(tǒng)的學(xué)子提出幾點(diǎn)建議:
。1)嵌入式系統(tǒng)軟件硬件密切相關(guān),一定要打好軟件硬件基礎(chǔ)。其實(shí),只要找到正確的方法,加上努力,任何理工科學(xué)生,甚至非理工科學(xué)生,都能學(xué)好嵌入式系統(tǒng)。
。2)選擇一個(gè)芯片及硬件評估板(入門芯片最好是簡單一點(diǎn),例如8位MCU)、選擇一本好書(最好有規(guī)范的例子)、找一位好老師(最好是有經(jīng)驗(yàn)且熱心的)。硬件評估板的價(jià)格一定要在1000元以下,不要太貴,最好能有自己動(dòng)手的空間。不花一分硬件錢,要想學(xué)好嵌入式系統(tǒng)不實(shí)際。因?yàn),這是實(shí)踐性很強(qiáng)的學(xué)科。好書,可以使你少走彎路,不會被誤導(dǎo),要知道有的書是會使人進(jìn)入學(xué)習(xí)誤區(qū)的。好老師也可以是做過一些實(shí)際項(xiàng)目的學(xué)長(一定要找做過幾個(gè)成功項(xiàng)目的學(xué)長或老師做指導(dǎo),否則,經(jīng)驗(yàn)不足也可能誤導(dǎo)),有教師指導(dǎo),學(xué)習(xí)進(jìn)程會加快。(人工智能學(xué)科里有個(gè)術(shù)語叫無教師指導(dǎo)學(xué)習(xí)模式與有教師指導(dǎo)學(xué)習(xí)模式,無有教師指導(dǎo)學(xué)習(xí)模式比有教師指導(dǎo)學(xué)習(xí)模式復(fù)雜許多)。
。3)許多人怕硬件,其實(shí)嵌入式系統(tǒng)硬件比電子線路好學(xué)多了。只要深入理解MCU的硬件最小系統(tǒng),對I/O口、串行通信、鍵盤、LED、LCD、SPI、I2C、PWM、A/D(包括一些傳感器)、D/A等逐個(gè)實(shí)驗(yàn)理解,逐步實(shí)踐。再通過自己做一個(gè)實(shí)際的小系統(tǒng),底層硬件基礎(chǔ)就有了。各個(gè)硬件模塊驅(qū)動(dòng)程序的編寫是嵌入式系統(tǒng)的必備基礎(chǔ)。學(xué)習(xí)嵌入式系統(tǒng)的初期,這個(gè)過程是必須的。
(4)至于嵌入式實(shí)時(shí)操作系統(tǒng)RTOS,一定不要一開始就學(xué),這樣會走很多彎路,也會使你對嵌入式系統(tǒng)感到畏懼。等你軟件硬件基礎(chǔ)打好了,再學(xué)習(xí)就感到容易理解。實(shí)際上,眾多嵌入式應(yīng)用,并不一定需要操作系統(tǒng)。也可以根據(jù)實(shí)際項(xiàng)目需要再學(xué)習(xí)。一定不要被一些嵌入式實(shí)時(shí)操作系統(tǒng)移植培訓(xùn)班宣傳所誤導(dǎo),而忽視實(shí)際嵌入式系統(tǒng)軟件硬件基礎(chǔ)知識的學(xué)習(xí)。
。5)要避免片面地單純從“電子”或“計(jì)算機(jī)軟件”角度認(rèn)識嵌入式系統(tǒng),嵌入式系統(tǒng)與硬件緊密相關(guān),是軟件與硬件的綜合體,沒有對硬件的理解就不可能寫好嵌入式軟件,同樣沒有對軟件的理解也不可能設(shè)計(jì)好嵌入式硬件。因此,要逐步從MCU的最小系統(tǒng)開始,一點(diǎn)一點(diǎn)理解硬件原理及底層硬件驅(qū)動(dòng)編程方法。要通過規(guī)范的例子,理解軟件工程封裝、可復(fù)用等思想。通過規(guī)范編程,積累底層構(gòu)件(Component),也就是一個(gè)一個(gè)模塊,但是要封裝得比較好,可復(fù)用。
。6)注重實(shí)踐。這里我把實(shí)踐與實(shí)驗(yàn)區(qū)別開來,實(shí)驗(yàn)主要是他人的程序或驗(yàn)證性的,目的是學(xué)習(xí)基礎(chǔ)知識。實(shí)踐是自己設(shè)計(jì),有具體的“產(chǎn)品”目標(biāo)。如果你能花500元左右自己做一個(gè)具有一定功能的小產(chǎn)品,就可以說接近入門了。
(7)關(guān)于入門芯片的選擇。一定不要選太復(fù)雜,不能超越學(xué)習(xí)過程。不要一下子學(xué)習(xí)幾種芯片,可以通過一個(gè)芯片入門并具有一個(gè)實(shí)踐經(jīng)驗(yàn)后,根據(jù)需要選擇芯片。注意,選擇的是微控制器(MCU),而不是微處理器(MPU)。不同廠家生產(chǎn)的MCU穩(wěn)定性差異巨大。微處理器已經(jīng)不直接用于嵌入式系統(tǒng)的最終產(chǎn)品設(shè)計(jì),不要誤解。
。8)關(guān)于操作系統(tǒng)的選擇?梢缘鹊侥憔哂幸欢▽(shí)踐后,選擇一個(gè)簡單容易理解原理的進(jìn)行學(xué)習(xí),不要一開始就學(xué)習(xí)幾種操作系統(tǒng),理解了基本原理,實(shí)踐中確有實(shí)際需要再學(xué)習(xí)也不遲。人總是要不斷學(xué)習(xí)的。
。9)關(guān)于匯編與C語言的取舍。隨著MCU對C編譯的優(yōu)化支持,對于匯編可以只了解幾個(gè)必須的語句,直接使用C語言編程。但必須通過第一個(gè)程序理解芯片初始化過程、中斷機(jī)制、程序存儲情況等區(qū)別于PC機(jī)程序的內(nèi)容。
ARM入門學(xué)習(xí)方法
作者:phantom 時(shí)間:2009-8-6 文章來源:來自網(wǎng)絡(luò)
1、抓住51開發(fā)ARM
這幾個(gè)月來我一直都爬在51的問題,自己都有一點(diǎn)笑自己了,用了4個(gè)月的時(shí)間,來鞏固51的原理和程序,
還好我自己算是走過來了,自己笨,身邊的高才生又看不上51的原理,他們都比較“!保f51過時(shí)了,你問那個(gè)做什么???我比較郁悶!過時(shí)嗎?我有一點(diǎn)懷疑?
他們不愿意說有他們自己的理由,沒有人強(qiáng)求,靠自己好了。
我自己個(gè)人的觀點(diǎn):51是一個(gè)基礎(chǔ),而且還很重要,這是再我看了ARM之后感覺到的。它可以加速你的ARM學(xué)習(xí)速度,真得!不相信你試一試好了。
凡是要求一個(gè)速度、效率,不要做一些無用功,抓緊身邊的每一個(gè)一分鐘,人是活的,東西(知識、書)是死得,想要做的事情因此就簡單了。
2、我在網(wǎng)上看到了一篇很不錯(cuò)的ARM文章,粘貼過來,為了和像我一樣在很少有人幫助的情況下,自學(xué)ARM 的難兄難弟們。
“ARM怎么入門”。我不是高手,仍然是菜鳥。
但是回想起自己當(dāng)時(shí)的迷茫,特意寫了這篇東西,當(dāng)作給和我一樣的兄弟姐妹的幫助吧。問這個(gè)問題的人多半不是已經(jīng)工作的工程師,而是和我一樣是學(xué)生,所以這篇筆記就把看家當(dāng)成我一樣的菜鳥,高手勿怪。 首先聲明:本人還沒有找工作,事實(shí)上處于研究生剛畢業(yè),還沒開始找工作的空閑時(shí)間,44B0只是興趣所在,打發(fā)時(shí)間。
所有看法完全是自己的感受,不代表任何他人。錯(cuò)了的觀點(diǎn)各位幫我糾正。再次補(bǔ)充:很多朋友看了上面的話就問我為什么研究生畢業(yè)了還不找工作:)說是打發(fā)時(shí)間,其實(shí)是因?yàn)檠芯可臅r(shí)候帶了一個(gè)項(xiàng)目,申請?zhí)崆爱厴I(yè)以后項(xiàng)目還有塊尾巴,答應(yīng)導(dǎo)師把項(xiàng)目做完再走:)就這么簡單。男人總點(diǎn)負(fù)點(diǎn)責(zé),呵呵 以下問題常被問到,我就想到哪說到哪吧。
一 首先說說ARM的發(fā)展
可以用一片大好來形容,翻開各個(gè)公司的網(wǎng)站,招聘里面嵌入式占據(jù)了大半工程師職位。
廣義的嵌入式無非幾種:傳統(tǒng)的什么51、AVR、PIC稱做嵌入式微控制器;ARM是嵌入式微處理器;DSP;FPGA。
客觀的講,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
DSP因?yàn)閿?shù)字處理與通信領(lǐng)域的空前發(fā)展而火暴,小到MP3 射象頭,大到我們軍品里的控制器,應(yīng)用面很
廣。
FPGA的兄弟一般做ANSIC(特殊芯片設(shè)計(jì),好象是這么翻譯的)。而ARM單純說來并不比一個(gè)單片機(jī)強(qiáng)多少,但是它的獨(dú)特就在于不斷下降的價(jià)格和提升的性能。這完全依靠于ARM公司的戰(zhàn)略,厲害!很佩服他們的戰(zhàn)略眼光!
值得注意的是:在找工作中,企業(yè)(著名的,小的不算)對單純的ARM硬件開發(fā)工程師并不比單片機(jī)重視,很少有大企業(yè)的職位里寫“從事過ARM開發(fā)優(yōu)先”。寫的多的是什么?“嵌入式LINUX”到這相信大家看出來了吧,需要的是硬件中的軟件。
二 ARM是硬件還是軟件
很難說,ARM是硬件,LINUX是軟件。ARM的硬件多半已經(jīng)模塊化了,像我這樣把板子改成這樣的就算動(dòng)的多的了,這同樣是ARM公司的戰(zhàn)略,再次佩服。
實(shí)際中的LINUX的'開發(fā)工作更多,更耗時(shí)。從這方面說ARM應(yīng)該算是軟件了。
在找工作中更是這樣,舉個(gè)例子,聯(lián)想里和ARM最接近的是“BIOS工程師”是軟件,MOTO里接近的是嵌入式LINUX工程師是軟件。而其他很多公司把嵌入式產(chǎn)品開發(fā)歸為硬件。所以,不要討論這個(gè),好好玩轉(zhuǎn)自己的板子才是關(guān)鍵。實(shí)在不爽你就把自己叫“嵌入式開發(fā)工程師”
三 要不要買開發(fā)板 買哪家
我的答案是“在你個(gè)人的學(xué)習(xí)方法”,但是如果看家是需要看這篇筆記的水平,個(gè)人推薦還是買現(xiàn)成的。
1.買
買板子可以把注意力集中在軟件開發(fā)上,軟件開發(fā)(尤其是驅(qū)動(dòng))可以不必?fù)?dān)心自己硬件上的問題,我就是以便調(diào)試一邊寫驅(qū)動(dòng)和程序,每次寫驅(qū)動(dòng)前就要先確認(rèn)硬件沒問題。另外,買板子更省錢和時(shí)間,我自己做的板子,原理圖PCB花了2周以上!制版又15天,回來以后焊接44B0 160個(gè)腳!那叫一個(gè)麻煩~~花了多少錢呢?2層板,制版費(fèi)就300塊!當(dāng)然我把接口都外引了,還做了個(gè)20X18的LCD背板,板子比較大。總體下來元件+LCD屏+PCB=11XX塊!夠2410的了。
再有就是買的資料相對來說比較全,但是不要指望有技術(shù)支持!都是騙人的,賣你之后就不會理你。
篇二:ARM入門學(xué)習(xí)方法
ARM入門學(xué)習(xí)方法
作者:phantom 時(shí)間:2009-8-6 文章來源:來自網(wǎng)絡(luò)
1、抓住51開發(fā)ARM
這幾個(gè)月來我一直都爬在51的問題,自己都有一點(diǎn)笑自己了,用了4個(gè)月的時(shí)間,來鞏固51的原理和程序,還好我自己算是走過來了,自己笨,身邊的高才生又看不上51的原理,他們都比較“牛”,說51過時(shí)了,你問那個(gè)做什么???我比較郁悶!過時(shí)嗎?我有一點(diǎn)懷疑? 他們不愿意說有他們自己的理由,沒有人強(qiáng)求,靠自己好了。
我自己個(gè)人的觀點(diǎn):51是一個(gè)基礎(chǔ),而且還很重要,這是再我看了ARM之后感覺到的。它可以加速你的ARM學(xué)習(xí)速度,真得!不相信你試一試好了。
凡是要求一個(gè)速度、效率,不要做一些無用功,抓緊身邊的每一個(gè)一分鐘,人是活的,東西(知識、書)是死得,想要做的事情因此就簡單了。
2、我在網(wǎng)上看到了一篇很不錯(cuò)的ARM文章,粘貼過來,為了和像我一樣在很少有人幫助的情況下,自學(xué)ARM 的難兄難弟們。
“ARM怎么入門”。我不是高手,仍然是菜鳥。
但是回想起自己當(dāng)時(shí)的迷茫,特意寫了這篇東西,當(dāng)作給和我一樣的兄弟姐妹的幫助吧。問這個(gè)問題的人多半不是已經(jīng)工作的工程師,而是和我一樣是學(xué)生,所以這篇筆記就把看家當(dāng)成我一樣的菜鳥,高手勿怪。
首先聲明:本人還沒有找工作,事實(shí)上處于研究生剛畢業(yè),還沒開始找工作的空閑時(shí)間,44B0只是興趣所在,打發(fā)時(shí)間。
所有看法完全是自己的感受,不代表任何他人。錯(cuò)了的觀點(diǎn)各位幫我糾正。再次補(bǔ)充:很多朋友看了上面的話就問我為什么研究生畢業(yè)了還不找工作:)說是打發(fā)時(shí)間,其實(shí)是因?yàn)檠芯可臅r(shí)候帶了一個(gè)項(xiàng)目,申請?zhí)崆爱厴I(yè)以后項(xiàng)目還有塊尾巴,答應(yīng)導(dǎo)師把項(xiàng)目做完再走:)就這么簡單。男人總點(diǎn)負(fù)點(diǎn)責(zé),呵呵
以下問題常被問到,我就想到哪說到哪吧。
一 首先說說ARM的發(fā)展
可以用一片大好來形容,翻開各個(gè)公司的網(wǎng)站,招聘里面嵌入式占據(jù)了大半工程師職位。
廣義的嵌入式無非幾種:傳統(tǒng)的什么51、AVR、PIC稱做嵌入式微控制器;ARM是嵌入式微處理器;DSP;FPGA。
客觀的講,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
DSP因?yàn)閿?shù)字處理與通信領(lǐng)域的空前發(fā)展而火暴,小到MP3 射象頭,大到我們軍品里的控制器,應(yīng)用面很廣。
FPGA的兄弟一般做ANSIC(特殊芯片設(shè)計(jì),好象是這么翻譯的)。而ARM單純說來并不比一個(gè)單片機(jī)強(qiáng)多少,但是它的獨(dú)特就在于不斷下降的價(jià)格和提升的性能。這完全依靠于ARM公司的戰(zhàn)略,厲害!很佩服他們的戰(zhàn)略眼光!
值得注意的是:在找工作中,企業(yè)(著名的,小的不算)對單純的ARM硬件開發(fā)工程師并不比單片機(jī)重視,很少有大企業(yè)的職位里寫“從事過ARM開發(fā)優(yōu)先”。寫的多的是什么?“嵌入式LINUX”到這相信大家看出來了吧,需要的是硬件中的軟件。
二 ARM是硬件還是軟件
很難說,ARM是硬件,LINUX是軟件。ARM的硬件多半已經(jīng)模塊化了,像我這樣把板子改成這樣的就算動(dòng)的多的了,這同樣是ARM公司的戰(zhàn)略,再次佩服。
實(shí)際中的LINUX的開發(fā)工作更多,更耗時(shí)。從這方面說ARM應(yīng)該算是軟件了。
在找工作中更是這樣,舉個(gè)例子,聯(lián)想里和ARM最接近的是“BIOS工程師”是軟件,MOTO里接近的是嵌入式LINUX工程師是軟件。而其他很多公司把嵌入式產(chǎn)品開發(fā)歸為硬件。所以,不要討論這個(gè),好好玩轉(zhuǎn)自己的板子才是關(guān)鍵。實(shí)在不爽你就把自己叫“嵌入式開發(fā)工程師”
三 要不要買開發(fā)板 買哪家
我的答案是“在你個(gè)人的學(xué)習(xí)方法”,但是如果看家是需要看這篇筆記的水平,個(gè)人推薦還是買現(xiàn)成的。
1.買
買板子可以把注意力集中在軟件開發(fā)上,軟件開發(fā)(尤其是驅(qū)動(dòng))可以不必?fù)?dān)心自己硬件上的問題,我就是以便調(diào)試一邊寫驅(qū)動(dòng)和程序,每次寫驅(qū)動(dòng)前就要先確認(rèn)硬件沒問題。另外,買板子更省錢和時(shí)間,我自己做的板子,原理圖PCB花了2周以上!制版又15天,回來以后焊接44B0 160個(gè)腳!那叫一個(gè)麻煩~~花了多少錢呢?2層板,制版費(fèi)就300塊!當(dāng)然我把接口都外引了,還做了個(gè)20X18的LCD背板,板子比較大?
體下來元件+LCD屏+PCB=11XX塊!夠2410的了。
再有就是買的資料相對來說比較全,但是不要指望有技術(shù)支持!都是騙人的,賣你之后就不會理你。
2.做
自己做可以更了解底層硬件,可以按照自己的要求加?xùn)|西,比如我就加了GPS模塊、 GPRS模塊、SD卡模塊,擴(kuò)了個(gè)IIC的35個(gè)鍵子的鍵盤、把LCD接口按照買的LCD改裝了,可以用FPC線直接連接。做的很爽的。玩一把嗎。
當(dāng)然,你可以有策略的做,比如像我一樣,把RAM和ROM,網(wǎng)絡(luò)都保持和某現(xiàn)成的板子一樣,這樣他們的資料你就可以拿過來直接用,給自己留個(gè)退路。其他的如SD了什么的自己做。都達(dá)到了~~就是費(fèi)錢,費(fèi)時(shí)間。
再有就是給做的朋友幾點(diǎn)建議:盡量拿到現(xiàn)成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒問題的原理圖。
網(wǎng)上流傳的原理圖多數(shù)是龔俊03年畫的,再這里對龔俊表達(dá)一下我的敬意!牛人!
但是那個(gè)圖有個(gè)小BUG,我指的是03版的,后來的沒這問題了。8019那地址線和地址有問題。還有人仿照他的PDF圖畫的SCH,更是漏洞百出!譴責(zé)!順便譴責(zé)把龔俊板子偷賣的人。
3.買哪家
個(gè)人感覺分3類吧
1)首先是ZLG的,資料非常的全,感覺他是真正想教你怎么開發(fā)ARM,而不是像有的公司自己技術(shù)都沒做好就做個(gè)板子出來賣錢。但是最大的不利就是價(jià)格太貴!而且主要是PHILIP的,貨源比較麻煩~~可能有人說21XX系列的不貴啊,那是總線不外擴(kuò)的,只能跑UCOS,不能跑UCLINUX。但是說是話,21XX系列才是ARM7的價(jià)格性能結(jié)合點(diǎn)。ARM7最適合做工業(yè)控制,ARM普及,銷量都是怎么來的?都是ARM7來的,而44B0是典型的商業(yè)片子。但是,這里如果你看中的是為工作做準(zhǔn)備,還是選能跑UCLINUX的吧。
但是仍然作為第一個(gè)推薦,因?yàn)椴锁B時(shí)期,合適的資料太重要了!!在這里被ZLG的務(wù)實(shí)精神感動(dòng)!你看人家那代碼寫的。
2)感覺立宇泰的44B0不錯(cuò)
硬件沒別的,就是資料比較全的說,不像有些家,原理圖直接拿人家的,還錯(cuò)的~~
3)找個(gè)最便宜的
好象最便宜的有賣350的吧?也是沒別的,就是即省了錢 還省時(shí)間搜集資料,至于資料全不全,別計(jì)較了~~硬件肯定好使就行吧。
四 要不要有51 AVR等單片機(jī)基礎(chǔ)
有更好,但沒有也無所謂。
兩個(gè)月以前,我只是看別人做,耳濡目染~~,本科學(xué)過單片機(jī),從來沒做過。我們這的技術(shù)主干做AVR和51,我就跟他們調(diào)過C語言程序。你看出來了?我是個(gè)不折不扣的菜鳥吧?
但是做這個(gè)之前我特意找了ZLG的兩本書,看了里面的例子和原理圖,這很重要。例程里有匯編有C,都看懂了就OK,不用自己現(xiàn)寫
五 開發(fā)都需要學(xué)習(xí)哪些軟件
總結(jié)起來最主要的有以下幾個(gè)吧
1 ADS調(diào)試用
確切的說是ADS+AXD。ADS里包含AXD。原來都用SDT后來ARM公司停止對SDT支持了,改支持ADS了,還是用ADS吧。
有的人的程序發(fā)布的仍然是SDT版本的,但基本都可以找到相應(yīng)ADS的,新人在這里不要發(fā)蒙。ADS是編譯器,AXD是調(diào)試器。便宜成AXF以后再在ARM的RAM里調(diào)試。
2 PLASHPGM
FLASH燒寫的軟件。AXD在RAM里調(diào)試,掉電就沒有了,方便程序修改。調(diào)試好的程序再下到FLASH里,上電直接運(yùn)行。
同類的軟件還有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人還問FLASH不支持BIN格式文件的問題就要看我寫的PLASHPGM使用了。
3 BANYANT調(diào)試代理(不知道名對不,起這么個(gè)難記的,我一般都叫它“半羊”因?yàn)橹浪菐滋靹偝粤丝狙颍?/p>
調(diào)試代理就是用它幫你使用更簡單的JTAG(便宜啊)來實(shí)現(xiàn)原本1K才賣的JTAG仿真器的大部分功能。JTAG調(diào)試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的JTAG的驅(qū)動(dòng)就行了。
調(diào)試代理還有很多種,什么H-JTAG了、ARM7了(不知道具體叫什么,就記得可執(zhí)行文件叫ARM7.EXE)都是,BANYANT比較好。
需要注意的是,沒種調(diào)試代理安裝方法雖然都簡單但都不一樣,需要看說明。而且AXD調(diào)試之前都要運(yùn)行。省錢了,就別怕麻煩了。
4 ARM-ELF-TOOLS工具鏈
里面是UCLINUX開發(fā)用的工具比如ARM-ELF-GCC只類的。工具鏈就是把很多工具打包在一起發(fā)布的方便你開發(fā)的東西。具體安裝方法看我另一篇筆記。
另外如果你開發(fā)LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同類的好象還有VIVI(名字很曖昧~~)
生成的BOOTLOADER燒到FLASH里,然后就可以用BOOTLOADER下載 燒寫其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當(dāng)然UCOS的不用這個(gè),用什么我不知道:)
最新版本是1.1.4 具體使用方法看我另一篇筆記吧。
6 UCLINUX包
UCLINUX的源碼包,不用多說了吧?建議大家用現(xiàn)成的先體會一下,然后再自己編譯,裁剪。因?yàn)閱为?dú)UCLINUX的編輯技術(shù)上比較簡單,但涉及的方面還是比較廣的。
7 VMWARE
老牌的虛擬機(jī)軟件,在一個(gè)機(jī)器上虛擬出一個(gè)機(jī)器裝LINUX(PC上用的),省得你來回開關(guān)機(jī)了。記得裝VMWARE-TOOLS,安裝方法在我另一篇筆記里。
六 有哪些書推薦
主要推薦ZLG的三本書,有這3本再加網(wǎng)絡(luò)就不用別的書了,其中主要推薦前2本,3是介紹體系結(jié)構(gòu)的,也不錯(cuò)
1 ARM嵌入式LINUX系統(tǒng)構(gòu)建與驅(qū)動(dòng)開發(fā),北航版
驅(qū)動(dòng)寫的很詳細(xì),前期開發(fā)介紹也很好
2 ARM 嵌入式系統(tǒng)實(shí)驗(yàn)教程(二),北航版
【ARM的入門學(xué)習(xí)方法】相關(guān)文章:
法語入門學(xué)習(xí)方法10-15
手繪入門學(xué)習(xí)方法10-02
嵌入式初學(xué)者開發(fā)ARM的學(xué)習(xí)方法10-14
工程制圖入門學(xué)習(xí)方法09-26
英語入門的學(xué)習(xí)方法2篇08-05
兒童聲樂的入門學(xué)習(xí)方法09-20
爵士舞的入門學(xué)習(xí)方法09-30
韓語入門學(xué)習(xí)方法和技巧09-10
素描入門學(xué)習(xí)方法有哪些09-09
跆拳道入門學(xué)習(xí)方法10-01