arm9學習路線_第1頁
arm9學習路線_第2頁
arm9學習路線_第3頁
arm9學習路線_第4頁
arm9學習路線_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、這個題目很大,給人一種感覺我好像很成功,其實不然。實際上自己 水平不高,甚至很低,但是做過了一些曲折的學習道路,同時把自己 真實的學習歷程表達出來,希望對后來者有借鑒的意義,甚幸! 工作三年、幾成廢人! 我 2000 年畢業(yè)于華中地區(qū)的一個理工科大學,專業(yè)是機械電 子,我當時已經(jīng)簽了一家內(nèi)陸某個省級機關工作,家里八輩是農(nóng)民, 并且很偏遠,能夠進入這樣的地方是祖墳有風水。但在畢業(yè)前夕有個 進入it的機會,我本想進去的,家里人極力反對,阻力可想而知。同 時要交 4000 元的違約金,對我來說是天文數(shù)字。大學里的費用很多是 借的,幾乎將近一半的費用是在大學勤工儉學掙的,為了省錢,高中 一個學期回家一

2、次,大學一年回去一次。并且我個人也有特殊的人生 背景(悲景更確切),這里不多說了,寫十篇也寫不完,同時偏離主 題。這樣我就參加了工作。一張報紙一杯茶的日子,幾乎下班后有種 很空虛和恐慌的感覺。在工作中雖然是與自己專業(yè)有點關系,但是很 少。專業(yè)幾乎荒廢。我自己也思考,如果再不出去,自己將會成廢人, 只好讓國家養(yǎng)了。兩年后決定出去,但是幾成廢人,誰要呢,只好到 學校去鍍金。這是中國教育和社會的悲哀! 至于專業(yè)就改為計算機方面,聽說好找工作,我說實話不是很 對計算機特別感興趣,生存第一需要。不要笑我,哈哈! 考研成績出來,超過了國家線幾十分。那個方向要兩個,我第 三,但是那年非碘,不面試就按分數(shù)來排

3、,自然我落選了。其實給我 面試機會也不一定要我,哈哈,自己幾斤幾兩很清楚。 最后調(diào)劑到另外一個學校,交錢,咬咬牙,交吧!現(xiàn)在仍然債 臺高筑! 進入學校前夕 為什么要把這段列出,看后就知道了。 單位有網(wǎng)絡,經(jīng)常上網(wǎng)查些英語資料,在那里唯獨英語沒有丟 很多。于是我就在網(wǎng)上查資料,學什么好呢,最后確定學嵌入式把, 聽說跟硬件相對比較緊密!而我在大學里多少學習了數(shù)字電路,單片 機等,所以多少也有所利用,不會真的一無所知。當然在這之前也自 學過數(shù)據(jù)結(jié)構(gòu),計算機組成原理等。C 語言在大學就學了。哈哈這就 是我的家底。 我知道自己的基礎差,于是我就拿操作系統(tǒng),數(shù)據(jù)庫、數(shù)據(jù)結(jié) 構(gòu)、c+來看,機關有這個好處,空

4、余時間多,于是平常就看書,很痛 苦,沒有人請教。 另外就上網(wǎng)到論壇上去,我就到各個專業(yè)的技術(shù)論壇,其實是 電子論壇和嵌入式論壇。我?guī)缀鯖]有發(fā)帖,幾乎把幾個大型的出名的 論壇的帖子翻遍了,雖然有很多重復的,我才知道嵌入式是個什么東東。這些帖子對我以后的學習產(chǎn)生了極大的影響 。 最關鍵兩點:1、嵌入式是什么? 2、嵌入式需要哪些知識? 知道了這兩點,好辦!我就開始規(guī)劃學習路線。計算機的基本 理論不能丟,于是重點看組成原理,數(shù)據(jù)機構(gòu),操作系統(tǒng)、c+。同時 論壇上了解到,實時操作系統(tǒng)ucos是一個很好的嵌入式操作系統(tǒng),對 初學者很好。于是我就買了一本書,但是代碼在電腦里調(diào)不通,網(wǎng)上 也有很多相同的問題

