一区二区三区精品,九价1300一针是国产还是进口,欧美视频三区,蜜桃六月天综合网

入門(mén)向?qū)В篈RM與嵌入式linux

浪起激光2013-04-2358778

由于很多人總問(wèn)這個(gè)問(wèn)題,所以這里做一個(gè)總結(jié)文檔供大家參考。這里必須先說(shuō)明,以下的步驟都是針對(duì)Linux系統(tǒng)的,并不面向WinCE。也許你會(huì) 注意到,現(xiàn)在做嵌入式的人中,做linux研究的人遠(yuǎn)比做WinCE的人多,很多產(chǎn)家提供的資料也是以linux為主。我一直很難理解,其實(shí)WinCE的 界面比linux的界面好看多了,使用起來(lái)也很方便,更為重要的是,WinCE的開(kāi)發(fā)和Windows下的開(kāi)發(fā)基本一樣,學(xué)起來(lái)簡(jiǎn)單得多,但是學(xué) linux或者使用linux做嵌入式的人就是遠(yuǎn)比WinCE多。在和很多工作的人交流時(shí)我了解到,他們公司從沒(méi)考慮使用WinCE,因?yàn)槌杀靖?,都是?用linux進(jìn)行開(kāi)發(fā)。我讀研究生的的實(shí)驗(yàn)室中也沒(méi)有使用WinCE的,大都研究linux,也有少部分項(xiàng)目使用vxwork,但是就沒(méi)有聽(tīng)說(shuō)過(guò)使用 WinCE的,原因就是開(kāi)源!當(dāng)然現(xiàn)在WinCE6.0聽(tīng)說(shuō)也開(kāi)源,不過(guò)在成本和資源上linux已經(jīng)有了無(wú)人能擋的優(yōu)勢(shì)。與此相對(duì)應(yīng)的是,越來(lái)越多的電 子廠商已經(jīng)開(kāi)始使用linux開(kāi)發(fā)產(chǎn)品。舉個(gè)例子,Google開(kāi)發(fā)的智能手機(jī)操作系統(tǒng)Android其實(shí)就是使用linux-2.6.23內(nèi)核進(jìn)行改進(jìn) 得到的。
第一、學(xué)習(xí)基本的裸機(jī)編程
對(duì)于學(xué)硬件的人而言,必須先對(duì)硬件的基本使用方法有感性的認(rèn)識(shí),更必須深刻認(rèn)識(shí)該硬件的控制方式,如果一開(kāi)始就學(xué)linux系統(tǒng)、學(xué)移植那么只會(huì)馬上就陷 入一個(gè)很深的漩渦。我在剛剛開(kāi)始學(xué)ARM的時(shí)候是選擇ARM7(主意是當(dāng)時(shí)ARM9還很貴),學(xué)ARM7的時(shí)候還是保持著學(xué)51單片機(jī)的思維,使用ADS 去編程,第一個(gè)實(shí)驗(yàn)就是控制led。學(xué)過(guò)一段時(shí)間ARM的人都會(huì)笑這樣很笨,實(shí)際上也不是,我倒是覺(jué)得有這個(gè)過(guò)程會(huì)好很多,因?yàn)闊o(wú)論做多復(fù)雜的系統(tǒng)最終都 會(huì)落實(shí)到這些最底層的硬件控制,因此對(duì)這些硬件的控制有了感性的認(rèn)識(shí)就好很多了。
學(xué)習(xí)裸機(jī)的編程的同時(shí)要好好理解這個(gè)硬件的構(gòu)架、控制原理,這些我稱(chēng)他為理解硬件。所謂的理解硬件就是說(shuō),理解這個(gè)硬件是怎么組織這么多資源的,這 些資源又是怎么由cpu、由編程進(jìn)行控制的。比如說(shuō),s3c2410中有AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash控制器,這些東西 都有一些寄存器來(lái)控制,這些寄存器都有一個(gè)地址,那么這些地址是什么意思?又怎么通過(guò)寄存器來(lái)控制這些外圍設(shè)備的運(yùn)轉(zhuǎn)?還有,norflash內(nèi)部的每一 個(gè)單元在這個(gè)芯片的內(nèi)存中都有一個(gè)相應(yīng)的地址單元,那么這些地址與剛剛說(shuō)的寄存器地址又有什么關(guān)系?他們是一樣的嗎?而與norflash相對(duì)應(yīng)的 nandflash內(nèi)部的儲(chǔ)存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內(nèi)存空間上進(jìn)行使用?或者簡(jiǎn)單地說(shuō)應(yīng)該怎么 用nandflash?再有,使用ADS進(jìn)對(duì)ARM9行編程時(shí)都需要使用到一個(gè)初始化的匯編文件,這個(gè)文件究竟有什么用?他里面的代碼是什么意思?不要這 個(gè)可以嗎?
諸如此類(lèi)都是對(duì)硬件的理解,理解了這些東西就對(duì)硬件有很深的理解了,這對(duì)以后更深一步的學(xué)習(xí)將有很大的幫助,如果跳過(guò)這一步,我相信越往后學(xué)越會(huì)覺(jué)得迷茫,越覺(jué)得這寫(xiě)東西深不可測(cè)。因?yàn)?,你的根基沒(méi)打好。
不過(guò)先聲明一下,本人并沒(méi)有使用ADS對(duì)ARM9進(jìn)行編程,我是學(xué)完ARM7后直接就使用ARM9學(xué)linux系統(tǒng)的,因此涉及使用ADS對(duì)ARM9進(jìn)行編程的問(wèn)題我很難回答^_^,自己去研究研究吧。
對(duì)于這部分不久將提供一份教程,這個(gè)教程中的例程并不是我為我們所代理的板子寫(xiě)的,是我在我們學(xué)院實(shí)驗(yàn)室拿的,英培特為他們自己 的實(shí)驗(yàn)箱寫(xiě)的,不過(guò)很有借鑒意義,可以作為一份有價(jià)值的參考。
第二、使用linux系統(tǒng)進(jìn)行一些基本的實(shí)驗(yàn)
在買(mǎi)一套板子的時(shí)候一般會(huì)提供一些linux的試驗(yàn)例程,好好做一段時(shí)間這個(gè)吧,這個(gè)過(guò)程也是很有意義的,也是為進(jìn)一步的學(xué)習(xí)積累感性認(rèn)識(shí),你能想 象一個(gè)從沒(méi)有使用過(guò)linux系統(tǒng)的人能學(xué)好linux的編程嗎?好好按照手冊(cè)上的例程做一做里面的實(shí)驗(yàn),雖然有點(diǎn)娃娃學(xué)走路,有點(diǎn)弱智,但是我想很多高 手都會(huì)經(jīng)歷這個(gè)過(guò)程。
在這方面我們深藍(lán)科技目前沒(méi)有計(jì)劃提供相應(yīng)的例程,主要是開(kāi)發(fā)板的提供商會(huì)提供很豐富的例程,我們不做重復(fù)工作,只提供他們沒(méi)有的、最有價(jià)值的東西給大家。
第三、研究完整的linux系統(tǒng)的的運(yùn)行過(guò)程
所謂完整的linux系統(tǒng)包括哪些部分呢?
三部分:bootloader、linux kernel(linux內(nèi)核)、rootfile(根文件系統(tǒng))。
那么這3部分是怎么相互協(xié)作來(lái)構(gòu)成這個(gè)系統(tǒng)的呢?各自有什么用呢?三者有什么聯(lián)系?怎么聯(lián)系?系統(tǒng)的執(zhí)行流程又是怎么樣的呢?搞清楚這個(gè)問(wèn)題你對(duì)整 個(gè)系統(tǒng)的運(yùn)行就很清楚了,對(duì)于下一步制作這個(gè)linux系統(tǒng)就打下了另一個(gè)重要的根基。介紹這方面的資料網(wǎng)上可以挖掘到幾噸,自己好好研究吧。
第四、開(kāi)始做系統(tǒng)移植
上面說(shuō)到完整的linux有3部分,而且你也知道了他們之間的關(guān)系和作用,那么現(xiàn)在你要做的便是自己動(dòng)手學(xué)會(huì)制作這些東西。
當(dāng)然我不可能叫你編寫(xiě)這些代碼,這不實(shí)現(xiàn)。事實(shí)上這個(gè)3者都能在網(wǎng)下載到相應(yīng)的源代碼,但是這個(gè)源代碼不可能下載編譯后就能在你的系統(tǒng)上運(yùn)行,需要 很多的修改,直到他能運(yùn)行在你的板子上,這個(gè)修改的過(guò)程就叫移植。在進(jìn)行移植的過(guò)程中你要學(xué)的東西很多,要懂的相關(guān)知識(shí)也很多,等你完成了這個(gè)過(guò)程你會(huì)發(fā) 現(xiàn)你已經(jīng)算是一個(gè)初出茅廬的高手了。
在這個(gè)過(guò)程中如果你很有研究精神的話你必然會(huì)想到看源代碼。很多書(shū)介紹你怎么閱讀linux源代碼,我不提倡無(wú)目的地去看linux源代碼,用許三 多的話說(shuō),這沒(méi)有意義。等你在做移植的時(shí)候你覺(jué)得你必須去看源代碼時(shí)再去找基本好書(shū)看看,這里我推薦一本好書(shū)倪繼利的《linux內(nèi)核的分析與編程》,這 是一本針對(duì)linux-2.6.11內(nèi)核的書(shū),說(shuō)得很深,建議先提高自己的C語(yǔ)言編程水平再去看。
至于每個(gè)部分的移植網(wǎng)上也可以找到好多噸的資料,自己研究研究吧,不過(guò)要提醒的是,很多介紹自己經(jīng)驗(yàn)的東西都或多或少有所保留,你按照他說(shuō)的去做總 有一些問(wèn)題,但是他不會(huì)告訴你怎么解決,這時(shí)就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保證能解決你的問(wèn)題,因?yàn)槲椅幢赜龅竭^(guò)你的問(wèn) 題,不過(guò)我相信能給你一點(diǎn)建議,也許有助你解決問(wèn)題。
這一步的最終目的是,從源代碼的官方主頁(yè)上(都是外國(guó)的,悲哀)下載標(biāo)準(zhǔn)的源代碼包,然后進(jìn)行修改,最終運(yùn)行在板子上。
盜用阿基米德的一句話:“給我一根網(wǎng)線,我能將linux搞定”。 

