欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      ARM與嵌入式linux的入門建議(六步曲).

      時間:2019-05-15 00:18:07下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《ARM與嵌入式linux的入門建議(六步曲).》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《ARM與嵌入式linux的入門建議(六步曲).》。

      第一篇:ARM與嵌入式linux的入門建議(六步曲).

      【轉(zhuǎn)帖】 ARM與嵌入式linux的入門建議(六部曲)由于很多人總問這個問題,所以這里做一個總結(jié)供大家參考。這里必須先說明,以下的步驟都是針對Linux系統(tǒng) 的,并不面向WinCE。也許你會注意到,現(xiàn)在做嵌入式的人中,做linux研究的人遠(yuǎn)比做WinCE的人多,很多產(chǎn)家 提供的資料也是以linux為主。我一直很難理解,其實(shí)WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發(fā)和Windows下的開發(fā)基本一樣,學(xué)起來簡單得多,但是學(xué)linux或者使用linux做嵌 入式的人就是遠(yuǎn)比WinCE多。在和很多工作的人交流時我了解到,他們公司從沒考慮使用WinCE,因?yàn)槌杀靖?,?是使用linux進(jìn)行開發(fā)。我讀研究生的的實(shí)驗(yàn)室中也沒有使用WinCE的,大都研究linux,也有少部分項(xiàng)目使用 vxwork,但是就沒有聽說過使用WinCE的,原因就是開源!當(dāng)然現(xiàn)在WinCE6.0聽說也開源,不過在成本和資源上 linux已經(jīng)有了無人能擋的優(yōu)勢。與此相對應(yīng)的是,越來越多的電子廠商已經(jīng)開始使用linux開發(fā)產(chǎn)品。舉個例子,Google近期開發(fā)的智能手機(jī)操作系統(tǒng)Android其實(shí)就是使用linux-2.6.23內(nèi)核進(jìn)行改進(jìn)得到的。

      第一,學(xué)習(xí)基本的裸機(jī)編程。

      對于學(xué)硬件的人而言,必須先對硬件的基本使用方法有感性的認(rèn)識,更必須深刻認(rèn)識該硬件的控制方式,如 果一開始就學(xué)linux系統(tǒng)、學(xué)移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學(xué)ARM的時候是選擇ARM7(主意是當(dāng)時ARM9還很貴),學(xué)ARM7的時候還是保持著學(xué)51單片機(jī)的思維,使用ADS去編程,第一個實(shí)驗(yàn)就是控制 led。學(xué)過一段時間ARM的人都會笑這樣很笨,實(shí)際上也不是,我倒是覺得有這個過程會好很多,因?yàn)闊o論做多復(fù) 雜的系統(tǒng)最終都會落實(shí)到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認(rèn)識就好很多了學(xué)習(xí)裸機(jī)的 編程的同時要好好理解這個硬件的構(gòu)架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個 硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進(jìn)行控制的。比如說,s3c2410中有AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那 么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設(shè)備的運(yùn)轉(zhuǎn)?還有,norflash內(nèi)部的每一個單元在這 個芯片的內(nèi)存中都有一個相應(yīng)的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關(guān)系?他們是一樣的嗎 ?而與norflash相對應(yīng)的nandflash內(nèi)部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映 射在內(nèi)存空間上進(jìn)行使 用?或者簡單地說應(yīng)該怎么用nandflash?再有,使用ADS進(jìn)對ARM9行編程時都需要使用到 一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎?諸如此類都是對 硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學(xué)習(xí)將有很大的幫助,如果跳過這 一步,我相信越往后學(xué)越會覺得迷茫,越覺得這寫東西深不可測。因?yàn)椋愕母?/p>

      沒打好。不過先聲明一下,本 人并沒有使用ADS對ARM9進(jìn)行編程,我是學(xué)完ARM7后直接就使用ARM9學(xué)linux系統(tǒng)的,因此涉及使用ADS對ARM9進(jìn) 行編程的問題我很難回答^_^,自己去研究研究吧。

      對于這部分不久將提供一份教程,這個教程中的例程并不是我為我們所代理的板子寫的,是我在我們學(xué)院實(shí) 驗(yàn)室拿的,英培特為他們自己的實(shí)驗(yàn)箱寫的,不過很有借鑒意義,可以作為一份有價值的參考。

      第二,使用linux系統(tǒng)進(jìn)行一些基本的實(shí)驗(yàn)。

      在買一套板子的時候一般會提供一些linux的試驗(yàn)例程,好好做一段時間這個吧,這個過程也是很有意義的,也是為進(jìn)一步的學(xué)習(xí)積累感性認(rèn)識,你能想象一個從沒有使用過linux系統(tǒng)的人能學(xué)好linux的編程嗎?好好按 照手冊上的例程做一做里面的實(shí)驗(yàn),雖然有點(diǎn)娃娃學(xué)走路,有點(diǎn)弱智,但是我想很多高手都會經(jīng)歷這個過程。

      在這方面我們深藍(lán)科技目前沒有計(jì)劃提供相應(yīng)的例程,主要是開發(fā)板的提供商會提供很豐富的例程,我們 不做重復(fù)工作,只提供他們沒有的、最有價值的東西給大家。

      第三,研究完整的linux系統(tǒng)的的運(yùn)行過程。

      所謂完整的linux系統(tǒng)包括哪些部分呢?

      三部分:bootloader、linux kernel(linux內(nèi)核)、rootfile(根文件系統(tǒng))。

      那么這3部分是怎么相互協(xié)作來構(gòu)成這個系統(tǒng)的呢?各自有什么用呢?三者有什么聯(lián)系?怎么聯(lián)系?系統(tǒng)的 執(zhí)行流程又是怎么樣的呢?搞清楚這個問題你對整個系統(tǒng)的運(yùn)行就很清楚了,對于下一步制作這個linux系統(tǒng)就 打下了另一個重要的根基。介紹這方面的資料網(wǎng)上可以挖掘到幾噸,自己好好研究吧。第四,開始做系統(tǒng)移植。

      上面說到完整的linux有3部分,而且你也知道了他們之間的關(guān)系和作用,那么現(xiàn)在你要做的便是自己動手學(xué) 會制作這些東西。

      當(dāng)然我不可能叫你編寫這些代碼,這不實(shí)現(xiàn)。事實(shí)上這個3者都能在網(wǎng)下載到相應(yīng)的源代碼,但是這個源代 碼不可能下載編譯后就能在你的系統(tǒng)上運(yùn)行,需要很多的修改,直到他能運(yùn)行在你的板子上,這個修改的過程就 叫移植。在進(jìn)行移植的過程中你要學(xué)的東西很多,要懂的

      相關(guān)知識也很多,等你完成了這個過程你會發(fā)現(xiàn)你已經(jīng) 算是一個初出茅廬的高手了。

      在這個過程中如果你很有研究精神的話你必然會想到看源代碼。很多書介紹你怎么閱讀linux源代碼,我不 提倡無目的地去看linux源代碼,用許三多的話說,這沒有意義。等你在做移植的時候你覺得你必須去看源代碼 時再去找基本好書看看,這里我推薦一本好書倪繼利的《linux內(nèi)核的分析與編程》,這是一本針對linux-2.6.11內(nèi)核的書,說得很深,建議先提高自己的C語言編程水平再去看。

      至于每個部分的移植網(wǎng)上也可以找到好多噸的資料,自己研究研究吧,不過要提醒的是,很多介紹自己經(jīng)驗(yàn) 的東西都或多或少有所保留,你按照他說的去做總有一些問題,但是他不會告訴你怎么解決,這時就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保證能解決你的問題,因?yàn)槲椅幢赜龅竭^你的問題,不過我 相信能給你一點(diǎn)建議,也許有助你解決問題。

      這一步的最終目的是,從源代碼的官方主頁上(都是外國的,悲哀)下載標(biāo)準(zhǔn)的源代碼

      包,然后進(jìn)行修改,最終運(yùn)行在板子上。

      盜用阿基米德的一句話:“給我一根網(wǎng)線,我能將linux搞定”。

      第五,研究linux驅(qū)動程序的編寫。

      移植系統(tǒng)并不是最終的目的,最終的目的是開發(fā)產(chǎn)品,做項(xiàng)目,這些都要進(jìn)行驅(qū)動程序的開發(fā)。

      Linux的驅(qū)動程序可以說是五花八門,linux2.4和linux2.6的編寫有相當(dāng)大的區(qū)別,就是同為linux2.6但是 不同版本間的驅(qū)動程序也有區(qū)別,因此編寫linux的驅(qū)動程序變都不是那么容易的事情,對于最新版本的驅(qū)動程 序的編寫甚至還沒有足夠的參考資料。那么我的建議就是使用、移植一個不算很新的版本內(nèi)核,這樣到時學(xué)驅(qū)動 的編程就有足夠的資料了。這部分的推薦書籍可以參考另一篇文章《推薦幾本學(xué)習(xí)嵌入式linux的書籍》。

      第六,研究應(yīng)用程序的編寫。

      做作品做項(xiàng)目除了編寫驅(qū)動程序,最后還要編寫應(yīng)用程序。現(xiàn)在的趨勢是圖形應(yīng)用程序的開發(fā),而圖形應(yīng)用 程序中用得最多的還是qt/e函數(shù)庫。我一直就使用這個函數(shù)庫來開發(fā)自己的應(yīng)用程序,不過我希望你能使用國產(chǎn) 的MiniGUI函數(shù)庫。盜用周杰倫的廣告詞就是“支持國產(chǎn),支持MiniGUI”。MiniGUI的編程比較相似Windows下的 VC編程,比較容易上手,效果應(yīng)該說是相當(dāng)不錯的,我曾使用過來開發(fā)ARM7的程序。不過MiniGUI最大的不好就 是沒有像qtopia這樣的圖形操作平臺,這大大限制了他的推廣,我曾經(jīng)幻想過與北京飛漫公司(就是MiniGUI的 版權(quán)擁有者)合作使用MiniGUI函數(shù)庫

      開發(fā)像qtopia這樣的圖形操作平臺,不過由于水平有限這只能是幻想了,呵呵。完成這一步你基本就學(xué)完了嵌入式linux的全部內(nèi)容了。

      還有一個小小的經(jīng)驗(yàn)想和大家分享。我在學(xué)習(xí)嵌入式linux的過程中很少問人,客觀原因是身邊的老師、同 學(xué)師兄都沒有這方面的高手,主觀原因是我不喜歡問人,喜歡自己研究解決問題。這樣做有個好處,就是可以提 高自己解決問題的能力,因?yàn)樽鲞@些東西總有很多問題你難以理解,別人也沒有這方面的經(jīng)驗(yàn),也不是所有問題 都有人給你答案,這時必須要自己解決問題,這樣,個人的解決問題能力就顯得非常關(guān)鍵了。因此我的建議就是 一般的問題到網(wǎng)上搜索一下,確實(shí)找不到答案了就問問高手,還是不行了就自己去研究,不要一味去等別人幫你 解決問題。記住,問題是學(xué)習(xí)的最好機(jī)會。在網(wǎng)上看到了這篇好文章,跟大家分享一下,希望對大家的學(xué)習(xí)有所幫助!ARM與嵌入式linux的入門建議(六部曲)由于很多人總問這個問題,所以這里做一個總結(jié)供大家參考。這里必須先說明,以下的步驟都是針對Linux系統(tǒng) 的,并不面向WinCE。也許你會注意到,現(xiàn)在做嵌入式的人中,做linux研究的人遠(yuǎn)比做WinCE的人多,很多產(chǎn)家 提供的資料也是以linux為主。我一直很難理解,其實(shí)WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發(fā)和Windows下的開發(fā)基本一樣,學(xué)起來簡單得多,但是學(xué)linux或者使用linux做嵌 入式的人就是遠(yuǎn)比WinCE多。在和很多工作的人交流時我了解到,他們公司從沒考慮使用WinCE,因?yàn)槌杀靖?,?是使用linux進(jìn)行開發(fā)。我讀研究生的的實(shí)驗(yàn)室中也沒有使用WinCE的,大都研究

      linux,也有少部分項(xiàng)目使用 vxwork,但是就沒有聽說過使用WinCE的,原因就是開源!當(dāng)然現(xiàn)在WinCE6.0聽說也開源,不過在成本和資源上 linux已經(jīng)有了無人能擋的優(yōu)勢。與此相對應(yīng)的是,越來越多的電子廠商已經(jīng)開始使用linux開發(fā)產(chǎn)品。舉個例子,Google近期開發(fā)的智能手機(jī)操作系統(tǒng)Android其實(shí)就是使用linux-2.6.23內(nèi)核進(jìn)行改進(jìn)得到的。

      第一,學(xué)習(xí)基本的裸機(jī)編程。

      第二,使用linux系統(tǒng)進(jìn)行一些基本的實(shí)驗(yàn)。

      第三,研究完整的linux系統(tǒng)的的運(yùn)行過程。

      第四,開始做系統(tǒng)移植。

      第五,研究linux驅(qū)動程序的編寫。

      第六,研究應(yīng)用程序的編寫。

      在網(wǎng)上看到了這篇好文章,跟大家分享一下,希望對大家的學(xué)習(xí)有所幫助!深圳信盈達(dá)嵌入式、單片機(jī)、ARM、MIPS、FPGA、Android培訓(xùn)!免費(fèi)試聽,滿意后給您量身定制 課程(包學(xué)會),快速提高您的技能!教學(xué)特色:名師督學(xué)+工程師指導(dǎo);項(xiàng)目案列解析+實(shí)際解決方案!技術(shù)顧問:曹老師:qq:2859780203 歡迎大家進(jìn)入華南地區(qū)最大的單片機(jī)嵌入式學(xué)習(xí)群:247452389 共同交流、學(xué)習(xí)

      第二篇:ARM與嵌入式Linux的入門建議.

      ARM與嵌入式linux的入門建議

      ARM與嵌入式linux的入門建議

      類別:嵌入式系統(tǒng)

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

      第三篇:ARM與嵌入式實(shí)驗(yàn)報(bào)告

      ARM與嵌入式技術(shù)

      實(shí)驗(yàn)報(bào)告

      專業(yè)班級:通信工程

      姓名:**** 學(xué)號:******

      實(shí)驗(yàn)日期:2012年6月7日 指導(dǎo)老師:*****

      一、實(shí)驗(yàn)?zāi)康?/p>

      1.學(xué)習(xí)使用Embest IDE開發(fā)環(huán)境及ARM 軟件模擬器;

      2.掌握簡單ARM 匯編指令,進(jìn)一步加強(qiáng)對嵌入式的熟悉和了解。

      二、實(shí)驗(yàn)設(shè)備

      硬件:PC 機(jī)

      軟件:Embest IDE 開發(fā)環(huán)境

      三、實(shí)驗(yàn)內(nèi)容

      例3:實(shí)現(xiàn)64位加法運(yùn)算,要求【R1:R0】+【R3:R2】,結(jié)果放回【R1:R0】中; 例2:編寫程序?qū)2的高8位傳送到R3的低8位(不考慮R3的其它位); 例7:編寫一段程序計(jì)算10?。?/p>

      例8:串拷貝(R1指向源數(shù)據(jù)串的首地址,R0指向目的數(shù)據(jù)串的首地址)。

      四、實(shí)驗(yàn)步驟

      1)新建工程:

      運(yùn)行Embest IDE 集成開發(fā)環(huán)境,選擇菜單項(xiàng)File → New Workspace,如圖一,系統(tǒng)彈出一個對話框,鍵入文件名“沈”,如圖二,點(diǎn)擊OK 按鈕。將創(chuàng)建一個新工程,并同時創(chuàng)建一個與工程名相同的工作區(qū)。此時在工作區(qū)窗口將打開該工作區(qū)和工程.。

      2)建立源文件:

      點(diǎn)擊菜單項(xiàng)File → New,如圖三,系統(tǒng)彈出一個新的文本編輯窗,輸入源文件代碼。編輯完后,保存文件“沈.s”后綴,如圖四。

      3)添加源文件:

      選擇菜單項(xiàng)Project → Add To Project → Files,在工程目錄下選擇剛才建立的源文件.s后綴文件,如圖五,圖六。

      4)基本配置:

      選擇菜單項(xiàng)Project → Settings,彈出工程設(shè)置對話框。在工程設(shè)置對話框中。① 選擇Processor 設(shè)置對話框,按照圖七所示,進(jìn)行配置:

      圖七

      ② 選擇Remote設(shè)置對話框,按照下圖八所示,進(jìn)行配置:

      圖八 ③ 選擇最右邊一個進(jìn)行編譯,顯示如圖九,則編譯成功。

      圖九

      ④ 選擇Project → Settings → Debug設(shè)置對話框,按照圖十所示,進(jìn)行配置:

      圖十 ⑤

      選擇

      5)選擇菜單項(xiàng)Debug →Remote Connect 進(jìn)行連接軟件仿真器,將存儲器地址改為0x1000,如圖十一,執(zhí)行Debug →Download 命令下載程序,并打開寄存器窗口。打開memory 窗口,按F10進(jìn)行單步跟蹤,觀察寄存器的數(shù)據(jù)變化并分析。最右邊一個進(jìn)行編譯,顯示如圖九,則編譯成功。

      圖十一

      五、各實(shí)驗(yàn)的參考程序及運(yùn)行結(jié)果

      實(shí)驗(yàn)一:(例3)實(shí)現(xiàn)64位加法運(yùn)算,要求【R1:R0】+【R3:R2】,結(jié)果放回【R1:R0】中; 1.程序代碼如下:

      .global _start

      .text _start:

      mov R0,#11

      /*R0=11*/ mov R1,#22

      /*R1=22*/ mov R2,#33

      /*R2=33*/ mov R3,#44

      /*R3=44*/ ADDS R0,R0,R2

      /*R0等于低32位相加,并影響標(biāo)志位*/

      ADC R1,R1,R3

      /*R1等于高32位相加,并加上低位進(jìn)位*/ stop:

      b stop.end

      2.分析調(diào)試:

      ①download下載:

      ② 讀入數(shù)據(jù):

      ③ r0+r2→r0(低32位):

      ④ r1+r3→r1(帶進(jìn)位的加法):

      實(shí)驗(yàn)二:(例2)編寫程序?qū)2高8位傳送到R3的低8位(不考慮R3的其它位);

      1.程序代碼如下:

      .global _start _start: ldr r2,=0x23453401 ldr r3,=0xabcd1200 and r2,r2,#0xff000000 /*保留R2的高8位,屏蔽低24位*/ and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/

      orr r3,r3,r2,lsr #24

      /*將R2的高8位傳送到R3的低8位*/ stop:

      b stop.end

      2.分析調(diào)試:

      ①download下載:

      ②保留r2的高8位,屏蔽低24位:

      ③保留r3的高24位,屏蔽低8位:

      ④將R2的高8位傳送到R3的低8位:

      實(shí)驗(yàn)三:(例7)編寫一段程序計(jì)算10!

      1.程序代碼如下:

      .global _start.text.equ num,10 _start: mov r0,#num mov r1,r0 s1: subs r1,r1,#1

      /*把r1-1放入r1*/ mul r0,r1,r0

      /*r0*r1放入r0*/ cmp r1,#1

      /*比較R1與1的大小*/ beq stop

      bne s1 stop: b stop.end

      2.分析調(diào)試:

      ① download下載:

      ② 第一次執(zhí)行S1,r1=10-1=9,10*9=90,換成16進(jìn)制是5a。

      ③ 第二次執(zhí)行S1,r1=9-1=8,10*9*8=720,換成16進(jìn)制是2d0。

      ④ 依次執(zhí)行S1,到r1=1,停止,10*9*8??*1=3628800,換成16進(jìn)制是375f00。

      實(shí)驗(yàn)四:(例8)串拷貝(R1指向源數(shù)據(jù)串首地址,R0指向目的數(shù)據(jù)串的首地址)。1.程序代碼如下:.global _start.text.EQU NUM,8 _start:

      LDR R0,=srcstr

      /*指向源數(shù)據(jù)串R0*/

      LDR R1,=dststr

      /*指向目標(biāo)數(shù)據(jù)串R1*/

      mov R3,#NUM

      /*R3=8*/

      mov LR,PC

      /*返回*/

      B strcopy

      /*調(diào)用串拷貝子程序*/ stop: b stop

      strcopy:

      LDRB R2,[R0],#1

      /*裝載字節(jié)同時更新地址*/

      STRB R2,[R1],#1

      /*存儲字節(jié)同時更新地址*/

      SUBS R3,R3,#1

      CMP R3,#0

      /*判斷是否結(jié)束*/

      BNE strcopy

      /*不是,則繼續(xù)*/

      MOV PC,LR

      /*返回*/.data

      srcstr:.long 1,2,3,4,5,6,7,0

      /*定義源數(shù)據(jù)串*/

      dststr:.long 5,3,2,1,4,6,8,0

      /*定義目的字符串*/

      2.分析調(diào)試:

      ①單步跟蹤后的結(jié)果及存儲器的結(jié)果顯示:

      ②寄存器的結(jié)果顯示:

      六、實(shí)驗(yàn)心得

      今天在實(shí)驗(yàn)室里,學(xué)習(xí)使用Embest IDE開發(fā)環(huán)境及ARM 軟件模擬器,掌握簡單ARM 匯編指令,進(jìn)一步加強(qiáng)了對嵌入式的熟悉和了解。鄭老師在兢兢業(yè)業(yè)的向我們傳授實(shí)踐知識的同時也向我們提問相關(guān)理論問題,讓我們在學(xué)習(xí)的過程加深對實(shí)踐和理論兩者之間的聯(lián)系,知道每一個步驟的發(fā)生的原因及產(chǎn)生相應(yīng)的結(jié)果,即對實(shí)驗(yàn)的來龍去脈有了更清楚的認(rèn)識,為今后的學(xué)習(xí)打下了一定的基礎(chǔ)。相信在接下來的實(shí)驗(yàn)中,我們會在鄭老師的引導(dǎo)下,做起實(shí)驗(yàn)來更能得心應(yīng)手,輕車熟駕!

      第四篇:C語言程序設(shè)計(jì)入門學(xué)習(xí)六步曲

      C語言程序設(shè)計(jì)入門學(xué)習(xí)六步曲

      C語言容易入門嗎?我能學(xué)好嗎?

      如果你能夠成功地運(yùn)行下面一個Hello World程序,你就已經(jīng)入門了。

      #include “stdio.h” int main(){ printf(“Hello World”);return 0;} 看到這,你也許有疑問:C語言功能強(qiáng)大,運(yùn)行這么簡單的一個程序就算入門了,沒這么簡單吧? Hello World程序雖然簡單,但“麻雀雖小,五臟俱全”,它具備C程序的基本特征,功能再強(qiáng)大的C程序,也具有這些基本特征,所以說你能夠運(yùn)行這個程序就已經(jīng)入門了。

      入門后,我能學(xué)好嗎?

      一個剛剛學(xué)走路的幼兒,如果它能夠甩開父母的扶持,成功地邁出了第一步,雖然在以后較長的時間內(nèi)走地蹣跚,你會懷疑它學(xué)不會走路,走不好路嗎?相反,如果一個幼兒總害怕自己摔跤,以后再也不練習(xí)走路,那么后果可想而知。入門后,要培養(yǎng)自己學(xué)習(xí)C語言的興趣,如果有了興趣,即使在別人看來你學(xué)得再苦再累,你也會樂而不疲地學(xué),就像打游戲,沒有老師教,就自己摸索,通宵達(dá)旦地打游戲,也不感覺累,而且經(jīng)常和同學(xué)交流打游戲的經(jīng)驗(yàn)和體會,打游戲的技術(shù)會提高得不快嗎?C語言的學(xué)習(xí)何嘗不是這樣呢?培養(yǎng)你的C語言學(xué)習(xí)興趣吧,興趣是你學(xué)習(xí)C語言最好的老師,如果你有了興趣,再找一些身邊的C語言愛好者交朋友,共同學(xué)習(xí)(目的是消除自己學(xué)習(xí)的孤獨(dú)感),經(jīng)常交流學(xué)習(xí)C語言的心得和體會(有時,你百思不得其解的難題,別人一句不經(jīng)意的話使你茅塞頓開,這就是所謂的說者無意,聽者有心吧),共同進(jìn)步,再經(jīng)常上一些好的C語言論壇進(jìn)行學(xué)習(xí)、交流,開闊自己的視野,如果你這樣做了,還擔(dān)心自己學(xué)不好C語言嗎?

      送給C語言初學(xué)者一句話來共勉:首先要相信自己有學(xué)好C語言的能力,然后不惜一切代價把這種能力表現(xiàn)出來,你就成功了。做任何事,何嘗不是這樣呢?

      解除了自己對C語言學(xué)習(xí)的恐懼感后,那么如何學(xué)習(xí)C語言呢?

      下面是我在學(xué)習(xí)程序設(shè)計(jì)和教學(xué)中的一點(diǎn)心得體會(對程序設(shè)計(jì)語言都適用),并結(jié)合我開發(fā)的C語言軟件,來介紹C語言的學(xué)習(xí)方法,希望對C語言初學(xué)者能夠有所幫助。

      初學(xué)者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發(fā)生這種現(xiàn)象的原因有三個:

      一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟件是要根據(jù)要解決問題的實(shí)際需要控制程序的流程,如果你沒有深刻地理解C語言的語句的執(zhí)行過程(或流程),你怎么會編寫程序解決這些實(shí)際問題呢?

      二、用C語言編程解決實(shí)際問題,所需要的不僅僅是C語言的編程知識,還需要相關(guān)的專業(yè)知識。例如,如果你不知道長方形的面積公式,即使C語言學(xué)得再好你也編不出求長方形的面積的程序來。

      三、C語言程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,“紙上談兵”式的光學(xué)不練是學(xué)不好C語言的。例如,大家都看過精彩自行車雜技表演,假如,你從來沒有騎過自行車,光聽教練講解相關(guān)的知識、規(guī)則、技巧,不要說上臺表演、就是上路你恐怕都不行。

      出現(xiàn)問題原因清楚了,那么如何學(xué)習(xí)呢?請你看【C語言學(xué)習(xí)六步曲】

      特別提醒:在使用本方法之前一定要先閱讀C語言的相關(guān)內(nèi)容,要初步掌握相關(guān)知識的要點(diǎn),然后按下述方法學(xué)習(xí),可以達(dá)到理解、鞏固、提高C語言知識和提高程序調(diào)式能力的目的。

      第一步、驗(yàn)證性練習(xí)

      在這一步要求按照教材上的程序?qū)嵗M(jìn)行原樣輸入,運(yùn)行一下程序是否正確。在這一步基本掌握C語言編程軟件的使用方法(包括新建、打開、保存、關(guān)閉C程序,熟練地輸入、編輯C程序;初步記憶新學(xué)章節(jié)的知識點(diǎn)、養(yǎng)成良好的C語言編程風(fēng)格)。初學(xué)者最容易犯的錯誤是:

      1、沒有區(qū)分開教材上的數(shù)字1和字母l,字母o和數(shù)字0的區(qū)別,造成變量未定義的錯誤。另一個易錯點(diǎn)是將英文狀態(tài)下的逗號,分號;括號()雙引號“"輸入出入成中文狀態(tài)下的逗號,分號;括號(),雙引號“”造成非法字符錯誤。

      2、C語言初學(xué)者易犯語法錯誤:使用未定義的變量、標(biāo)示符(變量、常量、數(shù)組、函數(shù)等)不區(qū)分大小寫、漏掉“;”、“{”與“}”、“(”與“)”不匹配、控制語句(選擇、分支、循環(huán))的格式不正確、調(diào)用庫函數(shù)卻沒有包含相應(yīng)的頭文件、調(diào)用未聲明的自定義函數(shù)、調(diào)用函數(shù)時實(shí)參與形參不匹配、數(shù)組的邊界超界等。

      3、修改C語言語法錯誤時要注意以下兩點(diǎn):

      (1)、由于C語言語法比較自由、靈活,因此錯誤信息定位不是特別精確。例如,當(dāng)提示第10行發(fā)生錯誤時,如果在第10行沒有發(fā)現(xiàn)錯誤,從第10行開始往前查找錯誤并修改之。

      (2)、一條語句錯誤可能會產(chǎn)生若干條錯誤信息只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調(diào)試程序時務(wù)必根據(jù)第一條錯誤信息進(jìn)行修改,修改后,立即運(yùn)行程序,如果還有很多錯誤,要一個一個地修改,即,每修改一處錯誤要運(yùn)行一次程序。

      第二步、照葫蘆畫瓢 在第一步輸入的C程序的基礎(chǔ)上進(jìn)行試驗(yàn)性的修改,運(yùn)行一下程序看一看程序結(jié)果發(fā)生了什么變化,分析結(jié)果變化的原因,加深新學(xué)知識點(diǎn)的理解。事實(shí)上這和第一步時同步進(jìn)行的,實(shí)現(xiàn)“輸入”加深知識的記憶,“修改”加深對知識的理解。記憶和理解是相輔相成的,相互促進(jìn)。

      例如:將最簡單的Hello World!程序 #include ”stdio.h“ int main(){ printf(”Hello World!n“);return 0;} 中的

      printf(”Hello World!n“);

      中的Hello World!改成你的姓名,運(yùn)行一下程序,看有什么變化?

      再如求1+2+3...+100的和的程序

      #include main(){

      int i,sum=0;

      for(i=1;i<=100;i++){ sum=sum+i;} printf(”sum=%dn“,sum);}

      第1次將for(i=1;i<=100;i++)中的100改成50,運(yùn)行一下程序,看有什么變化?

      第2次將for(i=1;i<=100;i++)中的i++改成i=i+2,運(yùn)行一下程序,看有什么變化?

      找出程序結(jié)果變化的原因,就加深了對C語句的理解。

      第三步、不看教材看是否能將前兩步的程序進(jìn)行正確地輸入并運(yùn)行。

      在這一步要求不看教材,即使程序不能運(yùn)行,看能否將其改正,使其能正確運(yùn)行。目的是對前兩步的記憶、理解進(jìn)一步強(qiáng)化。

      第四步、增強(qiáng)程序的調(diào)試能力

      在《Turbo C/C++ for Windows 集成實(shí)驗(yàn)與學(xué)習(xí)環(huán)境》集成的教材中每章都有C語言初學(xué)者易犯的錯誤,按照易出錯的類型,將教材中的正確的程序改成錯誤的程序,運(yùn)行一下程序,看出現(xiàn)的錯誤信息提示,并記下錯誤信息,再將程序改成正確的,運(yùn)行一下程序。這樣反復(fù)修改,就能夠?qū)W習(xí)C語言程序發(fā)生錯誤的原因和修改錯誤的能力。

      注意:每次只改錯一個地方,目的是顯示發(fā)生該錯誤的真正原因,避免一次改動多個地方,搞清發(fā)生錯誤的真正原因,切記!!

      注意:上機(jī)調(diào)試程序時要帶一個記錄本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調(diào)試經(jīng)驗(yàn),避免在編程犯同樣的錯誤,切記!!。

      例如,將Hello World程序中語句

      printf(”Hello World!n");

      中的;改成中文的分號;

      運(yùn)行一下程序,看有什么結(jié)果?

      C語言的錯誤信息的形式:(下面例子是的Turobo C2.0錯誤信息,如圖1)

      錯誤 文件名 行號 冒號 錯誤內(nèi)容

      ↓ ↓ ↓ ↓ ↓

      Error E:WinTcWinTcfrist.c 5 : Function call missing)in function main C語言的錯誤信息的形式:(下面例子是Visual C++6.0 錯誤信息,如圖2)

      文件名 行號 冒號 錯誤代碼 冒號 錯誤內(nèi)容

      ↓ ↓ ↓ ↓ ↓ ↓

      e:wintcwintcfrist.c(5): error C2143 : syntax error : missing ')' before ';'

      軟件集成了高校教學(xué)用的最多的兩個編譯器Visual C++6.0和Turbo c 2.0,支持C、標(biāo)準(zhǔn)C、C++、標(biāo)準(zhǔn)C++、WINDOWS C程序的編輯、編譯、和調(diào)試。軟件根據(jù)用戶輸入程序的類型智能選擇編譯器,不用使用者干涉。

      調(diào)試程序是一種實(shí)踐性很強(qiáng)的事,光紙上談兵是是沒用的,就像游泳運(yùn)動員只聽教練講解示范,而不親自下水練習(xí),是永遠(yuǎn)學(xué)不會游泳的。即使在優(yōu)秀的程序員編寫程序也會犯錯誤的,可能事最低級的語法錯誤,但他能快速發(fā)現(xiàn)錯誤并改正錯誤,而我們C語言初學(xué)者面對錯誤提示,不知道發(fā)生了什么錯誤,如何改正,這就是差別。

      第五步、研究典型的C語言程序,提高程序設(shè)計(jì)能力

      經(jīng)過上述過程的學(xué)習(xí),我們已經(jīng)學(xué)會了C語言各種語句的流程(即計(jì)算機(jī)是如何執(zhí)行這些語句的過程),然后就可以研讀別人編寫C語言經(jīng)典程序,看懂別人是如何解決問題的,學(xué)習(xí)解決問題的方法和程序設(shè)計(jì)技巧,提高自己的程序設(shè)計(jì)能力。

      在軟件中有50多個典型的源程序,研究它的實(shí)現(xiàn)方法,提高自己的程序設(shè)計(jì)能力。

      第六步、研究課程設(shè)計(jì)源成序,提高C語言程序設(shè)計(jì)能力和調(diào)試較大程序的能力。

      C語言課程設(shè)計(jì)的目的:是讓學(xué)生綜合利用所學(xué)的C語言知識,解決一些接近實(shí)際問題題目,提高程序設(shè)計(jì)和調(diào)試較大程序的能力,為進(jìn)一步進(jìn)行軟件開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。軟件中有4個注釋詳細(xì)的課程設(shè)計(jì)源程序

      摘自《Turbo C/C++ for windows 集成實(shí)驗(yàn)與學(xué)習(xí)環(huán)境》的《C語言入門教程》

      單擊下載軟件資料 軟件資料下載

      C語言好學(xué)嗎?

      C語言好學(xué)嗎?初學(xué)者常常問這個問題。答案很簡單,對C語言感興趣,有強(qiáng)烈的學(xué)習(xí)欲望,就容易學(xué)。如果不感興趣,再簡單的知識也學(xué)不會。

      試想一下,現(xiàn)在有幾個學(xué)校教學(xué)生打游戲呢?答案是否定的,可是很多學(xué)生都會打游戲,而且還經(jīng)常交流打游戲的心得體會。

      如果你對C語言感興趣,為什么不把學(xué)習(xí)打游戲的經(jīng)驗(yàn)用到學(xué)習(xí)C語言呢?如果這樣的話,C語言還難學(xué)嗎?

      最后送C語言初學(xué)者一句話來共勉:首先要相信自己是有能力學(xué)好C語言的,然后不惜一切代價把這種能力表現(xiàn)出來,你就成功了。做任何事,何嘗不是這樣呢?

      興趣是學(xué)習(xí)C語言的最大動力,學(xué)習(xí)方法給你指明努力的方向,讓你事半功倍。如果你感覺對你有幫助的話,請回帖支持,讓更多的朋友知道它,謝謝支持?。?/p>

      第五篇:基于ARM的嵌入式Linux終端的研討與實(shí)現(xiàn).

      基于ARM的嵌入式Linux終端的研討與實(shí)現(xiàn)

      【中文摘要】嵌入式Linux是將普通Linux操縱體系入行剪裁、改動,使之能在嵌入式盤算機(jī)體系上運(yùn)行的一種操縱體系。因?yàn)榧嬗蠰inux和嵌入式體系的長處,以及ARM Linux因其開放的資源特性,嵌入式Linux體系有著巨大的市場前景和商業(yè)機(jī)遇。在實(shí)際的應(yīng)用體系中,對操縱體系的實(shí)時機(jī)能也有一定的請求。好比在通信體系中,如果能對操縱體系的實(shí)時機(jī)能入行優(yōu)化,提高體系的響應(yīng)速度,就可以用軟件實(shí)現(xiàn)通信協(xié)定,下降對硬件的請求,用單芯片實(shí)現(xiàn)通信體系,從而下降產(chǎn)品成本。本論文的研討主要是基于ARM920T硬件平臺,該平臺主要面向高機(jī)能的用戶產(chǎn)品開發(fā)。在此平臺基本上,本文圍繞著Linux內(nèi)核向ARM平臺移植中幾個核心技術(shù)鋪開討論:首先對嵌入式Linux體系體系構(gòu)造入行了歸納,并詳細(xì)闡述了與體系移植相關(guān)的主要層。接著,給出了啟動引導(dǎo)代碼Boot Loader和Linux內(nèi)核初始化部門移植到硬件平臺上的整個入程,解決了移植入程中所面臨的義務(wù)和難題。最后,在對Linux內(nèi)核驅(qū)動模型深入掌握的基本上,深入探討了QT/Embedded界面的移植。本文最后討論了一些當(dāng)前嵌入式Linux實(shí)時優(yōu)化技術(shù)。剖析了在勝利移植ARM Linux內(nèi)核基本上,優(yōu)化ARM Linux的中止體系,下降體系的中止延時。');【Abstract】 Embedded Linux is an Operating System running on the embedded computer system after cutting and modifying general Linux.Because of the advantages in both open source Linux and embedded system, embedded Linux has large market prospect and commercial chances, now the focus of applications for the embedded Linux has become porting Linux kernel to microprocessor.In some real embedded system applications, real time performances are demanded for operating system like ARM Linux.For example, in communication system, although the speed of ARM920T processors can reach several MHz, the response speed of Linux now is not fast enough.In this case individual hardware communication module should be added to increase the real time performances.If we could optimize the real time property of operating system, then we can realize communication agreement in software, reduce the demand of hardware.Finally we can make communication system in a single chipset and cut down the cost of products.The ***’s research is based on ARM920T hardware platform, which is mainly used for high quality user product developing.On the platform, this text discusses several key technologies about how to porting Linux kernel to ARM platform: first, draw a conclusion of embedded Linux system architecture, and describe related layers of porting system in detail;secondly, write out the whole process on porting Boot Loader and Linux kernel init code to hardware platform, solve faced duties and difficulties;finally, after highly grasp the Linux kernel driver model, deeply discuss porting QT/Embedded inte***ce.Support the project software developing, and greatly reduce the complexity and period in embedded product developing.In the end, we have dropped the conclusion about current cut edge real time technologies for embedded Linux.Based on the successfully ported ARM Linux kernel, optimize its interrupt system, reduce its interrupt delay.

      下載ARM與嵌入式linux的入門建議(六步曲).word格式文檔
      下載ARM與嵌入式linux的入門建議(六步曲)..doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