5、,我就看書,分析代碼,一遍不行就兩遍,三遍, 這樣才看了入了門,才知道什么是進程。原來看操作系統(tǒng)書時,根本 就不知道進程是個什么東西。在這段時間掌握的東西不多,但是,對 我以后的影響很大,我想起了大學時一個同學跟我說過了一句話:大 學里最重要的不是學到了什么,最重要的是學會怎么學!大概是這個 意思。 進入我的避難所 對我來講,再次進入大學不再是大學,而是避難所。希望這次 進入給我喘氣和養(yǎng)精蓄銳的機會和時間。我是這樣認為和實踐的。 在學校我有三件事:上課,上圖書館,上網(wǎng)。 對于上課, 學校開了很多課程, 非常好, 很多是名人名師講解, 于是很多同學都想學,都去聽。我也考慮過,最后放棄。我是這樣認

6、 為的,時間是有限的,什么都想學,什么都學不成。于是我把我自己 學的課進行了分化,一般的課程通過就行,重要的一定好好學。我希 望不要什么爭論學習課程多和少的問題,這僅僅是我的看法。所以我 的成績應該是很差的。分數(shù)低。好在后來的單位沒有要我的成績單, 否則就慘。 我個人感覺是上圖書館的效率比在寢室里高多了, 這是我的經(jīng) 驗。 上網(wǎng),我給自己定了規(guī)矩:不玩游戲,不灌水,少看電影!因 為時間對我來說太少和寶貴了,我沒有資格和資本來浪費這些。上網(wǎng) 我就在幾個重要的專業(yè)技術(shù)網(wǎng)站上逛,下載技術(shù)資料。我一個朋友最 近開了一個嵌入式網(wǎng)站, 里面的資料相當一部分是我在網(wǎng)上找的 資料。那個網(wǎng)站很不錯,資料豐富,找

7、嵌入式方面,特別是嵌入式linux的資料, 異常豐富。 有人會問,您下了那么多資料,怎么看的完和消化的了呢? 我是這樣對待這個問題的: 1、 網(wǎng)上資料比較零散,不系統(tǒng),但是如果把差不多的東西收集起來 看就相對完整了, (嵌入式的圖書就是這兩年特別多, 特別是 2004 年, 簡直是向外涌!2003 年想買本嵌入式,特別是嵌入式linux的不多。) 2、 對于像我這種入門的來說,很多看不懂,沒關系,反復看,我個 人對學習方法的一個總結(jié)是:重復是最好的老師! 3、 即使有的用不上,也可以收集以后用的上時查閱。 但是我并非什么都要, 目前我的技術(shù)路線是嵌入式linux, 所以像wince 之 類基本

8、上不收集。 總之,我在學校里我充分利用時間來學習,我看到一些同學整天 的掛在網(wǎng)上打游戲,發(fā)些無關痛癢的帖子,浪費時間呀!我真的很痛 心! 學習嵌入式 在這里我把它單獨列出,文章有點紊亂,但是內(nèi)容希望有益。 1、學習linux 根據(jù)我在論壇的了解,我選擇學習嵌入式linux,剛好我們學 校也重視嵌入式linux,從實驗室到課程安排都是關于嵌入式linux方 面,天時地利!這里我把學習linux的經(jīng)驗和教訓說說。 可以這樣說,在論壇里說道學習linux差不多就學習linux內(nèi) 核。于是我電腦里安裝了linux就開始看linux內(nèi)核方面的書了。我記 得來學校以前就買到一本陳莉君的講linux內(nèi)核的第

9、一版, 現(xiàn)在有第二 版了。我就開始看那本說,大家說linux內(nèi)核情景分析不錯,我就買了 上下冊,后來又買了 深入理解linux內(nèi)核,最后也買了毛德操的 嵌入式系統(tǒng)也是分析linux內(nèi)核代碼的,主要講arm相關的。 看內(nèi)核期間是個非常痛苦的過程, 看情景分析有種在森林中找 出路,其間我組織了一些同學學習內(nèi)核,幾乎沒有幾個能堅持下來的。 我認為我是堅持下來了。情景分析在看第一、第二遍是幾乎沒有摸到 門道,我分析有三個方面的原因:1、自己的基礎差,這是最關鍵的。 2、內(nèi)核本身很難。3、沒有交流和高人指點。到了第三遍時我才摸到 門,才差不多知道個linux的大概脈絡,很多細節(jié)也是稀里糊涂。 學習lin

