第20問:
Q:入口點是什么意思 我在使用LPC2106上移植UCOS-II,每次MAKE時總是提示我 Image does not have an entry point,可是我是把光盤的vetctors.s 復制過來的,而且仔細看了看,已經聲明了ENTERY,這是怎么回事
A:需要在ADS中設置入口。
第21問:
Q:請教:如何定義不被初始化變量
A:讓編譯器不知道有這個內存地址即可。
A:如用分散加載文件分配RAM故意預留一部分RAM不分配,用它來存您不需要初始化的東西。或者不調用編譯器提供的啟動代碼,不過這樣可能編程會麻煩一些。
第22問:
Q:我直接通過JTAG口下載EasyArm板帶的Ext1_test程序到arm中,出現中斷向量的告警:
interrupt vector is not correct arm is not running freely.
果然復位后芯片不能運行。但是我用串口下載后芯片能正常工作,中斷也行的。
并且我用JTAG仿真的話,芯片能正常工作,中斷也行的,唯獨JTAG口下載不行。
不知道是什么原因
A:仿真器配置中要設置Erase Flash when need.也可以這樣試試:
1.可以先打開一個工程在RAM中調試運行;
2.stop程序;
3.使用File-》Load Image…重新加載Ext1_test生成的*.axf文件。
Q:仿真器配置中我是設置了Erase Flash when need,但照你說的話,那不是在RAM下調試嗎
在RAM下調試我是可以的,但是下載后出現interrupt vector data is not correct.
我又看了幾篇文章,是不是跟中斷向量表的累加和不為零有關系啊
A:是的,是向量表的累加和不為零。
因為如果用ISP下載能運行,說明向量表的累加和已為零,而用JTAG下載不能運行的情況可能是 沒有正常下載代碼。先在RAM中調試,目的是為了后面正確下載程序到FLASH.
第23問:
Q:用Scatter怎樣將某個函數或文件定位在Flash的某個位置
A:參考http: //www.zlgmcu.com/download/downs.asp?ID=1009
第24問:
Q:我在仿真時遇到這樣的提示:
Error, Flash is protected by user configation!
怎么寫到flash里面呢
A:看配套《arm微控制器基礎與實戰(zhàn)》附錄一。
第25問:
Q:我在移植實驗中想到了兩個問題,如下:
1.Debug和Release以及DebugRel有什么不同,為什么在作2104移植實驗時,要用Release
2.在Release中為什么要將RW Base設置為0x40000040 我將其設置為0x40003000,
為什么不能工作
A:都只是一個問題,內存空間的使用,因為跑OS要比較大的內存空間,所以要騰出點地方。
第26問:
Q:請問沒有MMU的arm芯片是否支持使用malloc()函數動態(tài)分配內存
A:是否支持malloc()函數與芯片沒有多大關系,主要與編譯器有關。
Q:再問:如果沒有操作系統(tǒng)支持呢
A:也支持。
第27問:
Q:在I2C實驗程序中,我想查看數據緩沖區(qū)DataBuf的值,怎么查看
A:watch窗口或鼠標停留在要查看的變量名上。
Q:我查詢的是寫入DataBuf緩沖區(qū)的值,鼠標在上面根本就不會出現他的值,即使在watch中加入, 結果也是“name not found”。
A:變量被優(yōu)化,調試時可以把該變量定義為全局變量查看。
第28問:
Q:仿真軟件和2104開發(fā)板連接不上
DBE Warning 00041:
!An unspecified Debug Toolbox call failed
電源和開發(fā)板都連好,錯誤和沒接開發(fā)板一樣,驅動也安裝了,安裝時按確定鍵時,軟件很長時間才有如上反應,請幫忙
A:1.并口是否正常
2.在其它操作系統(tǒng)(如98)下或其它臺式PC下試試。
第29問:
Q:如何生成32位hex文件
我在Release Setting-》arm fromELF-》Output Format中設置為Intel 32bit HEX,可是好像沒有生成hex文件
A:試試這種方法:
Target--》Target Setting--》 ost Link中選擇“arm fromELF”加上你上面設的應該不成問題。
第30問:
Q:請問關于settings中r0 base rw base的意思
A:ro:read only,rw:read and write.
第31問:
Q:編譯成功后的信息第一行,code,R0 data,RW data,ZI data,debug分別代表什么
A:R0 只讀段,即程序代碼空間;
RW 可讀/寫段,即數據變量空間;
ZI 清零變量段,即需要清零初始化的數據變量空間。
第32問:
Q:如何在ADS里面看任務執(zhí)行的一些情況 比如堆棧。
A:多任務環(huán)境下的堆棧,內存等信息需要調試軟件的支持才可以實現。
ucos下有一個統(tǒng)計功能的模塊可以間接實現部分功能。
評論