![ARM開發(fā)軟件使用教程_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/c975c561-8481-4c5b-981b-fb75c719c01a/c975c561-8481-4c5b-981b-fb75c719c01a1.gif)
![ARM開發(fā)軟件使用教程_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/c975c561-8481-4c5b-981b-fb75c719c01a/c975c561-8481-4c5b-981b-fb75c719c01a2.gif)
![ARM開發(fā)軟件使用教程_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/c975c561-8481-4c5b-981b-fb75c719c01a/c975c561-8481-4c5b-981b-fb75c719c01a3.gif)
![ARM開發(fā)軟件使用教程_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/c975c561-8481-4c5b-981b-fb75c719c01a/c975c561-8481-4c5b-981b-fb75c719c01a4.gif)
![ARM開發(fā)軟件使用教程_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/c975c561-8481-4c5b-981b-fb75c719c01a/c975c561-8481-4c5b-981b-fb75c719c01a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ARM開發(fā)軟件使用教程作者:龔俊Email:gongjun98QQ:63505043創(chuàng)建日期:2003年1月21日修改日期:2003年1月24日版本:1.2說明:本文是根據(jù)我學(xué)習(xí)ARM開發(fā)以來的一些經(jīng)驗(yàn)總結(jié),以自己設(shè)計(jì)的S3C44B0X板為例,給出入門上手的最基礎(chǔ)知識(shí)。有些東西只是個(gè)人的主觀認(rèn)為,不一定準(zhǔn)確,算作拋磚引玉吧,歡迎大家指正!Emai或QQ聯(lián)系,希望廣交各位朋友,共同提高!一、 安裝SDT2.51點(diǎn)擊SDT2.51安裝程序中的setup.exe,出現(xiàn)如下安裝界面:一路點(diǎn)擊next繼續(xù),一般默認(rèn)設(shè)置就行了,不需作任何修改了,最后完成安裝,我是安裝在C:ARM251下面;二、 啟動(dòng)SD
2、T2.51安裝完畢,點(diǎn)擊程序組中的ARM Project Manager啟動(dòng)主程序:之后出現(xiàn)主程序界面如下:三、 利用模板創(chuàng)建自己的項(xiàng)目很多初學(xué)者會(huì)遇到這樣一個(gè)問題:自己寫了程序,編譯也通過了,結(jié)果怎么也生成不了二進(jìn)制格式的目標(biāo)代碼(*.bin)。如何生成目標(biāo)代碼需要參考SDT2.51安裝文件夾pdf中的userguide.pdf,在它的392頁有詳細(xì)說明,教你怎么Converting ARM linker ELF output to binary ROM formats。為了減少大家的麻煩,我提供一個(gè)模板Project,你打開我這個(gè)Project,然后點(diǎn)擊菜單File下的Save As Te
3、mplate:然后在彈出的窗口中隨意選擇一個(gè)目錄下,新建一個(gè)自己的文件夾,隨便取一個(gè)Project名稱,確認(rèn)即可在主程序上出現(xiàn)新Project界面?,F(xiàn)在可以在剛才建立的文件夾下面編輯代碼,包括匯編代碼和C程序代碼。注意匯編代碼必不可少,它是用來進(jìn)行系統(tǒng)初始化和C程序入口的,這些范例代碼可以在三星網(wǎng)站去下載,網(wǎng)上也有很多相關(guān)資源,如果找不到也可以找我要。四、 添加自己的源碼點(diǎn)擊菜單Project下的Add File To Project,在彈出的窗口中,瀏覽自己的Project文件夾下面的程序代碼,將代碼添加到創(chuàng)建的項(xiàng)目。這時(shí)依次點(diǎn)擊rom、debug、Sources前面的十字架,就會(huì)看到自己剛
4、才添加成功的代碼,雙擊任何一個(gè)代碼文件就可以打開它進(jìn)行編輯:五、 修改SDT2.51設(shè)置以生成Flash代碼過來剛才一關(guān),還有一只攔路虎,很多朋友是在這里沒設(shè)置對(duì),導(dǎo)致屢屢失敗,信心大失!SDT2.51代碼生成是有一個(gè)代碼定位的,以我設(shè)計(jì)的S3C44B0X板為例,啟動(dòng)Flash片選引腳是接在nGCS0的,它的地址空間是從0X00000000開始的。如果你要將代碼燒寫到這片F(xiàn)lash,那么必須正確設(shè)置SDT2.51,使它將目標(biāo)代碼定位在0X00000000,設(shè)置過程如下:先單擊一下主程序窗口ROM下的Debug,然后點(diǎn)擊如下菜單中的set:彈出如下窗口:點(diǎn)擊Entry And Base,在Rea
5、donly下面的框里面輸入0X00000000,確認(rèn)即可:六、 編譯項(xiàng)目生成初始化目標(biāo)代碼(放在Flash中)現(xiàn)在選擇菜單build或者點(diǎn)擊快捷圖標(biāo)就可以編譯代碼,點(diǎn)擊Force build之后就生成了二進(jìn)制目標(biāo)代碼(*.bin),這可以在項(xiàng)目文件夾下面找到。在主程序窗口下面的信息框可以看到編譯的情況,包括警告和錯(cuò)誤信息,最終代碼生成的情況等等;七、 ARM板硬件準(zhǔn)備下面以我自己的S3C44B0X板為例,說明初次寫目標(biāo)代碼到Flash中的準(zhǔn)備工作。首先當(dāng)然是板子加電,電源指示燈亮了;內(nèi)部一對(duì)一、一頭公一頭母的并口延長線分別連接PC機(jī)并行口和JTAG下載板,JTAG下載板通過扁平排線連接ARM板
6、。這里面要注意一個(gè)復(fù)位問題,S3C44B0X有兩個(gè)復(fù)位引腳,其中nRESET是CPU復(fù)位引腳,nTRST是JTAG單元復(fù)位引腳,一般的S3C44B0X系統(tǒng)都有一個(gè)跳線,用短路塊將兩個(gè)復(fù)位端連在一起,這樣一按復(fù)位按鍵,兩個(gè)復(fù)位引腳都復(fù)位了。而JTAG下載板上面也有一個(gè)跳線,這個(gè)跳線是JTAG單元復(fù)位引腳。在燒寫Flash的時(shí)候,PC機(jī)會(huì)通過JTAG下載板上的那個(gè)跳線來復(fù)位ARM板的JTAG單元,所以應(yīng)該用短路塊將JTAG下載板上的跳線短路,而ARM板上的跳線(連接nRESET和nTRST)的則不應(yīng)該短路;如果你是自己設(shè)計(jì)ARM板,第一次燒寫Flash,那么你可以檢查一下系統(tǒng):首先看看CPU的電壓
7、是否正常,主要芯片是否發(fā)燙?如果有怪味、冒煙可就要急剎車了!CPU的IO電壓是3.3V,內(nèi)核電壓是2.5V。可以看看系統(tǒng)時(shí)鐘輸入的波形,32768晶體的一個(gè)引腳上應(yīng)該能看到32768的正弦波。如果是剛焊新的Flash,那么一般Flash里面數(shù)據(jù)都是0Xff,用示波器可以看到數(shù)據(jù)線都是高電平,地址線上面有規(guī)則的方波信號(hào)。你一按復(fù)位按鍵,方波立馬消失變成低電平。八、 將初始化目標(biāo)代碼寫入Flash準(zhǔn)備妥當(dāng),現(xiàn)在可以燒寫代碼了!網(wǎng)上有一個(gè)叫Fluted.exe的程序,使用它就可以完成Flash燒寫。這里面針對(duì)不同的CPU還需要不同的Bsd文件,不同的Flash芯片需要對(duì)Fcd文件進(jìn)行相應(yīng)的修改。S3
8、C44B0X的BSD文件S3C44B0X.bsd可以在三星公司網(wǎng)站找到,適用于SST39VF160的fcd文件在網(wǎng)上搜索得到。經(jīng)過艱苦努力,我也搞定了AT49BV1614的Fcd文件。特別說明:這個(gè)燒寫Flash的程序只能在Windows98系統(tǒng)下才能運(yùn)行!不支持Windows2000、WindowsNT和WindowsXP,所有你需要切換到Windows98下面才能進(jìn)行這項(xiàng)工作!對(duì)于我的板子,使用SST39VF160,需要的S3C44B0X.bsd、default.fcd和Fluted.exe,將自己的目標(biāo)代碼model.bin與上面的三個(gè)文件放在同一個(gè)目錄下面,運(yùn)行Fluted.exe就可
9、以進(jìn)行Flash燒寫了。由于Fluted.exe要輸入相應(yīng)的配置參數(shù),所以我干脆做了一個(gè)批處理文件f.bat:FluteD a -f model.bin -v -s 0這樣運(yùn)行這個(gè)批處理文件就可以開始燒寫了,燒寫界面如下:這個(gè)程序首先打開fcd文件和bin文件,然后檢查設(shè)備ID,如果ID錯(cuò)誤的話程序會(huì)停止運(yùn)行。這意味著你的硬件系統(tǒng)有問題,或者JTAG接線有錯(cuò)誤等等。然后開始擦除FLASH里面的數(shù)據(jù),根據(jù)Flash的大小擦除時(shí)間有長有短;擦除完畢就開始對(duì)Flash編程,將目標(biāo)代碼寫進(jìn)去。編程完畢開始校驗(yàn),如果出錯(cuò)會(huì)給出提示信息的,告訴你在哪個(gè)地址區(qū)域出錯(cuò),寫進(jìn)去的數(shù)據(jù)是什么,讀出來的數(shù)據(jù)又是什么
10、,只有校驗(yàn)完全成功才是燒寫OK!有些朋友將目標(biāo)代碼定位在0X0C000000,結(jié)果燒寫后校驗(yàn)也完全成功了,但復(fù)位之后板子卻沒有任何反應(yīng)!這是因?yàn)閷懙絊DRAM之后校驗(yàn)肯定也是對(duì)的,但復(fù)位之后程序是從0X00000000開始執(zhí)行的,而不是從0X0C000000開始的,所有板子肯定沒有反應(yīng)了!九、 復(fù)位運(yùn)行初始化程序現(xiàn)在按一下復(fù)位按鍵,就我上面的程序而言,可以看到LED燈在來回閃爍。在我這個(gè)程序中,是完成系統(tǒng)初始化,包括禁止看門狗、禁止所有中斷、初始化存儲(chǔ)器(包括SDRAM)、設(shè)定鎖相環(huán)倍頻、使能所有單元模塊時(shí)鐘、初始化堆棧、設(shè)置中斷等等,這些都在匯編程序中完成。主程序完成 IO端口功能、方向設(shè)定
11、,實(shí)現(xiàn)一個(gè)最簡單的LED閃爍程序。十、 修改SDT2.51設(shè)置以生成SDRAM代碼走到這一步,你已經(jīng)成功了一大半!不過還要實(shí)現(xiàn)硬件Debug,才能說是完全掌握了ARM開發(fā)的基本軟件操作。一般硬件Debug都要在SDRAM中運(yùn)行,所以需要定位生成的目標(biāo)代碼在SDRAM地址空間。就我的板子而言,SDRAM的片選引腳接在nSCS0上面,它的地址從0X0C000000開始,所有要把目標(biāo)程序定位在這里。如前面所說步驟,先單擊一下主程序窗口ROM下的Debug,然后點(diǎn)擊菜單中的set,在彈出的窗口中選擇點(diǎn)擊Entry And Base,在Readonly下面的框里面輸入0X0c000000(程序空間),在
12、Readwrite下面的框里面輸入0X0c5f0000(這是數(shù)據(jù)空間),確認(rèn)即可:十一、 編譯項(xiàng)目生成調(diào)試目標(biāo)代碼(放在SDRAM中)如前所述,點(diǎn)擊菜單或者快捷圖標(biāo)即可,這里不再重復(fù)。十二、 開啟JTAG.exe后臺(tái)運(yùn)行這里面需要說一下:SDT2.51支持軟件仿真和硬件debug,默認(rèn)是軟件仿真,這個(gè)很簡單,大家一看就會(huì)。關(guān)鍵的是硬件debug,它支持串口、并口和以太網(wǎng)仿真,串口和并口我不知道怎么玩。我的板子是通過并口JTAG進(jìn)行硬件調(diào)試的,但實(shí)際上卻是通過以太網(wǎng)的。這里面有一個(gè)轉(zhuǎn)換軟件JTAG.exe,它把發(fā)送到以太網(wǎng)的數(shù)據(jù)攔截下來,遵從JTAG協(xié)議,轉(zhuǎn)換到并口上面,然后通過JTAG接口板,
13、控制ARM板上面的CPU,進(jìn)行硬件Debug。JTAG.exe在王云飛的網(wǎng)頁上面有下載,包括并口JTAG接口板的電路圖,我就是照他的圖紙做的板子。需要說明一下:JTAG.exe只能在Win98下運(yùn)行,Win2000下不行,所以如果你要進(jìn)行硬件仿真的話,必須切換到Win98系統(tǒng)下面。這很不爽,哪位朋友找到能在Win2000下面跑的JTAG.exe的話,麻煩告訴我一聲!當(dāng)然如果只是進(jìn)行程序編寫、編譯、軟件仿真,SDT2.51在Win98、Win2000和WinXP都沒有問題的!雙擊JTAG.exe,它就在后臺(tái)運(yùn)行了。十三、 Debug設(shè)置使用這種方式仿真,還要進(jìn)行一些設(shè)置才行。點(diǎn)擊Debug菜單或
14、者快捷圖標(biāo),出現(xiàn)ARM Debugger程序窗口:然后選擇菜單Options下面的Config Debugger:彈出如下窗口:在Target Environment下面選擇Remote_A,然后點(diǎn)擊Configure:在Heartbeat前面打勾,在Ethernet后面輸入你的計(jì)算機(jī)IP地址并確認(rèn)。這里面肯定要你機(jī)子上面裝有網(wǎng)卡,而且IP地址要指定了,如果是自動(dòng)分配IP的話,就不太方便了,每次都要查找自己機(jī)子的IP。十四、 裝載目標(biāo)代碼到ARM板如果是第一次設(shè)置Debugger,確認(rèn)以后,系統(tǒng)就會(huì)自動(dòng)裝載代碼到ARM板上,你也可以點(diǎn)擊Reload圖標(biāo)重新轉(zhuǎn)載代碼。如果代碼很大的話,時(shí)間會(huì)稍長
15、一點(diǎn),可能要幾十秒,一般幾秒就搞定,出現(xiàn)如下窗口:出現(xiàn)了上面的這個(gè)畫面才說明你裝載成功了,如果出現(xiàn)與此完全不同的東西,或者莫名其妙的代碼,你就要檢查硬件了!現(xiàn)在按F8就可以單步仿真了,你可以看到綠色的圖標(biāo)一步一步向下走。如果程序一單步就跑飛,可能就是硬件問題了,檢查時(shí)鐘電路,電源濾波是否良好?剛開始學(xué)習(xí)ARM時(shí),建議時(shí)鐘倍頻不用太高,這樣有時(shí)候可能會(huì)出問題,經(jīng)驗(yàn)不足往往找不到問題所在,費(fèi)時(shí)費(fèi)力打擊了自己。如果時(shí)鐘輸入是8MHz的話,二倍頻將主頻定在16MHz,這樣調(diào)試起來可能麻煩少一點(diǎn)。匯編程序走完,就要進(jìn)入C代碼了,下面是從匯編到C的入口:按F8就進(jìn)入C代碼仿真了,界面如下:十五、 其他調(diào)試
16、手段其他運(yùn)行到某條語句、設(shè)置斷點(diǎn)、全速運(yùn)行、觀察變量、觀察寄存器、觀察存儲(chǔ)器空間,這些東西大家一看就會(huì),不需要我來教,就不再細(xì)述了,大家自己研究。附帶提一下,如果你單步仿真的話,是可以看到JTAG.exe程序窗口上面的數(shù)據(jù)通訊過程,每一步都有相應(yīng)的輸出信息,一個(gè)典型的信息窗口如下:十六、 其他申明本文歡迎轉(zhuǎn)載,但請(qǐng)注明出處,并不可修改文章內(nèi)容!對(duì)文章內(nèi)容有任何疑問請(qǐng)Email聯(lián)系本人,共同研究!本人2002年本科畢業(yè)于電子科技大學(xué)(成都),出來不久開始ARM開發(fā),苦于沒有人指點(diǎn),走了不少彎路。現(xiàn)在將自己的一些體會(huì)與大家分享,我覺得ARM的門檻并不高,甚至比單片機(jī)的開發(fā)成本要低!因?yàn)閱纹瑱C(jī)開發(fā)最少要一個(gè)編程器,而ARM則只需要一塊板子,硬件仿真工具可以自己做!我覺得現(xiàn)在ARM正處于一種很明顯的優(yōu)勢(shì),如果沒看錯(cuò)的話,8位機(jī)是51的時(shí)代,那么32位機(jī)工業(yè)標(biāo)準(zhǔn)絕對(duì)是ARM,現(xiàn)在幾乎大的嵌入式處理器公司都推出ARM內(nèi)核的處理器。摩托羅拉的新龍珠MX1、INTEL、SAMSUNG、ATMEL等等,微軟的新的手持設(shè)備操作系統(tǒng)PocketPC也明確只支持ARM內(nèi)核處理器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)社團(tuán)職位申請(qǐng)書
- 增工資申請(qǐng)書
- 妻子入戶申請(qǐng)書范文
- 2025至2030年中國泵站數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年蝴蝶錢夾項(xiàng)目投資價(jià)值分析報(bào)告
- 三相電表安裝申請(qǐng)書
- 2025至2030年中國刷花短毛絨數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年氣液泵項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年中國砂輪滑臺(tái)市場調(diào)查研究報(bào)告
- 2025至2030年LED發(fā)光光源項(xiàng)目投資價(jià)值分析報(bào)告
- 商業(yè)綜合體物業(yè)運(yùn)營方案
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年度工作計(jì)劃
- 管理統(tǒng)計(jì)學(xué)課件
- 2024裝配式混凝土建筑工人職業(yè)技能標(biāo)準(zhǔn)
- 消火栓及自動(dòng)噴水滅火系統(tǒng)裝置技術(shù)規(guī)格書
- 軍隊(duì)文職(會(huì)計(jì)學(xué))考試(重點(diǎn))題庫200題(含答案解析)
- 北師大版八上《生物的遺傳和變異》
- 小兒急性喉炎護(hù)理查房
- 護(hù)理專業(yè)應(yīng)聘個(gè)人簡歷
- 北師大版二年級(jí)上冊(cè)100以內(nèi)加減法豎式計(jì)算題300道及答案
- 全過程跟蹤審計(jì)及預(yù)算績效管理投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論