10、ux總結(jié),這里聲明一下,我指的嵌入式主要是偏向軟 件的嵌入式。學習嵌入式的重點和難點關鍵在操作系統(tǒng),如果沒有掌 握操作系統(tǒng),我認為很難把握一個嵌入式系統(tǒng)。即使在做嵌入式開發(fā) 中,作應有層的開發(fā)幾乎可以不知道操作系統(tǒng)也可以開發(fā),我認為那 是浮在表面的。很難深入和提高自己的層次。聲明:一孔之見!不可 深究! 在學習linux內(nèi)核過程中犯了一個極其嚴重路線錯誤: 對linux 幾乎不懂就開始學習內(nèi)核。 我個人推薦一個學習路線是: 使用linux linxu系統(tǒng)編程開發(fā)- 驅(qū)動開發(fā)和分析linux內(nèi)核。 而我差不多相反, 實際上你不會使用linux也可以學習內(nèi)核, 但是如果你懂了這些東西學 習更有效率

11、。 關于要不要學習內(nèi)核的問題,我的回答如下:不一定。如果你 是喜歡鉆研的那你進入內(nèi)核會滿足你的欲望。同時對你以后的嵌入式 系統(tǒng)的開發(fā)有很好的影響。如果你想從事嵌入式linux系統(tǒng)開發(fā),最好 對內(nèi)核有所了解。如果僅僅是做應用開發(fā)沒有必要。我打個比喻:c、 c+、java等語言是武林中的某個武林派別的話,如什么拳法,什么刀 法等,那么linux 內(nèi)核應該是一個人的內(nèi)功的反應。 怎么開始學linux內(nèi)核:最好有三件寶物:深入 理解linux內(nèi) 核情景分析和源代碼。 先看深,那主要講原理,好像市場上有本講原理性并且更 淺,linux內(nèi)核設計與實現(xiàn)聽說不錯。如果沒有學習操作系統(tǒng)的,像我這樣的,最好先看看

12、操作系統(tǒng)原理的書。看了幾遍后,就看情景 分析,最好對著深看。兩本交*看,深是綱,情是目。最 后深入代碼。 2、學習嵌入式linux 學習嵌入式,我認為兩個重點,cpu和操作系統(tǒng),目前市場是 比較流行arm,所以推薦大家學習arm。操作系統(tǒng)很多,我個人對開始 學習的人,特別不是計算機專業(yè)的,推薦學習ucos。那是開源的,同 時很小。學習很好。為什么選linux,我不想講太多,網(wǎng)上這方面的太 多,但是我在工作中發(fā)現(xiàn),做linux的技術(shù)路線很難,在windows幾乎 不會有的問題,在linux開發(fā)中幾乎遍地陷阱。一掉進去劃很長時間出 來,一旦解決自己又長進了!相對來說開發(fā)周期長,難度大?,F(xiàn)在資 料也

13、逐漸豐富起來,難度也降低了些! 至于怎么學習,這是他的特色地方,必須有塊開發(fā)板,我是同 學里最早買學習板的,雖然化錢,我認為值。對我實習和工作產(chǎn)生了 很大的影響。 如果沒有開發(fā)板, 那是紙上談兵。 有人說, 那要 1000-2000 亞, 的確是,兄弟,看長遠的,對您的職業(yè)和發(fā)展那點錢不算什么!有的 人說我站著說話不腰痛,好吧,錢這東西對我影響很大,我在大學里 掃廁所,掃的不錯,獎 5 元/月。兄弟你有過嗎?我認為教育投資是效 益最有保障的!我實習拿 3k,很多同學拿 1-2k,當然比我高的也有。 雖然我現(xiàn)在沒有畢業(yè),但一家公司就簽了。從事目前流行的高檔的消 費電子的研發(fā)。對于我兩年前一無所知

14、的我,應該有質(zhì)的變化,我感 謝學校收了我這個廢品。當然我也非常的努力。說這么多并不是要炫 耀我什么,實際上根本不值得炫耀,雖然現(xiàn)在工作環(huán)境和待遇比較滿 意,但是,我發(fā)現(xiàn)我很差,特別是代碼能力,我希望平常大家少玩游 戲,多編程。編程才是硬道理! 3、 學習板和培訓 你可以不接受培訓,但是不能不買開發(fā)板。如果你想學習嵌入式 一定要買塊學習板,最好買塊arm9 的,貴些也值??梢耘芨呒壊僮飨?統(tǒng)。這個不要什么品牌公司的,一般不會出什么問題,市場上的板子 一般是三星的 2410,基本上是抄的。如果是做產(chǎn)品那要注意些。一般 的公司一般要 2000,加lcd要 3000 甚至更多。我接觸到有的板只要 12

