娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月22日(星期日)

2021年06月22日 | ARM嵌入式學習經典問題及解答

發布者:PeacefulOasis 來源: eefocus關鍵字:ARM  CPU  堆棧 手機看文章 掃描二維碼
隨時隨地手機看文章

簡介:在嵌入式學習過程中,基于ARM核的嵌入式芯片必不可少。那么,在學習ARM嵌入式知識或開發中,嵌入式工程師會遇到哪些不可預知的問題?哪些問題會在嵌入式的學習中成為您的攔路虎?本文系統總結整理了ARM嵌入式學習的經典40問。


第1問:


Q:請問在初始化CPU堆棧的時候一開始在執行mov r0, LR這句指令時處理器是什么模式


A:復位后的模式,即管理模式。


第2問:


Q:請教:MOV中的8位圖立即數,是怎么一回事 0xF0000001是怎么來的


A:是循環右移,就是一個0—255 之間的數左移或右移偶數位的來的,也就是這個數除以4一直除, 直到在0-255的范圍內它是整數就說明是可以的!


A:8位數(0-255)循環左移或循環右移偶數位得到的,F0000001既是0x1F循環右移4位,符合規范,所以是正確的。這樣做是因為指令長度的限制,不可能把32位立即數放在32位的指令中。移位偶數也是這個原因??梢钥匆豢碼rm體系結構(ADS自帶的英文文檔)的相關部分。


第3問:


Q:請教:《arm微控制器基礎與實戰》2.2.1節關于第2個操作數的描述中有這么一段:#inmed_8r常數表達式。該常數必須對應8位位圖,即常熟是由一個8位的常數循環移位偶數位得到。


合法常量:0x3FC,0,0xF0000000,200,0xF0000001.


非法常量:0x1FE,511,0xFFFF,0x1010,0xF0000010.


常數表達式應用舉例:




LDR R0,[R1],#-4 ;讀取 R1 地址上的存儲器單元內容,且 R1 = R1-4


針對這一段,我的疑問:


1. 即常數是由一個8位的常數循環移位偶數位得到,這句話如何理解


2. 該常數必須對應8位位圖,既然是8位位圖,那么取值為0-255,怎么0x3FC這種超出255的數是合法常量呢


3. 所舉例子中,合法常量和非法常量是怎么區分的 如0x3FC合法,而0x1FE卻非法0xF0000000,0xF0000001都合法,而0xF0000010又變成了非法


4. 對于匯編語句 LDR R0,[R1],#-4,是先將R1的值減4結果存入R1,然后讀取R1所指單元的 值到R0,還是先讀取R1到R0,然后再將R1減4結果存入R1


A:提示,任何常數都可用底數*2的n次冪 來表示。


1. arm結構中,只有8bits用來表示底數,因此底數必須是8位位圖。


2. 8位位圖循環之后得到常數,并非只能是8位。


3. 0xF0000010底數是9位,不能表示。


4. LDR R0, [R1], #-4 是后索引,即先讀,再減。


可以看一看arm體系結構對相關尋址方式的說明。


第4問:


Q:在程序移植的過程中,什么代碼段處于什么樣的模式,這可真是一個困擾人的大難題,有沒有一種標志或辦法能夠識別“代碼段處于什么樣的模式”


A:讀取 CPSR ,任何時候都是可以讀。


第5問:


Q:為什么保護現場時,總是保護 R0-R3,R12,為什么不保護R4-R11


A:請看一看“arm-thumb過程調用標準”這個文檔。


第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的操作數為8位位圖數。


第7問:


Q:“在arm7TDMI(-S)處理器內部有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:可以理解為常量數組,文字池中保存的是常量,這些常量可以是正常的常量,也可以是地址。


第11問:


Q:為什么在中斷向量表中不直接LDR PC,“異常地址”。而是使用一個標號,然有再在后面使用DCD定義這個標號


A:因為LDR指令只能跳到當前PC 4kB范圍內,而B指令能跳轉到32MB范圍,而現在這樣在LDR PC, “xxxx”這條指令不遠處用“xxxx”DCD定義一個字,而這個字里面存放最終異常服務程序的地址,這樣可以實現4GB全范圍跳轉。


