加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

LDR ,R0 =PINSEL0 LDR指令 B指令

发布时间:2020-12-15 06:55:56 所属栏目:百科 来源:网络整理
导读:65. ? 问:软件中断是不是必须由SWI指令触发? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?答:可以直接用你定义成软中断的函数名
65. ? 问:软件中断是不是必须由SWI指令触发? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?? ?答:可以直接用你定义成软中断的函数名啊。比如: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?? ?__SWI(0x12) void myswi(void); // ?声明函数?

?? ?__asm // 调用方式1?


?? ?{?


?? ? swi 0x12?


?? ?}?


?? ?myswi(); // 调用方式2?

?? ? ? ? ? ? ? ??
66. ? 问:"LDR?,R0 ?=PINSEL0"中"="是什么意思?这语句是取地址还是取地址中的内容呢? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ?答:这是?LDR?伪指令,可用来加载32位立即数或地址,?LDR?,?R0=PINSEL0?是将PINSEL0的地址???加载到R0中。?


67. ? 问:"SWI ? 0"和"SWI ? 0X123456"这两条指令中的0和0X123456 中有何用。有没有应用SWI 的具体??? ?例子让我看看?//SWI Software Interupt ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?? ?答:那是特定的中断入口地址,见ADS_DeveloperGuide_D.pdf 下的swi。?

?? ? ? ? ? ? ? ??

71. ? 问: ??ADS?里没有??CODE?关键词,怎样使定义的字符串数组不占用RAM?空间? ? ? ? ? ? ? ? ? ?
?? ? ??答: ?const unsigned char string?[]。?

?? ? ? ? ??
72. ? 问:?*(volatile unsigned int *?)是什么意思?例如?*(volatile unsigned int *)addr?具体是什么意思? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ?答:分开来看,(?volatile unsigned int *)就是定义一个可变的无符号整形指针,前面的那个?*???就是取?A其内容。?

73. ? 问:在异常处理向量表的设置中,为什么不直接将异常向量的入口地址写入PC中呢,为什么非要?用什么DCD这些伪指令,到底有什么用啊? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ?答:为了保证任何时候其累加和为零,不然改一次程序就要计算一次。?


75. ? 问:我在用ARM 的IAP功能,要把已经烧到Flash中的数据写到RAM中,我是这么写的: ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ? ? ??
?? ?uint32 *q,?data;?


?? ?q = 0x00006000;?


?? ?data = *q; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


?? ?这是要读的Flash的起始地址,但是第二句编译出错,我想应该是C编译器不许给指针直接赋值,?


?? ?我用汇编解决了这个简单的问题,但是怎么用C来解决呢? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


?? ? ?答:?q = (uint32 *)0x00006000??。?


?85. ?问:存储异常向量表中程序跳转使用LDR指令,而不使用B指令的原因是什么? ??答:LDR指令可以全地址范围跳转,而B指令只能在前后32MB范围内跳转;芯片具有Remap功能时,当向量表位于内部RAM或外部存储器中,用B指令不能跳转到正确的位置。?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读