15、00,加lcd也就 2000,差別比較大,我認為學習都夠啦。 對于培訓,如果有條件最好參加,主要是嵌入式相對別的不同, 自己摸索很費時,如果有高手指點非常的好,進步快。特別是認識做 這些的朋友。我接受過 培訓,認識個朋友。在以后的工作中幫我很多, 在這里謝謝他!我記得哈佛的一個MBA的學生這樣說,大意是:在哈佛 學到什么不重要,最重要的是這些未來各大公司的高級管理人員是我 的同學!真是有遠見! 目前市場是培訓比較貴,一個星期兩三千,真正算起來也要,那 些講師待遇絕對不會低。但是有個致命的問題是連續(xù)上課,一連幾天, 效果不佳。我希望社會上多出些 1000 元左右,并且時間長些,如一個 月,一周一

16、到兩次課。如果沒人做,我來做,哈哈! 沒有想到,一下寫了這么多,其實還想寫的,比如在中科院的一 位老兄是怎樣學習linux內(nèi)核和看書的,真的很感動。他的為人我很欽 佩。也想介紹毛德操的嵌入式系統(tǒng)那本書,對學習arm linux的很 好,也想介紹實習和工作的東西,太長了,耽誤大家時間。我也不想 檢查里面的錯別字了,很多!就寫到這里吧。 最佳答案 其實做硬件的話,這些東西都是需要的,屬于基本功。 近來嵌入式挺火,于是大家都往這里擠。我想提醒大家的是,嵌入式馬上也會成為如今的軟 件業(yè)。在你進來之前請先考慮清楚。但只要我們真的學精了一樣東西,不管它將來變成什么 樣,哪怕最后只剩下一個人,那個人也一定就

