




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
ARM經(jīng)典40問答第1問:Q:請問在初始化CPU堆棧的時候一開始在執(zhí)行mov r0, LR這句指令時處理器是什么模式A:復位后的模式,即管理模式。第2問: Q:請教:MOV中的8位圖立即數(shù),是怎么一回事 0xF0000001是怎么來的 A:是循環(huán)右移,就是一個0255 之間的數(shù)左移或右移偶數(shù)位的來的,也就是這個數(shù)除以4一直除, 直到在0-255的范圍內(nèi)它是整數(shù)就說明是可以的! A:8位數(shù)(0-255)循環(huán)左移或循環(huán)右移偶數(shù)位得到的,F(xiàn)0000001既是0x1F循環(huán)右移4位,符合規(guī)范,所以是正確的。這樣做是因為指令長度的限制,不可能把32位立即數(shù)放在32位的指令中。移位偶數(shù)也是這個原因??梢钥匆豢碼rm體系結構(ADS自帶的英文文檔)的相關部分。第3問: Q:請教:arm微控制器基礎與實戰(zhàn)2.2.1節(jié)關于第2個操作數(shù)的描述中有這么一段:#inmed_8r常數(shù)表達式。該常數(shù)必須對應8位位圖,即常熟是由一個8位的常數(shù)循環(huán)移位偶數(shù)位得到。 合法常量:0x3FC,0,0xF0000000,200,0xF0000001. 非法常量:0x1FE,511,0xFFFF,0x1010,0xF0000010. 常數(shù)表達式應用舉例: LDR R0,R1,#-4 ;讀取 R1 地址上的存儲器單元內(nèi)容,且 R1 = R1-4 針對這一段,我的疑問: 1. 即常數(shù)是由一個8位的常數(shù)循環(huán)移位偶數(shù)位得到,這句話如何理解 2. 該常數(shù)必須對應8位位圖,既然是8位位圖,那么取值為0-255,怎么0x3FC這種超出255的數(shù)是合法常量呢 3. 所舉例子中,合法常量和非法常量是怎么區(qū)分的 如0x3FC合法,而0x1FE卻非法0xF0000000,0xF0000001都合法,而0xF0000010又變成了非法 4. 對于匯編語句 LDR R0,R1,#-4,是先將R1的值減4結果存入R1,然后讀取R1所指單元的 值到R0,還是先讀取R1到R0,然后再將R1減4結果存入R1 A:提示,任何常數(shù)都可用底數(shù)*2的n次冪 來表示。 1. arm結構中,只有8bits用來表示底數(shù),因此底數(shù)必須是8位位圖。 2. 8位位圖循環(huán)之后得到常數(shù),并非只能是8位。 3. 0xF0000010底數(shù)是9位,不能表示。 4. LDR R0, R1, #-4 是后索引,即先讀,再減。 可以看一看arm體系結構對相關尋址方式的說明。第4問: Q:在程序移植的過程中,什么代碼段處于什么樣的模式,這可真是一個困擾人的大難題,有沒有一種標志或辦法能夠識別代碼段處于什么樣的模式 A:讀取 CPSR ,任何時候都是可以讀。第5問: Q:為什么保護現(xiàn)場時,總是保護 R0-R3,R12,為什么不保護R4-R11A:請看一看arm-thumb過程調(diào)用標準這個文檔。第6問: Q:請問 mov R1,#0x00003DD0 錯誤: out of the range of operation是怎么回事情 我就是想IODIR=0x00003dd0,匯編就是 LDR R0,=IODIR MOV R1,#0x00003dd0 STR R1,R0 編譯時候說是超出操作范圍 A:使用ldr,mov的操作數(shù)為8位位圖數(shù)。第7問: Q:在arm7TDMI(-S)處理器內(nèi)部有37個用戶可見的寄存器: 問題:用戶可見應該怎樣理解 這37個寄存器是否是37個不同的物理寄存器, 例如R8與R8_fiq應該是兩個不同的物理寄存器吧 A:用戶可見是指用戶可以通過程序操作的。R8與R8_fiq是兩個不同的寄存器。第8問: Q: USR模式,SVC模式,IRQ模式分別有哪些限制 A:對于外設操作限制與芯片設計有關。USR模式不能設置CPSR寄存器。 用戶模式下無SPSR寄存器,代碼可以為arm,Thumb.第9問: Q:請問在初始化堆棧時就決定了工作模式是什么意思 如何決定工作模式的 A:設置CPSR寄存器。第10問: Q:請問:arm匯編程序設計中所謂的文字池作何理解 A:可以理解為常量數(shù)組,文字池中保存的是常量,這些常量可以是正常的常量,也可以是地址。第11問: Q:為什么在中斷向量表中不直接LDR PC,異常地址.而是使用一個標號,然有再在后面使用DCD定義這個標號 A:因為LDR指令只能跳到當前PC 4kB范圍內(nèi),而B指令能跳轉(zhuǎn)到32MB范圍,而現(xiàn)在這樣在LDR PC, xxxx這條指令不遠處用xxxxDCD定義一個字,而這個字里面存放最終異常服務程序的地址,這樣可以實現(xiàn)4GB全范圍跳轉(zhuǎn)。 Q: LDR 不是可以全空間跳轉(zhuǎn)的嗎 arm微控制器基礎與實戰(zhàn)程序清單5.3. A: LDR偽指令通過設置指令緩沖池才能實現(xiàn)全范圍跳轉(zhuǎn),而LDR指令則只能實現(xiàn)4KB范圍跳轉(zhuǎn)。第12問: Q: ARM7TDMI-S和arm7TDMI有何區(qū)別 A: ARM7TDMI-S是ARM7TDMI的可綜合(synthesizable)版本(軟核)。 對應用工程師來說,除非芯片生產(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微控制器基礎與實戰(zhàn)2.3.2節(jié)。 第2章 編譯器與語言第14問: Q:00254: Unimplemented RDI message是什么錯誤提示 我的設置連接都正常,是不是芯片燒了 A:是JTAG的問題??梢韵仁褂肐SP操作試試就知道了,如果能ISP,說明LPC2104沒有損壞,還能正常運行程序。第15問: Q:請教:我在調(diào)試程序的時候在AXD中出現(xiàn)這樣的提示信息: RDI Warning 00159:could not open specified device port. 我是根據(jù)配套教程的步驟設置的。 A:請按照光盤easyarm_drivereadme.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設置窗口中的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)試外設。但是取消 PLL 鎖定檢測后,可以調(diào)試任務切換,最終到空閑任務上。開始移植時軟件仿真是最好的工具。第18問: Q:armulate軟件是干什么的 2104不是用EasyJTAG.dll來仿真嗎 A:軟件仿真只能仿真 arm 核。第19問: Q:有關LPC2106.INC的問題。我無法在project引用lpc2106.inc文件,只能引用lpc2106.h文件, 這是什么原因 且當我的主程序用匯編編寫時,不能引用lpc2106.h,用lpc2106.inc則無法加入project,請問匯編器應如何設置 A:不用加2106.inc只要該文件在你的工程文件夾中,就可以直接在匯編程序的開始處加 include 2106.inc. 注意:該文件是匯編文件定義的頭文件,定義內(nèi)部寄存器。第20問: Q:入口點是什么意思 我在使用LPC2106上移植UCOS-II,每次MAKE時總是提示我 Image does not have an entry point,可是我是把光盤的vetctors.s 復制過來的,而且仔細看了看,已經(jīng)聲明了ENTERY,這是怎么回事A:需要在ADS中設置入口。第21問: Q:請教:如何定義不被初始化變量 A:讓編譯器不知道有這個內(nèi)存地址即可。 A:如用分散加載文件分配RAM故意預留一部分RAM不分配,用它來存您不需要初始化的東西?;蛘卟徽{(diào)用編譯器提供的啟動代碼,不過這樣可能編程會麻煩一些。第22問: Q:我直接通過JTAG口下載EasyArm板帶的Ext1_test程序到arm中,出現(xiàn)中斷向量的告警: interrupt vector is not correct arm is not running freely. 果然復位后芯片不能運行。但是我用串口下載后芯片能正常工作,中斷也行的。 并且我用JTAG仿真的話,芯片能正常工作,中斷也行的,唯獨JTAG口下載不行。 不知道是什么原因 A:仿真器配置中要設置Erase Flash when need.也可以這樣試試: 1.可以先打開一個工程在RAM中調(diào)試運行; 2.stop程序; 3.使用File-Load Image重新加載Ext1_test生成的*.axf文件。 Q:仿真器配置中我是設置了Erase Flash when need,但照你說的話,那不是在RAM下調(diào)試嗎 在RAM下調(diào)試我是可以的,但是下載后出現(xiàn)interrupt vector data is not correct. 我又看了幾篇文章,是不是跟中斷向量表的累加和不為零有關系啊 A:是的,是向量表的累加和不為零。 因為如果用ISP下載能運行,說明向量表的累加和已為零,而用JTAG下載不能運行的情況可能是 沒有正常下載代碼。先在RAM中調(diào)試,目的是為了后面正確下載程序到FLASH.第23問: Q:用Scatter怎樣將某個函數(shù)或文件定位在Flash的某個位置 A:參考http: //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:都只是一個問題,內(nèi)存空間的使用,因為跑OS要比較大的內(nèi)存空間,所以要騰出點地方。第26問: Q:請問沒有MMU的arm芯片是否支持使用malloc()函數(shù)動態(tài)分配內(nèi)存 A:是否支持malloc()函數(shù)與芯片沒有多大關系,主要與編譯器有關。 Q:再問:如果沒有操作系統(tǒng)支持呢 A:也支持。第27問: Q:在I2C實驗程序中,我想查看數(shù)據(jù)緩沖區(qū)DataBuf的值,怎么查看 A:watch窗口或鼠標停留在要查看的變量名上。 Q:我查詢的是寫入DataBuf緩沖區(qū)的值,鼠標在上面根本就不會出現(xiàn)他的值,即使在watch中加入, 結果也是name not found. A:變量被優(yōu)化,調(diào)試時可以把該變量定義為全局變量查看。第28問: Q:仿真軟件和2104開發(fā)板連接不上 DBE Warning 00041: !An unspecified Debug Toolbox call failed 電源和開發(fā)板都連好,錯誤和沒接開發(fā)板一樣,驅(qū)動也安裝了,安裝時按確定鍵時,軟件很長時間才有如上反應,請幫忙 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 可讀/寫段,即數(shù)據(jù)變量空間; ZI 清零變量段,即需要清零初始化的數(shù)據(jù)變量空間。第32問: Q:如何在ADS里面看任務執(zhí)行的一些情況 比如堆棧。 A:多任務環(huán)境下的堆棧,內(nèi)存等信息需要調(diào)試軟件的支持才可以實現(xiàn)。 ucos下有一個統(tǒng)計功能的模塊可以間接實現(xiàn)部分功能。第33問: Q:請問向flash燒數(shù)據(jù)時出現(xiàn):exceeds flash limitation 請予賜教! A:要寫入的flash地址超過了范圍。如果不是代碼太大的問題,可以檢查scf文件是否正確。第34問: Q:在LPC2214之類的芯片中如何實現(xiàn)數(shù)組的絕對地址定位,比如51的_at_的用法。 A:*(char*)0x40000300)類似訪問 Q:謝謝,但這樣做就無須定義數(shù)組變量,訪問也不便,還有高招嗎 A:可以使用分散加載。第35問: Q:請問 ADS編譯錯誤L6221E:Execution region ER_RO overlays with Execution region ER_ZI 該如何解決 A:請用我們網(wǎng)站上的工程模板試一試,最大的可能是因為你的RELEASE或者DEBUG選項里面沒有正確設置,按照參考arm微控制器基礎與實戰(zhàn)上面的設置,是不會有這個問題的。第36問: Q:請教一下:將程序?qū)懭雈lash,再用從JTAG方式調(diào)試寫入之后再復位程序沒什么反映。 看了很多以前的帖子,說memmap寄存器要為1,我用的是一個很簡單的控制led的例子,改動了參數(shù)之后寫入flash的。在這個程序的vectors中找不到關于memmap寄存器操作的部分啊,這是怎么回事,該怎么辦呢 A:arm微控制器基礎與實戰(zhàn)上附錄有常見問題,列舉了幾點程序?qū)懙紽LASH不能運行的原因。 memmap操作可以在target.c中的TargetResetInit()函數(shù)內(nèi)添加。第37問: Q:HEX文件。EASY2100配套arm微控制器基礎與實戰(zhàn)上講:把項目編譯成HEX文件,我不會呀,咋辦 A:Target-target settings設置Post-linker并且設置Linker-fromELF. Q:再問:我用的是光盤里的例子,打開工程項目里是DebugInarm.DebugInFlash. RelInFlash.不是ARM微控制器基礎與實戰(zhàn)上的DebugRel呀,我都照arm微控制器基礎與實戰(zhàn)上設置的,可用ISP下載,提示無法找到HEX文件。 A:光盤上的例子是用專用工程模板建立,已經(jīng)設置好參數(shù),與默認模板不同。第38問: Q:Easyarm2100開發(fā)板如何通過JTAG接口下載到Flash 我在用Easyarm2100開發(fā)板時JTAG接口不能進行Fla
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湖北麻城思源學校英語七下期末統(tǒng)考模擬試題含答案
- 河南省三門峽市2025年八下英語期末學業(yè)質(zhì)量監(jiān)測試題含答案
- 數(shù)字化技術在圖書零售門店的電子書銷售分析報告
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的質(zhì)量控制與風險評估體系構建報告
- 2025年綠色供應鏈管理在飲料制造業(yè)的應用與推廣研究報告
- 原子彈相關話題課件
- 2025年數(shù)字孿生在城市公共安全規(guī)劃與建設中的應急通信保障報告
- 2025年儲能電池熱管理系統(tǒng)在智慧教育領域的應用前景報告
- 2025年綠色建筑材料市場推廣策略與政策支持下的市場競爭力研究報告
- 32025年醫(yī)療器械冷鏈物流行業(yè)區(qū)域發(fā)展不平衡問題分析及優(yōu)化策略報告
- 2025年山東省高考招生統(tǒng)一考試高考真題化學試卷(真題+答案)
- 事故隱患內(nèi)部報告獎勵制度
- 醫(yī)院培訓課件:《緊急情況下口頭醫(yī)囑制度與執(zhí)行流程》
- 2023年山東省夏季普通高中學業(yè)水平合格考試會考生物試題及參考答案
- 北京市東城區(qū)名校2024年八年級物理第二學期期末質(zhì)量檢測試題及答案解析
- MOOC 中國文化概論-華南師范大學 中國大學慕課答案
- 美的審廠資料清單
- 人教版八年級美術下冊紋樣與生活第二課時設計紋樣
- 東北大學學報(自然科學版)排版模板(共4頁)
- PEP六年級下冊英語總復習
- 西藥房工作管理制度
評論
0/150
提交評論