Q: LDR 不是可以全空間跳轉的嗎 《arm微控制器基礎與實戰》程序清單5.3.


A: LDR偽指令通過設置指令緩沖池才能實現全范圍跳轉,而LDR指令則只能實現4KB范圍跳轉。


第12問:


Q: ARM7TDMI-S和arm7TDMI有何區別


A: ARM7TDMI-S是ARM7TDMI的可綜合(synthesizable)版本(軟核)。 對應用工程師來說,除非芯片生產廠商對ARM7TDMI-S進行了裁減,否則ARM7TDMI-S與ARM7TDMI沒有太大的區別,其編程模型與 arm7TDMI一致。


第13問:


Q: DCD偽指令的疑惑。


“StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH - 1) * 4”


這句話是什么意思 DCD后面的程序標號或數字表達式是何意


A:它的內容是初始化遞減堆棧的最高地址,看《arm微控制器基礎與實戰》2.3.2節。


第2章 編譯器與語言


第14問:


Q:00254: Unimplemented RDI message是什么錯誤提示 我的設置連接都正常,是不是芯片燒了


A:是JTAG的問題??梢韵仁褂肐SP操作試試就知道了,如果能ISP,說明LPC2104沒有損壞,還能正常運行程序。


第15問:


Q:請教:我在調試程序的時候在AXD中出現這樣的提示信息:


RDI Warning 00159:could not open specified device port.


我是根據配套教程的步驟設置的。


A:請按照光盤easyarm_drivereadme.txt安裝驅動程序。


第16問:


Q:我用實驗程序運行經常出現下列信息! 程序不能下載到目標板。


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調試一個程序(運行),然后STOP,再使用File-》Load Image…加載要下載到FLASH的調試文件。


第17問:


Q:在ADS中是否可以進行軟件調試基于UCOS-II的程序


A:ADS軟件調試只能調試arm的內核,不能調試外設。但是取消 PLL 鎖定檢測后,可以調試任務切換,最終到空閑任務上。開始移植時軟件仿真是最好的工具。


第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”。


注意:該文件是匯編文件定義的頭文件,定義內部寄存器。

關鍵字:ARM  CPU  堆棧 引用地址:ARM嵌入式學習經典問題及解答

上一篇:一種基于ARM的圖像采集與藍牙傳輸系統設計
下一篇:ARM-Linux嵌入式系統的BootLoader分析與設計

推薦閱讀

愛立信 Ericsson發布一項最新報告《人工智能將如何影響未來的勞動力市場》(How artificial intelligence will impact the future labor market),報告內容是基于對學術界和行業領導人就2017年進行的技術與創新主題進行19次深入訪談所獲得的深入見解。大部分訪談均在美國加利福尼亞州灣區進行。但是,瑞典和印度的行業領導人也進行了一些訪談。...
速度 獲新突破 最近,配天機器人在算法規劃上又有了新進展,“O型速度規劃(Opzed VelocityPlanning)”的開發讓配天機器人的速度又見大提升。 O型速度規劃:根據機器人軸空間的運動學、動力學約束以及笛卡爾空間運動學約束,計算出主導軸速度,加速度,加加速度上限,保證運動平穩(加速度連續)的前提下,發揮出機器人的最大性能。 加強與集成商...
OPEN MIND Technologies AG 發布最新版 hyperMILL? CAD/CAM 套件 2020.2,推動了自動化和增材制造的集成。OPEN MIND 的開發人員還增添了大量功能以進一步簡化每天的加工任務。hyperMILL? 2020.2 亮點包括用于切削刃加工的新策略、用于銑車復合的升級、hyperCAD?-S 中的參數設計以及“hyperMILL? AUTOMATION Center Advanced”。 在 3...
      據媒體報道稱,為了讓員工可以保持更好的心情工作,佳能中國子公司在公司辦公室外安裝了AI相機?! ≡撓鄼C可智能對員工的臉部進行微笑識別,只有在識別到員工面帶微笑時才可以進入辦公室或者對應辦公區域進行工作,反之則不會。       佳能表示,安裝AI相機的目的在于讓員工辦公時時刻都擁有好心情,擁有一個輕松的工作氛圍。

