共2条
1/1 1 跳转至页
0x00000018 请教:0x00000018处的语句的问题
问
IRQ中断实验中:
0x00000018处 LDR PC,[PC,#-0xff0]
1.向flash中下载调试,在此地址设置一断点,如设想的一样,在首次IRQ中断
时程序停止在此处
然而之后单步运行的时候,PC指向0x00000000处,程序从头开始执行,并且出现没有外部中断触发的情况下程序自动停止在0x018处
请问这如何解释,难道是不能在此设置断点?
2.另外之所以单步运行,是想观察VICVectAddr的内容,以理解具体VIC是如何响应中断的
但是通过MEMORY窗口观察,不论是0xFFFFF030还是0xFFFFF028处都一直为0(在中断处理程序前设有断点)
这又是为什么呢?按书上解释的VICVectAddr不是应该提供给PC中断服务程序的地址的么?
谢谢前辈的指点,万分感谢
答 1: 也许是调试器的问题?建议用软件仿真调试,就可以看到了。 答 2: 弱问:软仿真的问题请问如果用ARMUL软仿真,是不是需要用SWI软中断
因为这个时候板子上的硬件触发中断就没有作用了,对吧
谢谢指教 答 3: 弱答:软仿真和软中断无关 答 4: 不好意思,再弱问:我是想:
按computer00指点的,如果用软仿真来做中断实验的时候,这个时候板子上的硬件应该没有触发中断的作用了吧,如果想做中断,是否只能用软中断了呢?
谢谢各位前辈,谢谢 答 5: 不好意思,再弱答:只有VICSoftInt可以模拟激活硬件中断SWI和DOS时代的INT 21差不多~~~ 答 6: 硬中断当然也可以,例如定时器,串口,外部中断等。别忘了,可以可以直接仿真IO口。
好好看看里面可以仿真哪些东东吧,ADC,DAC,串口 等都可以仿真的。 答 7: 哈哈~~~我指的是SWI不行~~~倒塌了00:我昨天学了个新词---倒塌
不知何意??? 答 8: 似乎还没传播到我这里,还没学会…………我倒塌…… 答 9: 谢谢前辈们的指点我好像是把 软中断指令SWI 和 VIC软件中断寄存器VICSoftInt 弄混淆了
但是我有个疑问:
在ARMUL软件仿真,测试中断实验时,如果想触发中断,是只能用VICSoftInt来
模拟硬件中断呢;还是一些硬件出发的中断,比如板子上按下一个按键,仍
然是有效的呢?
我觉得后者应该是不对的吧,ARMUL仿真时, 板子可以不上电甚至不用连接的啊
麻烦前辈再指点一二,谢谢 谢谢 答 10: UL仿真是指Ulink吗?如果用Ulink,那必须得接上板,这样按下板上的开关,可以触发中断(如果设置对的话)。
如果不用Ulink,而全软仿真的话,可以用keil提供的IO口,来模拟键盘按下。
如下图: 答 11: ARMUL是在AXD Debugger里选择的我用的是ADS中AXD Debugger,在配置仿真方式时Configure Target…里选择ARMUL软件仿真
在此仿真环境下,测试中断实验,是否板子上的按下按键之类的硬件触发就没有效果了,只能由VICSoftInt来模拟硬件中断了呢
手边刚好没有板子了,所以不能上机实验一下,感谢前辈指点
0x00000018处 LDR PC,[PC,#-0xff0]
1.向flash中下载调试,在此地址设置一断点,如设想的一样,在首次IRQ中断
时程序停止在此处
然而之后单步运行的时候,PC指向0x00000000处,程序从头开始执行,并且出现没有外部中断触发的情况下程序自动停止在0x018处
请问这如何解释,难道是不能在此设置断点?
2.另外之所以单步运行,是想观察VICVectAddr的内容,以理解具体VIC是如何响应中断的
但是通过MEMORY窗口观察,不论是0xFFFFF030还是0xFFFFF028处都一直为0(在中断处理程序前设有断点)
这又是为什么呢?按书上解释的VICVectAddr不是应该提供给PC中断服务程序的地址的么?
谢谢前辈的指点,万分感谢
答 1: 也许是调试器的问题?建议用软件仿真调试,就可以看到了。 答 2: 弱问:软仿真的问题请问如果用ARMUL软仿真,是不是需要用SWI软中断
因为这个时候板子上的硬件触发中断就没有作用了,对吧
谢谢指教 答 3: 弱答:软仿真和软中断无关 答 4: 不好意思,再弱问:我是想:
按computer00指点的,如果用软仿真来做中断实验的时候,这个时候板子上的硬件应该没有触发中断的作用了吧,如果想做中断,是否只能用软中断了呢?
谢谢各位前辈,谢谢 答 5: 不好意思,再弱答:只有VICSoftInt可以模拟激活硬件中断SWI和DOS时代的INT 21差不多~~~ 答 6: 硬中断当然也可以,例如定时器,串口,外部中断等。别忘了,可以可以直接仿真IO口。
好好看看里面可以仿真哪些东东吧,ADC,DAC,串口 等都可以仿真的。 答 7: 哈哈~~~我指的是SWI不行~~~倒塌了00:我昨天学了个新词---倒塌
不知何意??? 答 8: 似乎还没传播到我这里,还没学会…………我倒塌…… 答 9: 谢谢前辈们的指点我好像是把 软中断指令SWI 和 VIC软件中断寄存器VICSoftInt 弄混淆了
但是我有个疑问:
在ARMUL软件仿真,测试中断实验时,如果想触发中断,是只能用VICSoftInt来
模拟硬件中断呢;还是一些硬件出发的中断,比如板子上按下一个按键,仍
然是有效的呢?
我觉得后者应该是不对的吧,ARMUL仿真时, 板子可以不上电甚至不用连接的啊
麻烦前辈再指点一二,谢谢 谢谢 答 10: UL仿真是指Ulink吗?如果用Ulink,那必须得接上板,这样按下板上的开关,可以触发中断(如果设置对的话)。
如果不用Ulink,而全软仿真的话,可以用keil提供的IO口,来模拟键盘按下。
如下图: 答 11: ARMUL是在AXD Debugger里选择的我用的是ADS中AXD Debugger,在配置仿真方式时Configure Target…里选择ARMUL软件仿真
在此仿真环境下,测试中断实验,是否板子上的按下按键之类的硬件触发就没有效果了,只能由VICSoftInt来模拟硬件中断了呢
手边刚好没有板子了,所以不能上机实验一下,感谢前辈指点
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |