單片機多功能調(diào)試助手一款集串口/USB/網(wǎng)絡(luò)調(diào)試、進制轉(zhuǎn)換、字模與數(shù)碼管字型碼制作、常用校驗值計算、UNICODE碼轉(zhuǎn)換、位圖輸出C文件等眾多功能于一身的綜合型調(diào)試軟件,最值得慶幸的是該軟件會一直保持更新,并支持在線升級功能,這樣大家手頭上的單片機多功能調(diào)試助手總是最新的! 單片機多功能調(diào)試助手與其他調(diào)試軟件有什么優(yōu)勢: 1) 一直保持為單文件狀態(tài),不會因為需要保存配置信息而創(chuàng)建其他其他文件,所以該軟件非常容易攜帶。 2) 一直體貼著開發(fā)者,所有重要的配置在關(guān)閉該軟件時將會得到保存,重啟軟件后會重新導入以前的配置信息,免去重復選擇或填入數(shù)據(jù)的操作。 3) 集成了串口/USB/網(wǎng)絡(luò)調(diào)試功能,并在串口/USB/網(wǎng)絡(luò)調(diào)試的過程中,該軟件提供了監(jiān)視和多項發(fā)送功能。通過使用監(jiān)視端口的功能就可以清晰地分辨出發(fā)送與接收的數(shù)據(jù)的順序;通過使用多項發(fā)送功能就可以省去重復刪除或填寫待發(fā)送數(shù)據(jù)的步驟。 4) 在線升級功能是該軟件的最得意之處,理所當然地也是開發(fā)者最倍受關(guān)注的功能。
標簽: 單片機 多功能 調(diào)試助手
上傳時間: 2013-08-01
上傳用戶:gaojiao1999
什么是目前FPGA應用工程師面對的最主要設(shè)計問題?如何解決?當開始一個新的FPGA設(shè)計時,你們會推薦客戶采用什么樣的流程?對于I/O信號分布的處理,有什么建議可以提供給客戶?如果你的客戶準備移植到另外一個FPGA、結(jié)構(gòu)化ASIC或ASIC,你會建議你的客戶如何做?
上傳時間: 2013-09-01
上傳用戶:561596
1、半導體材料制作電子器件與傳統(tǒng)的真空電子器件相比有什么特點? 答:頻率特性好、體積小、功耗小,便于電路的集成化產(chǎn)品的袖珍化,此外在堅固抗震可靠等方面也特別突出;但是在失真度和穩(wěn)定性等方面不及真空器件。 2、什么是本征半導體和雜質(zhì)半導體? 答:純凈的半導體就是本征半導體,在元素周期表中它們一般都是中價元素。在本征半導體中按極小的比例摻入高一價或低一價的雜質(zhì)元素之后便獲得雜質(zhì)半導體。
上傳時間: 2014-12-23
上傳用戶:lilei900512
PCB設(shè)計問題集錦 問:PCB圖中各種字符往往容易疊加在一起,或者相距很近,當板子布得很密時,情況更加嚴重。當我用Verify Design進行檢查時,會產(chǎn)生錯誤,但這種錯誤可以忽略。往往這種錯誤很多,有幾百個,將其他更重要的錯誤淹沒了,如何使Verify Design會略掉這種錯誤,或者在眾多的錯誤中快速找到重要的錯誤。 答:可以在顏色顯示中將文字去掉,不顯示后再檢查;并記錄錯誤數(shù)目。但一定要檢查是否真正屬于不需要的文字。 問: What’s mean of below warning:(6230,8330 L1) Latium Rule not checked: COMPONENT U26 component rule.答:這是有關(guān)制造方面的一個檢查,您沒有相關(guān)設(shè)定,所以可以不檢查。 問: 怎樣導出jop文件?答:應該是JOB文件吧?低版本的powerPCB與PADS使用JOB文件。現(xiàn)在只能輸出ASC文件,方法如下STEP:FILE/EXPORT/選擇一個asc名稱/選擇Select ALL/在Format下選擇合適的版本/在Unit下選Current比較好/點擊OK/完成然后在低版本的powerPCB與PADS產(chǎn)品中Import保存的ASC文件,再保存為JOB文件。 問: 怎樣導入reu文件?答:在ECO與Design 工具盒中都可以進行,分別打開ECO與Design 工具盒,點擊右邊第2個圖標就可以。 問: 為什么我在pad stacks中再設(shè)一個via:1(如附件)和默認的standardvi(如附件)在布線時V選擇1,怎么布線時按add via不能添加進去這是怎么回事,因為有時要使用兩種不同的過孔。答:PowerPCB中有多個VIA時需要在Design Rule下根據(jù)信號分別設(shè)置VIA的使用條件,如電源類只能用Standard VIA等等,這樣操作時就比較方便。詳細設(shè)置方法在PowerPCB軟件通中有介紹。 問:為什么我把On-line DRC設(shè)置為prevent..移動元時就會彈出(圖2),而你們教程中也是這樣設(shè)置怎么不會呢?答:首先這不是錯誤,出現(xiàn)的原因是在數(shù)據(jù)中沒有BOARD OUTLINE.您可以設(shè)置一個,但是不使用它作為CAM輸出數(shù)據(jù). 問:我用ctrl+c復制線時怎設(shè)置原點進行復制,ctrl+v粘帖時總是以最下面一點和最左邊那一點為原點 答: 復制布線時與上面的MOVE MODE設(shè)置沒有任何關(guān)系,需要在右鍵菜單中選擇,這在PowerPCB軟件通教程中有專門介紹. 問:用(圖4)進行修改線時拉起時怎總是往左邊拉起(圖5),不知有什么辦法可以輕易想拉起左就左,右就右。答: 具體條件不明,請檢查一下您的DESIGN GRID,是否太大了. 問: 好不容易拉起右邊但是用(圖6)修改線怎么改怎么下面都會有一條不能和在一起,而你教程里都會好好的(圖8)答:這可能還是與您的GRID 設(shè)置有關(guān),不過沒有問題,您可以將不需要的那段線刪除.最重要的是需要找到布線的感覺,每個軟件都不相同,所以需要多練習。 問: 尊敬的老師:您好!這個圖已經(jīng)畫好了,但我只對(如圖1)一種的完全間距進行檢查,怎么錯誤就那么多,不知怎么改進。請老師指點。這個圖在附件中請老師幫看一下,如果還有什么問題請指出來,本人在改進。謝!!!!!答:請注意您的DRC SETUP窗口下的設(shè)置是錯誤的,現(xiàn)在選中的SAME NET是對相同NET進行檢查,應該選擇NET TO ALL.而不是SAME NET有關(guān)各項參數(shù)的含義請仔細閱讀第5部教程. 問: U101元件已建好,但元件框的拐角處不知是否正確,請幫忙CHECK 答:元件框等可以通過修改編輯來完成。問: U102和U103元件沒建完全,在自動建元件參數(shù)中有幾個不明白:如:SOIC--》silk screen欄下spacing from pin與outdent from first pin對應U102和U103元件應寫什么數(shù)值,還有這兩個元件SILK怎么自動設(shè)置,以及SILK內(nèi)有個圓圈怎么才能畫得與該元件參數(shù)一致。 答:Spacing from pin指從PIN到SILK的Y方向的距離,outdent from first pin是第一PIN與SILK端點間的距離.請根據(jù)元件資料自己計算。
上傳時間: 2013-10-07
上傳用戶:comer1123
寫給學單片機的年輕人:周立功 珍惜求學機會 作為過來人思前想后,我感到完全有責任將發(fā)自心底的感受傳遞給年輕一代,“一個企業(yè)家心靈深處渴望優(yōu)秀人才的卓越追求和深層次的嘆息、痛苦和感受”。您們千萬不要等到畢業(yè)求職時才覺得自己能力太差,世界上從來就沒有后悔藥。當然,如果您現(xiàn)在看了我寫的這篇文章可能還不算晚,因為您還有機會在以后的歲月里奮起直追——“亡羊補牢,尤未為晚”。對于現(xiàn)在剛進入大學的學生,您應該更加珍惜這美好的求學機會,因為眨眼之間幾年就過去了,您很快就會感到來自全社會生存競爭的壓力,您面臨的對手再也不僅僅是您身邊的同學,今天您在班上的成績的確是前幾名,但一走到社會上去才感到是多么地脆弱而又多么地不堪一擊。 面試本科生 在面試大多數(shù)本科生時,我僅僅是詢問了一些有關(guān)MCS-51 系列單片機的基本原理,但卻幾乎很少有人能夠完全答對,簡直是五花八門。很多作為一個即將畢業(yè)的自動化專業(yè)本科生,至今還不知道單片機是這個專業(yè)的核心基礎(chǔ),難道不可悲嗎?您的水平不高我完全心中有底,其實我只要求這些學生能夠掌握單片機應用開發(fā)的基本技能,用匯編和C51 寫過一些基本的程序,真正動手做過一些簡單的項目,然后將自己做過的項目寫成比較規(guī)范的文檔。我想,這種形式的“自我介紹”肯定要比讓別人看您那寫的千遍一律的“八股文”簡歷不知要強多少倍,古人言:“一葉知秋”其實講的就是這個道理。平心而論只有具備這樣基礎(chǔ)的學生才配得上企業(yè)花錢對您進行二次“開發(fā)” 事實上,很多學生根本就不管老師平時是多么地勸導都聽不進去,我認為您只要平時善于做一個有心人,主動一些多找老師請教,然后從大三開始幫老師打打下手干一些活。還有一個途徑就是自己花錢購買一些學習開發(fā)實驗板,加強動手能力的訓練。但也有很多學生說沒有錢,可事實上并非如此,現(xiàn)在的學生購買手機成風,我不知道手機對您們現(xiàn)在來說到底有多大的用途?事實上,現(xiàn)在的學生家庭條件普遍都不太好,可這些孩子們的攀比心里卻十分地嚴重和可怕。到今天即將畢業(yè)之際才感到找工作太難。父母一個子兒地攢下一些辛苦錢給您購買電腦容易嗎?“望子成龍――可憐天下父母心”!他們是希望您能夠?qū)W到一些真本事,而您可能很多時間都在玩游戲,上網(wǎng)聊天,實際上對于您來說僅僅是舉手之勞,只要花幾百元買一塊實驗板,辛苦一個暑假的時間強化實踐,可能您就會與眾不同。與此同時,可能您的信心大增,前途一片光明。俗話說得好:倉庫有糧,心中不慌!如果您平時沒有準備,那么臨時匆匆忙忙地上陣面試肯定是要敗下來的。從2003 年開始是全國第一次擴招之后畢業(yè)人數(shù)最多的第一年,以后的畢業(yè)生還會更多,同時還有更多的研究生與本科生搶飯碗,面對就業(yè)的困境壓力不能說不大,痛苦在其中。還有就是我每天都要面臨那些看不完的自我介紹簡歷,很可惜幾乎都是清一色的“八股文”令人討厭。其實只要您的成績不是太差,分數(shù)不是應聘成功的關(guān)鍵,重要的是做人要踏實,不要有水分,實際上,只要將您平時做過的小制作寫成一篇心得,再帶上您的作品,“事實勝于雄辯”這樣更能打動人。還有很多經(jīng)歷了四年本科又三年研究生階段學習行將畢業(yè)的碩士生,不僅不知道嵌入式操作系統(tǒng)是什么東西,而且連C++都不能熟練掌握,驅(qū)動程序開發(fā)的能力就更不容提了,僅僅做了一個單片機的應用設(shè)計就拿到碩士文憑了,術(shù)業(yè)缺乏專攻泛泛而談,說句實在話,怎么樣也教人無法接受啊!對于我來說,如果您沒有特別的才能,我寧愿用三年時間培養(yǎng)一個好的本科生給更高的待遇,他肯定不比一般的碩士生差。所以,考上了研究生之后,您要時刻明白加強動手能力的培養(yǎng)和前沿科學技術(shù)的學習至關(guān)重要的,這是您將來面試的“殺手澗”,因為您畢業(yè)之后要求的工資待遇起碼是一般本科生的兩倍,但是這個錢不是那么好拿的。頂多3-5 年的時間,大家肯定能夠看到一個現(xiàn)實,那就是如果您還不能熟練地掌握嵌入式操作系應用開發(fā)技術(shù)的話,您只能拿2000 元的月薪。即便您是研究生或是博士,那又有什么稀奇的呢?鄧伯伯有句名言,不管白貓還是黑貓,抓住老鼠就是好貓!我們知道企業(yè)家是要賺錢的,否則這個企業(yè)就留不住人才,無情的市場競爭機制將會毫不猶豫地將這個老板淘汰出局。一個可持續(xù)發(fā)展的企業(yè),如果離開了富有聰明才智的優(yōu)秀人才,那是不可想象的。光有幾個還不行,而是要有一個卓越的軍團。 就業(yè)問題 其實就業(yè)的問題,對于一個努力的人來說是何等地簡單,我面試了300 多本科生,我只對其中幾個成績中等的本科生感興趣,他們主要是參加過2001 年全國電子大賽,有的是平時業(yè)余時間,暑假及其寒假都在跟老師干活的學生,與他們聊天真是一種莫大的享受和欣慰,對于我來說真的是如獲至寶。于是,我就立即勸他們,您的成績中等確實難以考上好的學校和導師還不如不考研究生以免浪費時間,同時也充滿自信告訴他們,“我就是伯樂!我愿意給您機會和花錢培養(yǎng)您”。事實上,即便您考上研究生,如果沒有遇上具有超前眼光和經(jīng)費充足的導師,您讀了也白讀,更何況現(xiàn)在的研究生擴招的這么多?一個導師帶那么多研究生,有那么多課題嗎?即便有的話,他應付得過來嗎?可能殘酷的現(xiàn)實將會讓您看到,畢業(yè)之后回頭一看還遠遠不如當年同您一道畢業(yè)的同班同學。確實也是,人家的機會比您好得多,關(guān)鍵是人家對待機會比您把握得好,可以說:恰到火候。難道非要讀研究生理論水平才高嗎?這是何等地荒謬啊!我們知道電子與計算機技術(shù)的發(fā)展日新月異。大學的更新速度一定就要快嗎?回答是否定的,比如說推廣PHILIPS 的最新單片機和USB 技術(shù)吧!他們的更新速度肯定比一個可持續(xù)發(fā)展的企業(yè)要慢得多,難道說我們的人才水平不夠高嗎?我們公司就有一批這樣在各個領(lǐng)域里出類拔萃的“年輕專家”從 2003 年開始,我們將會有一系列的專著在北京航空航天大學出版社出版,大多數(shù)的著作都來自于我們長期的基礎(chǔ)研究和應用開發(fā),可以毫不夸張地說這些都是我們這個年輕團隊合作的結(jié)晶。他們是優(yōu)秀和卓越的人才,他們沒有就業(yè)的壓力,他們不怕炒魷魚,相反我倒時刻要想盡辦法加強公司的管理,從工資,獎金,福利,生活和事業(yè)成就感等各個方面絞盡腦汁善待人才和留住人才,這么努力的人才根本就不需要過多地為工作和生活發(fā)愁,對于這個問題當然是仁者見仁智者見智,也就是下面我要講到的問題,一個人如何根據(jù)自己的特點、條件和機遇對自己如何定位的問題,也是至關(guān)重要的。 定位問題 比如說,如果您對單片機的理解僅僅是入門水平的話,那么您首先就應該低調(diào)一些,因為您主要的任務(wù)是為了尋找一個可以學習的機會,說句實在話,此刻此刻您一定要清醒地意識到:尋找伯樂比眼前的利益更加重要!因為您現(xiàn)在確實還沒有可以驕傲的資本,您一定要想盡辦法取得第一次正式踏入社會的入場卷,這對您來說是何等地重要啊!俗話說得好,“萬丈高樓從地起”您一定要尋找機會通過業(yè)績表現(xiàn)出您的能力,您確實與眾不同之處。這樣您就可能在一個公司里樹立您的“信用”,有了信用之后隨之而來的機會將會越來越多,到那時您根本就不用不愁自己的待遇和地位問題了。所以對于一個剛剛步入社會的年輕人來說,您能夠做到以“誠信” 打天下,您將來的前途肯定是無限光明。千萬不要感到自己在班上的成績是前幾名或者相對來說自己的動手能力相比之下比同學強多少、多少,或者自己在讀書期間貸了多少款,或者家里是多么地缺錢,因為當您加入整個社會的競爭之后,這些都不是您要求高薪的理由,這個時候您的心態(tài)將可能會決定您的命運,因此對自己要有充分的認識和正確的估價,經(jīng)常是很多學生用這些理由向我開出高價,我無話可說只好“搖頭和嘆息”。 如果您的水平還不夠,我認為也不要自卑,要知道機會是時刻屬于有準備的年輕人,但也不可掉以輕心,此時此刻,您應該振作起來,立即拿起書本努力學習和加強實戰(zhàn)的訓練,待到羽翼豐滿之時大膽地走出去闖蕩,讓社會來對您做一個恰當?shù)脑u價,然后再根據(jù)現(xiàn)實的情況不斷地調(diào)整自己,繼續(xù)學習和實踐,由于電子和計算機科學的高速發(fā)展呈現(xiàn)日新月異的變化局勢,您一定要明白:您距離失敗永遠只有6 個月!
標簽: 單片機
上傳時間: 2013-11-02
上傳用戶:vodssv
拿到這本教程您首先就會想,什么是IAP教學法?是不是一種什么全新的教學方法?當然不是,我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是InApplicationsProgram(在應用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學習電子技術(shù)是一件非常無聊和枯燥的事情,為什么會有這種想法,就是因為我們傳統(tǒng)的教學方法只重理論而忽略了實踐,要一個人記住那些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的學習了一些電子基礎(chǔ)知識。 接下來我們應該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編寫的教材。翻一下傳統(tǒng)的單片機教材,都好象是為已經(jīng)懂單片機的人而寫的,一般總是以單片機的結(jié)構(gòu)為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統(tǒng)擴展和外圍器件,最后舉一些實例(隨便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎(chǔ)知識,如果按照此種學習方法,想進行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路和數(shù)字電路那樣,只要搞懂了電路原理,再按照產(chǎn)品要求設(shè)計好相應的電路就可以了。它是一種以簡單的硬件結(jié)構(gòu),復雜而有靈活的軟件系統(tǒng)來完成設(shè)計的通用性產(chǎn)品,不同的設(shè)計者只會使用其不同的功能,幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把它全部掌握了再去做產(chǎn)品開發(fā)(當然天才就例外了*_*)。 基于以上原因,本人想嘗試一種全新的單片機教學方法,打破傳統(tǒng)的循序漸進式的教學方法,以單片機的應用為藍本,結(jié)合基本的工業(yè)控制系統(tǒng)和實踐工作中的具體應用,不分先后順序,將各條指令貫串于一個又一個的實驗中,通過所見即所得的實驗來講解各種指令的編程方法,順便講解相關(guān)的基本概念,使您盡快地熟悉單片機應用的基本步驟,掌握軟件編程的基本方法。
上傳時間: 2014-02-27
上傳用戶:shen_dafa
單片機是什么?單片機有什么用?單片機與微處理器是什么關(guān)系?而CPU呢?MCU呢?其實對于初次接觸單片機的朋友,總會提出很多問題,有的可以問問老師或身邊的朋友,而有的卻把問題掛在自己的腦海中,希望能找到一份詳細的資料、書籍把這些問題一一解決。 不過在接觸單片機之前,您最好學過或了解過微機原理,以及數(shù)字電路、模擬電路的相關(guān)知識,這些是基礎(chǔ)知識。其實可以把單片機看得簡單些,可以把它看作是一個以CPU(處理器)為中心的,集成有不同為了讓它可以工作起來的資源的微控制器、微處理器。 可以那么簡單地去看:單片機就是個從輸入到輸出的黑匣子;一切單片機的應用無非就是給其一定的輸入,然后期望得到一定的輸出結(jié)果;而什么樣的輸入得到什么樣的輸出?就得由CPU來處理了,然而怎么處理呢?當然要依據(jù)程序員的意愿來處理了,所以學習單片機就必然涉及到程序的編寫。 程序員編寫的程序會利用CPU控制單片機上的各種資源,協(xié)調(diào)處理,把輸入變?yōu)樗谕妮敵觯划斎贿@里的輸入與輸出,只是一個概念,無法具體到某個信號。
上傳時間: 2013-11-22
上傳用戶:fdmpy
學習單片機總結(jié)寶典 基于本人學習單片機的痛苦經(jīng)歷,特編寫本教程,以此獻給廣大 的單片機初學者,希望您能從中受益。 作者提示:本教程乃最通俗易懂之單片機教材也,如果您還是看 不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_* 拿到這本教程您首先就會想,什么是 IAP 教學法?是不是一種什么全新的教學方法?當然不是, 我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是In Applications Program(在應 用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學習電子技術(shù)是一件非常無聊和枯燥 的事情,為什么會有這種想法,就是因為我們傳統(tǒng)的教學方法只重理論而忽略了實踐,要一個人記住那 些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的 學習了一些電子基礎(chǔ)知識。 接下來我們應該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可 不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編 寫的教材。翻一下傳統(tǒng)的單片機教材,都好象是為已經(jīng)懂單片機的人而寫的,一般總是以單片機的結(jié)構(gòu) 為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統(tǒng)擴展和外圍器件,最后舉一些實例(隨 便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎(chǔ)知識,如果按照此種學習方法,想 進行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路 和數(shù)字電路那樣,只要搞懂了電路原理,再按照產(chǎn)品要求設(shè)計好相應的電路就可以了。它是一種以簡單 的硬件結(jié)構(gòu),復雜而有靈活的軟件系統(tǒng)來完成設(shè)計的通用性產(chǎn)品,不同的設(shè)計者只會使用其不同的功能, 幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把 它全部掌握了再去做產(chǎn)品開發(fā)(當然天才就例外了*_*)。
上傳時間: 2013-10-15
上傳用戶:小碼農(nóng)lz
at91rm9200啟動過程教程 系統(tǒng)上電,檢測BMS,選擇系統(tǒng)的啟動方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設(shè)置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設(shè)備的開始地址處連續(xù)的存放的32個字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實這樣規(guī)定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來就進行存儲器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設(shè)備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運行XMODEM協(xié)議。對USB DEVICE進行初始化以及運行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務(wù)也不錯,不但提供了片內(nèi)啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動,這時rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時我們打開超級終端會看到ccccc...。這說明系統(tǒng)已經(jīng)啟動,同時xmodem協(xié)議已經(jīng)啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協(xié)議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續(xù)打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動等一些命令。 如果系統(tǒng)上電時bms為低電平,則系統(tǒng)從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復位,就可以看到系統(tǒng)先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
數(shù)據(jù)傳送的控制 數(shù)據(jù)傳送涉及的3個問題1)數(shù)據(jù)的來源;2)數(shù)據(jù)的去處;3)數(shù)據(jù)本身以及如何控制數(shù)據(jù)的傳送。 DMA方式控制的數(shù)據(jù)傳送 DMA傳送方式通常用來高速傳送大批量的數(shù)據(jù)塊。如: 硬盤和軟盤I/O; 快速通信通道I/O; 多處理機和多程序數(shù)據(jù)塊傳送; 在圖像處理中,對CRT屏幕送數(shù)據(jù); 快速數(shù)據(jù)采集; DRAM的刷新操作。 DMA傳送包括:(1)存儲單元傳送:存儲器→存儲器。(2)DMA讀傳送:存儲器→I/O設(shè)備。(3)DMA寫傳送:I/O設(shè)備→存儲器。4.1.2 DMA傳送的工作過程 1)I/O設(shè)備向DMAC發(fā)出DMA請求;2) DMAC向CPU發(fā)出總線請求;3)CPU在執(zhí)行完當前指令的當前的總線周期后,向DMAC發(fā)出總線響應信號;4)CPU脫離對系統(tǒng)總線的控制,由DMAC接管對系統(tǒng)總線的控制; 為什么DMA傳送方式能實現(xiàn)高速傳送?DMA傳送的過程是什么樣的?畫出流程。DMA有哪些操作方式?各有什么特點。簡述DMA控制器的兩個工作狀態(tài)的特點。試設(shè)計一種在8088大模式下與8237連接的基本電路圖。并說明你的設(shè)計中8237各個端口的實際地址。DMA控制器的時序包括哪幾個狀態(tài)周期?試畫出正常讀傳輸?shù)臅r序。DMAC的內(nèi)部地址寄存器是16位的,如何擴展地址來訪問16MB的地址空間?
標簽: DMA
上傳時間: 2013-11-18
上傳用戶:leixinzhuo
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1