17、是你自己。 很多人以為搞嵌入式就是隨便找本書看看,在電腦上編幾個程序就完事。非也,其實嵌入 式的門檻是比較高的。具體如下: 1、您得有一定數(shù)量的 Money。 (1、開發(fā)板貴 (2、培訓費更貴 (3、開發(fā)平臺是貴得不能再貴。 (除非您只是想玩玩而已) 2、需要學習的東西多。(1、window 環(huán)境編程;(2、Linux 環(huán)境編程;(3、單片機 3、最后也是最重要的一點,你得有堅韌不拔之志和一顆平常之心。 (1、自信 堅強 積極 勤快 (注:好的自信是自覺的! ) (2、成功其實就是成為最好的您自己 嵌入式門檻雖然較高,但也跟其他事物一樣,并不是牢不可破。只要我們用心去對待,東 雪終將化去,春風

18、定會吹來。具體步驟如下: 1、 語言第二版 譚浩強 ; C 程序設計語言第二版 徐寶文譯機戒工業(yè)出版社 C 你能區(qū)分開指針數(shù)組和數(shù)組指針嗎?你知道函數(shù)指針嗎? 你能區(qū)分開定義一個變量時系統(tǒng)給它分配的空間與用 malloc(函數(shù)給一個變量分配的空間 有什么不一樣嗎? 2、 數(shù)據(jù)結(jié)構(gòu)C 語言版 黃國愉、葉乃青編 清華大學出版社 你能合上書本,用 C 語言實現(xiàn)書中的單鏈表、雙鏈表數(shù)據(jù)結(jié)構(gòu)嗎? 3、 實用 C+程序設計第二板 中國電力出版社 Steve_Oualline 著 此階段主要是學習其面向?qū)ο蟮木幊趟枷?,加深?C 語言和數(shù)據(jù)結(jié)構(gòu)的理解。 4、學習單片機,最好能找個前輩帶一帶。 你能 用 51

19、 單片機做出一樣實際的東西嗎?即使它再簡單! 要注意加深對中斷的理解。 5、學習 ARM 單片機。 (1、細讀ARM 微控制器基礎與實戰(zhàn)周立工編寫 (注:即使你不用書中的開發(fā)板) (2、細讀相關芯片的原版英文文檔。如:arm920TE.pdf S3C2410_1.2.pdf 6、學習 uCOS!操作系統(tǒng)。 (1、細讀嵌入式實時操作系統(tǒng) uCOS!第二版 召貝貝譯 你能把 uCOS!移植到自己的平臺上嗎? (2、能編寫在 uCOS!操作系統(tǒng)環(huán)境下運行的針對具體硬件的驅(qū)動程序 7、熟悉 Linux 環(huán)境,學習 Linux 環(huán)境編程,學習交叉編程 (1、細讀linux 命令大全.pdf (2、細讀G

20、NU Make 使用手冊(中譯版).pdf (3、學習創(chuàng)建交叉編程環(huán)境 8、學習 Linux 操作系統(tǒng)。 (1、 UNIX 環(huán)境高級編程 (2、細讀“joyfire 筆記” ,可在“”網(wǎng)站的好書下載欄目獲取 (3、細讀linux 內(nèi)核完全注釋 (4、細讀understanding the linux kernel 2 (5、利用源代碼閱讀利器工具”Source Insight”進行真正的 linux 內(nèi)核原碼刨析 (6、最后進行內(nèi)核移植,并能編寫在 linux 操作系統(tǒng)環(huán)境下運行的針對具體硬件的驅(qū)動 程序 9、學習 Linux 設備驅(qū)動編寫??蓞⒖糒inux 設備驅(qū)動程序 10、復習 C+,學

21、習用 QT 進行圖形界面編程 (1、細讀QT 編程寶典 (2、學會通過查看 QT 電子文檔進行 QT GUI 實地編程 (3、學習交叉編程 (其實就是把命令 qmake 變?yōu)?tmake) 11、當然,你也可學習一下 PCB 的制作和設計一個自己的 CPU(即軟殼) 至此,你已學完嵌入式的整流程!但謹記:一個有思想的人才真是一個力量無邊的人; 有容乃大,能予方強 我建議還是用 ARM9 好一些!= 目前嵌入式系統(tǒng)教學平臺市場上的主導產(chǎn)品都是基于 ARM7 或 ARM9 架構(gòu)的,一般都認為 ARM7 屬于低端產(chǎn)品、ARM9 屬于高端產(chǎn)品,也出現(xiàn)了所謂的“ARM7&ARM9 覆蓋高端&am

22、p; 低端的教學平臺” 。宣傳“兩套 CPU 子板都是可以自由插拔,一套實驗系統(tǒng)變化為兩套, ARM7 的實驗系統(tǒng)可以實現(xiàn)基礎的 ARM 嵌入式教學, 主要包括指令實驗, 基礎接口實驗, UCOS-II 操作系統(tǒng)實驗和 uCLinux 操作系統(tǒng)實驗; ARM9 的實驗系統(tǒng)可以實現(xiàn)高端的 ARM 嵌入式教學,主要包括擴展接口實驗, Linux 操作系統(tǒng)實驗和 WinCE 操作系統(tǒng)實 驗。 ” 這種觀點有誤導用戶的嫌疑。因為 ARM9 和 ARM7 同屬于 ARMv41,是屬于中低端系列 的 ARM 微處理器。 目前市場上真正高端的 ARM 架構(gòu)處理器是與 ARMV5TE 體系兼容的 Intel

23、XScale,如 PXA255 和 PXA270。 從嵌入式系統(tǒng)教學平臺的發(fā)展來看, 未來會形成兩個發(fā)展方向。 即一方面向高端的 XScale 系列發(fā)展,主要面向計算機、軟件等專業(yè),這一類高端平 臺具有強大的計算能力和多媒體功 能,教學內(nèi)容側(cè)重于操作系統(tǒng)、驅(qū)動程序和軟件應用,培養(yǎng)消費電子、手持設備、無線網(wǎng)絡、 手機游戲等領域的嵌入式軟件人才;另一方面就是ARM7/ARM9 系列的中低端教學平臺, 主要面向電子工程、自動化、儀器儀表等專業(yè),這類平臺具有豐富的接口和功能,教學內(nèi)容 側(cè)重于微處理器接口設計、驅(qū)動開發(fā)和系統(tǒng)應用,培養(yǎng)工業(yè)自動化、測控、智能儀表等應用領域的嵌入式技術(shù)人才。 宣稱采用兩種

24、CPU 子板的方式,實現(xiàn) ARM7&ARM9 的功能,是完全沒有必要的,而且增 加了用戶的成本的維護的復雜性,其原因如下: 1、從 ARM 體系結(jié)構(gòu)的教學內(nèi)容上看,ARM9 的指令集完全兼容 ARM7,教學上沒有任何 區(qū)別。所以 ARM 指令實驗和基礎接口實驗不是 ARM7 的專利,做過 ARM 系統(tǒng)開發(fā)的人都 很清楚,用 ARM9 一樣可以完成 ARM7 的這些教學實驗內(nèi)容; 2、從操作系統(tǒng)的教學內(nèi)容上看,目前教學中大都采用COS-II 或 Linux。COS-II 代碼簡 單,易教易學,Linux 功能強大,但對學生的基礎要求較高。目前市場上大多數(shù) ARM7 教學 平臺都支持COS

25、-II 或 uCLinux,ARM9 基本上都支持 Linux 和 WinCE。但COS-II 不是 ARM7 的專利,在 ARM9 上完全可以運行。而 uClinux 是 Linux 的一個子集,無論是從開發(fā) 著者的角度還是從教學的角度去理解,Linux 系統(tǒng)可以完全兼容 uCLinux 的應用。 宣稱支持 ARM7 和 ARM9 的雙內(nèi)核,主要原因是因為他們的技術(shù)能力較弱,無法完成 COS-II 在 ARM9 上的移植和擴展工作,所以采用 ARM7 來彌補COS-II 的教學內(nèi)容。試 想,如果有一款 ARM9 平臺,能夠運行COS-II、Linux、WinCE 等操作系統(tǒng),我們?yōu)槭裁?還需

26、要 ARM7 來畫蛇添足呢?事實上,這樣的平臺已經(jīng)有了,一些技術(shù)實力較強的公司已 經(jīng)把COS-II 移植到了 ARM9 上,如 UP-NETARM2410 和 UP-NETARM2410S 等。 3、從硬件設計的教學內(nèi)容上看,支持 ARM7 和 ARM9 的雙內(nèi)核的平臺,造成了硬件資源 的浪費,難以發(fā)揮 ARM7 和 ARM9 各自的優(yōu)勢。比如:用 s3c44b0 和 s3c2410 處理器作為 ARM7 和 ARM9 的內(nèi)核,s3c2410 平臺支持 USB host 和 USB client,支持真彩色 TFT LCD。 而主平臺為了兼容 s3c44b0, 不得不使用 256 色 STN

27、的 LCD; 如果要想有 USB host 或者 client 接口,不得不使用其他芯片外擴。這都會使 ARM9 處理器的功能受到限制,不能充分發(fā)揮 ARM9 處理器的性能。 4、從產(chǎn)品的成本的服務維護上看,采用支持 ARM7 和 ARM9 的雙內(nèi)核的平臺,無疑會增 加產(chǎn)品的成本,因為教學平臺最貴的芯片就是微處理器和存儲器,而從教學角度看,這部分 增加的成本是沒有意義的。如果從科學角度看,這種做法又浪費資源,其性價比無不如一塊 開 發(fā)板。此外,采用支持 ARM7 和 ARM9 的雙內(nèi)核的平臺,降低了系統(tǒng)的可靠性,學生在 實驗過程中,會經(jīng)常切換兩種內(nèi)核,其損壞的概率會大大增加,增加后續(xù)維護成本。

28、 由此可見,僅僅一個 ARM9 平臺就可以同時滿足中低端教學的需求,額外添加 ARM7 去滿 足低端教學任務,只能認為是畫蛇添足。平白增添了硬件成本,還限制了硬件平臺的擴展。 嵌入式系統(tǒng)教學的目的應該是為了讓學生學到一種嵌入式平臺開發(fā)和設計的方法, 其變化主 要體現(xiàn)在運行不同操作系統(tǒng)上,而不是硬件是否采用 ARM7 還是 ARM9 上。教學思想應是 “授人以漁” ,學生學到的是設計方法,將來不管是 ARM7, ARM9,還是 XScale,甚至包 括 MIPS、alpha、68k、powerpc 等其它體系結(jié)構(gòu)的微處理器,對于一個優(yōu)秀的嵌入式系統(tǒng)工 程師來說都是一樣的。ARM7 處理器與 AR

29、M9 處理器比較 日期:2008-07-07 來源: 作者:佚名 字體:大 中 小 (投遞新聞 以手機應用為例,2G 手機只需提供語音及簡單的文字短信功能,而目前的 25G 和未來的 3G 手機除了提供這兩項功能外,還必須提供各種其他的應用功能。主要包括:(1無線網(wǎng)絡 設備:手機上網(wǎng)、電子郵件及其他定位服務等功能;(2PDA 功能:含有 用戶操作系統(tǒng) (Windows CE、Symbian OS、Linux 等及其他功能;(3高性能功能:音頻播放器、視頻電話、 手機游戲等。在 2 5G 和 3G 的應用中 ARM9 已經(jīng)全面替代了 ARM7。因為 ARM9 的新特 性能夠滿足各種新需求的同時減

30、少產(chǎn)品研發(fā)時間并降低研發(fā)費用。 新一代的 ARM9 處理器, 通過全新的設計, 采用了更多的晶體管, 能夠達到兩倍以上于 ARM7 處理器的處理能力。這種處理能力的提高是通過增加時鐘頻率和減少指令執(zhí)行周期實現(xiàn)的。 1 時鐘頻率的提高 ARM7 處理器采用 3 級流水線,而 ARM9 采用 5 級流水線,增加的流水線設計提高了時鐘 頻率和并行處理能力。5 級流水線能夠?qū)?每一個指令處理分配到 5 個時鐘周期內(nèi),在每一 個時鐘周期內(nèi)同時有 5 個指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI 處理器的時鐘頻 率是 ARM7TDMI 的 1822 倍。 2 指令周期的改進 指令周期的改進對于處理器

31、性能的提高有很大的幫助。 性能提高的幅度依賴于代碼執(zhí)行時指 令的重疊,這實際上是程序本身的問題。對于采用最高級的語言,一般來說,性能的提高在 30左右。 21 loads 指令矛 n stores 指令 指令周期數(shù)的改進最明顯的是 loads 指令和 stores 指令。 ARM7 到 ARM9 這兩條指令的執(zhí) 從 行時間減少了 30。 指令周期的減少是由于 ARM7 和 ARM9 兩種處理器內(nèi)的兩個基本的微 處理結(jié)構(gòu)不同所造成的。 (1ARM9 有獨立的指令和數(shù)據(jù)存儲器 接口,允許處理器同時進行取指和讀寫數(shù)據(jù)。這叫作 改進型哈佛結(jié)構(gòu)。而 ARM7 只有數(shù)據(jù)存儲器接口,它同時用來取指令和數(shù)據(jù)訪

32、問。 (25 級流水線引入了獨立的存儲器和寫回流水線,分別用來訪問存儲器和將結(jié)果寫回寄存 器。 以上兩點實現(xiàn)了一個周期完成 loads 指令和 stores 指令。 22 互鎖(interlocks技術(shù)當指令需要的數(shù)據(jù)因為以前的指令沒有執(zhí)行完而沒有準備好就會 產(chǎn)生管道互鎖。當管道互鎖發(fā)生時 硬件會停止這個指令的執(zhí)行,直到數(shù)據(jù)準備好為止。雖 然這種技術(shù)會增加代碼執(zhí)行時間,但是為初期的設計者提供了巨大的方便 編譯器以及匯編 程序員可以通過重新設計代碼的順序或者其他方法來減少管道互鎖的數(shù)量。 23 分枝指令 ARM9 和 ARM7 的分枝指令周期是相同的。 而且 ARM9TDMI和 ARM9E-S 并沒有對分枝指 令進行預測處理。 3 ARM9 結(jié)構(gòu)及特點 以 ARM9E-S 為例介紹 ARM9 處理器的主要結(jié)構(gòu)及其特點。ARM9E-S 的結(jié)構(gòu)如圖 4 所示。 其主要特點如下: (132bit 定點 RISC 處理器,改進型 ARMThumb 代碼交織,增強性乘法器設計。支持實時 (real-ti

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論