本文鏈接:http://m.bjaowei.com/Read/79.html 轉(zhuǎn)載需授權(quán)!

  • 光纖激光打標(biāo)機(jī)能在陶瓷上打標(biāo)嗎?

    光纖激光打標(biāo)機(jī)能在陶瓷上打標(biāo)嗎?

    光纖激光打標(biāo)機(jī)能在陶瓷上打標(biāo)嗎?經(jīng)常遇到用戶的問(wèn)題,根據(jù)我們的經(jīng)驗(yàn)和以往的測(cè)試,陶瓷產(chǎn)品部分是可以的,但是大部分不行,例如這個(gè)陶瓷水果刀就是可以的,打標(biāo)出來(lái)是黑色非常漂亮;然后,我們常見(jiàn)酒瓶、盤(pán)子、碗...

  • 激光除銹機(jī)使用注意事項(xiàng)(PDF下載版)

    激光除銹機(jī)使用注意事項(xiàng)(PDF下載版)

    激光除銹機(jī)使用注意事項(xiàng).pdf一、開(kāi)機(jī)1、打開(kāi)機(jī)器后面空開(kāi)機(jī)器得電。2、前面板開(kāi)機(jī)順序:水冷機(jī)-系統(tǒng)-激光器(注意:冬季時(shí)水冷機(jī)溫度需要達(dá)到設(shè)定溫度)。3、冬季為了防止結(jié)冰,水冷機(jī)需按比例使用防凍液;...

  • 打標(biāo)機(jī)的二維碼中有漢字掃描不出來(lái)是怎么回事?

    打標(biāo)機(jī)的二維碼中有漢字掃描不出來(lái)是怎么回事?

    2024年3月,接到部分客戶反映,用激光打標(biāo)機(jī)制作的二維碼掃描不出來(lái),提示:“微信暫不支持展示二維碼中的文本內(nèi)容”。請(qǐng)注意,在底部還有一個(gè)“復(fù)制文本內(nèi)容”。其實(shí),這和打標(biāo)機(jī)沒(méi)有關(guān)系,因?yàn)槲⑿诺母陌?,?..

  • 激光除銹機(jī)和手持激光焊接機(jī)區(qū)別

    激光除銹機(jī)和手持激光焊接機(jī)區(qū)別

    激光除銹機(jī)和手持激光焊接機(jī)是兩種不同的設(shè)備,它們的區(qū)別主要體現(xiàn)在使用場(chǎng)景、技術(shù)原理和應(yīng)用領(lǐng)域上。首先,激光除銹機(jī)主要用于清除金屬表面的銹跡和雜質(zhì),而手持激光焊接機(jī)主要用于焊接金屬材料。其次,激光除銹機(jī)...

  • 激光打標(biāo)機(jī)激光場(chǎng)鏡的主要作用

    激光打標(biāo)機(jī)激光場(chǎng)鏡的主要作用

    激光打標(biāo)機(jī)激光場(chǎng)鏡的主要作用是:1、提高邊緣光束入射到探測(cè)器的能力;2、使探測(cè)器光敏面上的非均勻光照得以均勻化;3、在相同的主光學(xué)系統(tǒng)中,附加激光場(chǎng)鏡將減少探測(cè)器的面積;如果使用同樣的探測(cè)器面積,可擴(kuò)...

  • 比較專(zhuān)業(yè)的場(chǎng)鏡的分類(lèi)

    比較專(zhuān)業(yè)的場(chǎng)鏡的分類(lèi)

    場(chǎng)鏡按功能分可分為平場(chǎng)鏡(f-theta)透鏡和遠(yuǎn)心透鏡(Telecentric)。遠(yuǎn)心透鏡主要是為了消除相差而設(shè)計(jì)的,它可以在一定的物距范圍內(nèi),使得到的圖像放大倍率不會(huì)變化,這對(duì)被測(cè)物不在同一物面上...

  • 激光打標(biāo)機(jī)激光場(chǎng)鏡的主要作用

    激光打標(biāo)機(jī)激光場(chǎng)鏡的主要作用

    #場(chǎng)鏡激光打標(biāo)機(jī)激光場(chǎng)鏡的主要作用是:1、提高邊緣光束入射到探測(cè)器的能力;2、使探測(cè)器光敏面上的非均勻光照得以均勻化;3、在相同的主光學(xué)系統(tǒng)中,附加激光場(chǎng)鏡將減少探測(cè)器的面積;如果使用同樣的探測(cè)器面積,可擴(kuò)...

  • 風(fēng)冷手持激光焊接機(jī)將會(huì)成為趨勢(shì)和主流

    風(fēng)冷手持激光焊接機(jī)將會(huì)成為趨勢(shì)和主流

    從2020年開(kāi)始,手持激光焊接機(jī)開(kāi)始起量,用戶接受焊接效果及其價(jià)格,2021年更是有爆發(fā)式的增長(zhǎng),截止到目前,一臺(tái)1000瓦的手持激光焊接機(jī)價(jià)格已經(jīng)在3萬(wàn)元左右了,價(jià)格還是比較容易接受的。目前的激光焊...

  • 影響激光打標(biāo)機(jī)打標(biāo)速度的幾個(gè)因素

    影響激光打標(biāo)機(jī)打標(biāo)速度的幾個(gè)因素

    通常來(lái)說(shuō)激光打標(biāo)機(jī)速度是非??斓模蟛糠謴S家給出的一般性能指標(biāo)為7000mm/s。但是實(shí)際應(yīng)用中,有客戶感覺(jué)效率并不高,企業(yè)在采購(gòu)激光打標(biāo)機(jī)時(shí),都很看重設(shè)備的打標(biāo)速度,因?yàn)檫@直接關(guān)系到訂單的加工效率。...

  • 選購(gòu)激光焊接設(shè)備的注意事項(xiàng)

    選購(gòu)激光焊接設(shè)備的注意事項(xiàng)

    1、購(gòu)買(mǎi)激光焊接設(shè)備一個(gè)重要因素就是需要明確焊接的產(chǎn)品類(lèi)型,如何焊接,焊接速度需要多快,而這些都會(huì)影響你購(gòu)買(mǎi)設(shè)備的價(jià)格,比如你是焊接電池蓋帽,極耳,動(dòng)力電池連接片,方形電池密封焊,防爆閥焊接,金屬薄板...

猜你還喜歡這些...