第8問:
Q: USR模式,SVC模式,IRQ模式分別有哪些限制
A:對于外設(shè)操作限制與芯片設(shè)計有關(guān)。USR模式不能設(shè)置CPSR寄存器。 用戶模式下無SPSR寄存器,代碼可以為arm,Thumb.
第9問:
Q:請問“在初始化堆棧時就決定了工作模式”是什么意思 如何決定工作模式的
A:設(shè)置CPSR寄存器。
第10問:
Q:請問:arm匯編程序設(shè)計中所謂的“文字池”作何理解
A:可以理解為常量數(shù)組,文字池中保存的是常量,這些常量可以是正常的常量,也可以是地址。
第11問:
Q:為什么在中斷向量表中不直接LDR PC,“異常地址”。而是使用一個標號,然有再在后面使用DCD定義這個標號
A:因為LDR指令只能跳到當前PC 4kB范圍內(nèi),而B指令能跳轉(zhuǎn)到32MB范圍,而現(xiàn)在這樣在LDR PC, “xxxx”這條指令不遠處用“xxxx”DCD定義一個字,而這個字里面存放最終異常服務(wù)程序的地址,這樣可以實現(xiàn)4GB全范圍跳轉(zhuǎn)。
Q: LDR 不是可以全空間跳轉(zhuǎn)的嗎 《arm微控制器基礎(chǔ)與實戰(zhàn)》程序清單5.3.
A: LDR偽指令通過設(shè)置指令緩沖池才能實現(xiàn)全范圍跳轉(zhuǎn),而LDR指令則只能實現(xiàn)4KB范圍跳轉(zhuǎn)。
第12問:
Q: ARM7TDMI-S和arm7TDMI有何區(qū)別
A: ARM7TDMI-S是ARM7TDMI的可綜合(synthesizable)版本(軟核)。 對應(yīng)用工程師來說,除非芯片生產(chǎn)廠商對ARM7TDMI-S進行了裁減,否則ARM7TDMI-S與ARM7TDMI沒有太大的區(qū)別,其編程模型與 arm7TDMI一致。
第13問:
Q: DCD偽指令的疑惑。
“StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH - 1) * 4”
這句話是什么意思 DCD后面的程序標號或數(shù)字表達式是何意
A:它的內(nèi)容是初始化遞減堆棧的最高地址,看《arm微控制器基礎(chǔ)與實戰(zhàn)》2.3.2節(jié)。
第2章 編譯器與語言
第14問:
Q:00254: Unimplemented RDI message是什么錯誤提示 我的設(shè)置連接都正常,是不是芯片燒了
A:是JTAG的問題。可以先使用ISP操作試試就知道了,如果能ISP,說明LPC2104沒有損壞,還能正常運行程序。
第15問:
Q:請教:我在調(diào)試程序的時候在AXD中出現(xiàn)這樣的提示信息:
RDI Warning 00159:could not open specified device port.
我是根據(jù)配套教程的步驟設(shè)置的。
A:請按照光盤\easyarm_drive\readme.txt安裝驅(qū)動程序。
第16問:
Q:我用實驗程序運行經(jīng)常出現(xiàn)下列信息! 程序不能下載到目標板。
Warnning! interrupt vectors data is not correct!
Program you downloaded can not run freely!
A:1.仿真器配置一定要正確,即“Easyarm Configuration”設(shè)置窗口中的“FLASH”項中選擇“Erase Flash when need”;
2.向量表累加和要為0;
3.可以先在RAM調(diào)試一個程序(運行),然后STOP,再使用File-》Load Image…加載要下載到FLASH的調(diào)試文件。
第17問:
Q:在ADS中是否可以進行軟件調(diào)試基于UCOS-II的程序
A:ADS軟件調(diào)試只能調(diào)試arm的內(nèi)核,不能調(diào)試外設(shè)。但是取消 PLL 鎖定檢測后,可以調(diào)試任務(wù)切換,最終到空閑任務(wù)上。開始移植時軟件仿真是最好的工具。
第18問:
Q:armulate軟件是干什么的 2104不是用EasyJTAG.dll來仿真嗎
A:軟件仿真只能仿真 arm 核。
第19問:
Q:有關(guān)LPC2106.INC的問題。我無法在project引用lpc2106.inc文件,只能引用lpc2106.h文件, 這是什么原因 且當我的主程序用匯編編寫時,不能引用lpc2106.h,用lpc2106.inc則無法加入project,請問匯編器應(yīng)如何設(shè)置
A:不用加2106.inc只要該文件在你的工程文件夾中,就可以直接在匯編程序的開始處加
“include 2106.inc”。
注意:該文件是匯編文件定義的頭文件,定義內(nèi)部寄存器。
評論