新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > MDK(uVsion3)問題總結(jié)及解決方法

MDK(uVsion3)問題總結(jié)及解決方法

作者: 時間:2012-06-29 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/186157.htm
使用已經(jīng)有快半年的時間了,開始一直使用試用版(不到半個月就上手了),后來研發(fā)部門購買了三套工具進(jìn)行產(chǎn)品研發(fā),以下是我在使用過程中出現(xiàn)過的一些問題,現(xiàn)在總結(jié)出來供大家一起分享下吧,呵呵,希望對大家有用啦。
問題1:工具的CARM編譯器?
我原來對CARM編譯器比較熟悉,想用CARM編譯器編譯工程,但是卻彈出一個不能執(zhí)行“cc”的錯誤,到KEIL網(wǎng)站查下才知道原因:由于CARM編譯器是比較老的編譯器,并且KEIL公司兩年前已經(jīng)停止了對CARM編譯器的維護(hù)與升級,所以目前KEIL公司已經(jīng)沒有把CARM編譯器集成到MDK開發(fā)工具里面來。于是我就改用RealView編譯工具,卻發(fā)現(xiàn)RealView編譯工具確實很好用,編譯效率很高,不愧為業(yè)內(nèi)最優(yōu)秀的編譯器啊,呵呵,所以建議大家都用RealView編譯器吧。不過現(xiàn)在KEIL網(wǎng)站也可以下載CARM編譯器,版本為2.54,具體情況見http://www.keil.com/support/docs/3267.htm。4d.y5q4O4_$R
問題2:使用MDK工具將程序下載到RAM里面調(diào)試?
MDK支持將代碼下載到RAM中進(jìn)行調(diào)試。之前我以為只能通過編寫腳本文件的,后來看幫助文檔才知道有一個更為快捷的,點下鼠標(biāo)就可以了。可以有兩種實現(xiàn)RAM下載的功能。電子論壇,電子設(shè)計論壇,電子開發(fā)論壇+I,y*o*t i2u,Q%f
方法一電子開發(fā)論壇)e T2M)p0
我們只需要簡單的設(shè)置就可以實現(xiàn)此功能。具體方法大家可在MDK幫助文檔里看到:MDK幫助文檔(Help)->RealView編譯工具簡介->嵌入式程序->指定存儲域。在這一章節(jié)說明了將代碼拷貝到RAM中執(zhí)行的方法。也就是只要點下鼠標(biāo)就可以實現(xiàn)的方法。
方法二bbs.dzkf.nety:U2Z0z7T C9e3f.z
我們可以寫腳本文件實現(xiàn)這一功能,腳本文件的寫法和ADS或者Embest IDE大致相同,只是有些格式需要稍微修改,具體寫法大家可以參閱MDK里面的PDF幫助文檔,文檔路進(jìn)為:打開MDK工具->workspace->books->雙擊RV Linker/Utilities打開PDF文檔->第五章Using Scatter-loading Description Files。這里面有關(guān)于腳本文件的詳細(xì)講述。
腳本文件寫好以后我們需要以下步奏添加到工程中去:
1:打開“option for target”電子論壇,電子設(shè)計論壇,電子開發(fā)論壇7F#B/I$l@
2:在“linker”里面去掉“use memory layout for target dialog”的選擇,在“scatter file”中點擊“…”指定你編寫好的腳本文件的路徑。單擊右邊的“eidt”可以編輯腳本文件。見圖1—— 全球最大的中文電子開發(fā)論壇1A(]'W'D0l,B5?9c)qB
3:單擊確認(rèn)