史海拾趣

問答坊 | AI 解惑

PN結測溫控溫圖紙

利用PN結測溫控溫實在新穎…

查看全部問答∨

醫療電子設備維修體會之姊妹篇:維修的幾點心理準備

下面說說維修前的心理準備工作,雖是務虛,卻也必要。我想要想做好維修工作,除了相應的知識準備以外,要有“三心”――信心、細心、決心。 1. 信心 無論多么復雜的設備,只要是人造的,就一定能修。很多剛剛進入此行當的工程師信心很差,總覺得 ...…

查看全部問答∨

電路基礎知識

電流 電荷的定向移動叫做電流。電路中,電流常用I表示。電流分直流和交流兩種。電流的大小和方向不隨時間變化的叫做直流。電流的大小和方向隨時間變化的叫做交流。電流的單位是安(A),也常用毫安(mA)或者微安(uA)做單位。1A=1000mA,1mA=1000uA ...…

查看全部問答∨

請大蝦分析下面程序問題

1.truncation  舉例輸入一11bit信號,輸出要分作4bit MSB與7bit LSB信號 我的想法如下,殊不知出了什麼紕漏否? library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ENT ...…

查看全部問答∨

《智能家居系統》參與游戲規則?。?!

       最近發現有大量網友支持做《智能家居系統》,為了保證這個項目能夠完成而不會中途夭折,下面特規定參與的游戲規則,如果不滿意游戲規則的請不要參與。   開發步驟:   1.討論方案,并確定方案 ...…

查看全部問答∨

AUDIO音頻驅動問題 mixer

小弟最近在弄AUDIO 里面的mixer。。我的音頻驅動模型是wavedev2.但是我把mixerdrv整到里面去了什么都沒有發生。。。8K采樣的文件透傳到底下也沒有變成44.1K.就是什么反應都沒有。。。 我試著去做一些打印。。我在wav_IO_control IOCTL_mixer_mess ...…

查看全部問答∨

請教有實際經驗的高手們

以前上課的時候只學過簡單的51單片機的知識,具體操作也只是用過Keil寫簡單的程序,用Keil的調試仿真來看結果,完全沒有接觸過真實的東西 想問一下,到底是通過什么方法把程序寫到芯片里去的呢,老師用的是一個演示用的板子,那個用起來很方便,不過好像 ...…

查看全部問答∨

設置環境變量WINCECOD后不能生成.cod文件?

我在BAT配置文件中,設置了環境變量: set WINCEMAP=1 set WINCECOD=1 編譯后應該生成對用的.map,.cod 文件。結果.map文件能生成,.cod文件卻不能生成, 請問這個是什么原因?…

查看全部問答∨

關于W78E516單片機的ISP在線下載功能,急

我最近在用W78LE516做一個case,想請教閣下關于如何使用W78E516的ISP功能。我現在只知道要先通過串口將一段ISP控制程序寫到W78E516的4K的LDROM中,可不太清楚怎樣將這個控制程序燒寫進去,謝謝!    在線等…

查看全部問答∨

pcb

pcb的相關工作怎樣,就業前景和薪水待遇如何,求指教…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 吕梁市| 化德县| 峨眉山市| 鄂温| 怀柔区| 东莞市| 剑川县| 历史| 夏邑县| 讷河市| 阿荣旗| 卢湾区| 紫金县| 施甸县| 布尔津县| 黎川县| 章丘市| 岑溪市| 石阡县| 贡觉县| 仁怀市| 德保县| 黑水县| 瓮安县| 临桂县| 丹江口市| 乐至县| 高台县| 个旧市| 隆尧县| 侯马市| 湾仔区| 和硕县| 伊吾县| 错那县| 章丘市| 昌江| 昌宁县| 五寨县| 铜梁县| 伊宁市|