說明:選中“use memory layout for target dialog”這一項實際上是默認(rèn)在“target”中對Flash和RAM的地址配置,編譯鏈接時會產(chǎn)生一個默認(rèn)的腳本文件。—— 全球最大的中文電子開發(fā)論壇$C0r5O4T;`$~
—— 全球最大的中文電子開發(fā)論壇5@1V$j;c-F$H+]e1b

問題三:關(guān)于License的問題—— 全球最大的中文電子開發(fā)論壇!A(L P:[2W0Z.a5bz+n/u
我之前就因為License使用不當(dāng)造成我的工具用不了,經(jīng)過技術(shù)支持的處理才解決,所以建議大家一定要在License使用上要慎重,
1、卸載MDK開發(fā)工具或者格式化MDK所在硬盤分區(qū)時一定要先卸載License,不然就會導(dǎo)致不可預(yù)料的后果,如License不可用或者License不可再申請等。
2、License與硬件(比如網(wǎng)卡MAC地址)是綁定再一起的,在一臺電腦上使用過的License不能拿到另外一臺電腦上使用,如果有這個需要的話,需要先卸載License然后再用需要使用License的電腦去申請一個新的License,但是License卸載次數(shù)不能超過兩次。
問題四:“Could not stop ARM device”
我在使用LPC2364開發(fā)板進(jìn)行調(diào)試的時候,有時會出現(xiàn)“Could not stop ARM device,please check the JTAG cable”的現(xiàn)象電子開發(fā)論壇3O.F)Y-J!?!{-P2q7b4_%z,R
該現(xiàn)象與開發(fā)板的頻率有關(guān)以及仿真器的頻率有關(guān),將JTAG Clock 調(diào)低到100KHz,晶振頻率設(shè)置再12MHz左右就可以了。我想其它板子出現(xiàn)此情況也可以參照這個辦法吧,再不行就干脆拔了仿真器再接上(很管用的)。電子論壇,電子設(shè)計論壇,電子開發(fā)論壇0g,y'K2E(M,t!n2v.Y

問題五:將二進(jìn)制可執(zhí)行文件(bin)通過MDK燒寫到板子里面的方法9|5j+Z5r+V7T F.U6g/])T
我之前用過ADS,想把ADS下面編譯通過的BIN文件通過MDK下載到開發(fā)板里面去,結(jié)果下不進(jìn)去,經(jīng)過咨詢才知道原來是因為MDK暫時不支持直接燒寫二進(jìn)制格式的可執(zhí)行文件(bin文件),對于二進(jìn)制文件的寫入方式是先將二進(jìn)制文件(bin)轉(zhuǎn)換為十六進(jìn)制文件(hex)。轉(zhuǎn)換完成后按照以下步奏完成文件的燒寫:
1.通過Project - New Project....菜單命令產(chǎn)生一個μVision工程文件; 電子論壇,電子設(shè)計論壇,電子開發(fā)論壇)K'A3P*kd5G
2.在設(shè)備數(shù)據(jù)庫中選擇合適的微控制器,但是不要將初始化代碼拷貝到工程中去; 電子論壇,電子設(shè)計論壇,電子開發(fā)論壇3I3l/x'k/F;S#J
3.在Project - Options for Target - Output頁中輸入即將生成的十六進(jìn)制文件名; 7A8u){#u)X#H
4.按照配置Flash菜單中所述的內(nèi)容設(shè)置下載工具;
當(dāng)使用“Flash – Download”命令時, μVision會將指定的十六進(jìn)制文件下載到Flash中 。二進(jìn)制到十六進(jìn)制文件的轉(zhuǎn)換需要采用相關(guān)的轉(zhuǎn)換程序;這個在keil 的網(wǎng)站上有提供。電子論壇,電子設(shè)計論壇,電子開發(fā)論壇7w+p#K%l(|$K)B

問題七:調(diào)試時彈出needs to close 對話框?bbs.dzkf.net0Z,y%`:HEb8l,x)R-I
我在調(diào)試工程的時候有時會彈出“needs to close ”的提示,開始一直不知道是什么問題,后來在網(wǎng)上搜索才知道該問題主要是工程代碼問題,引起軟件調(diào)試失敗,更改程序或更換正常程序后問題解決。
問題八:Error:C3900:Unrecognized option '-O3'.電子論壇,電子設(shè)計論壇,電子開發(fā)論壇:|,e+J:oz p;~.Ii-R#?5y
我使用的是MDK大眾版,使用中曾彈出這個錯誤,原因是MDK中國版有三個版本,大眾版支持優(yōu)化級別0,企業(yè)版和專業(yè)版都能支持0、1、2、3四個級別,如果使用的是大眾版,選擇高的優(yōu)化級別是會出錯的。



關(guān)鍵詞: uVsion3 MDK 方法

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