共2条
1/1 1 跳转至页
AXD AXD中如何跟踪中断函数??

问
我用AT91SAM7S64-Interrupt的例程载入到AXD中调试,发现程序可以运行,但是我无法跟踪到中断函数的执行过程,请问有什么方法呢?而且我在main()入口处加了断点,然后全速执行,程序并没有跑到断点处,可是当我暂停执行时,却发现程序停到了在一个只可能在main()中调用的函数里,请问这是什么原因?
答 1:
能否将问题说的详细点?你是载入到SRAM里?中断向量表是从0开始
答 2:
我们的例程和教程可以解决问题现在购买我公司USB2.0仿真器,赠送sam7s64开发板和教程,880元,人人用得起,详情清浏览www.fftchina.com
答 3:
请告知你的邮箱,我可以发相关资料给你
答 4:
全部资料比较大
答 5:
re:阿南大侠对,我是将程序下到了SRAM中执行的,而且调用了AT91F_AIC_ConfigureIt()函数。
请问此函数的最后一个参数是否就应该是中断服务函数的地址?是不是要用此函数的话还要先进行重映射??可是我的程序在ADS中设置的RO地址是0x200000,RW地址为空,应该不用进行重映射了吧?望大侠们赐教! 答 6: to sh_fft你们的USB2.0仿真器(880元)是骗人的,其功能还不如一个EASY_JATE.其里面的就一个带USB的51芯片和一个244.(1)传输速度极快:100KB以上是吹的.(2)完全支持各类片内FLASH的烧写功能!超速烧写!只能烧AT91SAM7而且极不稳定.(3)全面支持硬件断点(2个)和软件断点(不限制);更本不支持2个硬件断点,而且单步调试是不响应中断的.
用起来极不稳定用用就说USB2.0通讯错误. 答 7: to sh_fft我的邮箱地址:tyrael.cui@gmail.com,thx! 答 8: re:tyrael如果你在ADS中设置的RO地址是0x200000,则你的所有代码就都定位在0x200000开始处,包括你程序中的中断向量表,但实践的中断入口都是固定在0x0开始的,所以你还必须将0x200000开始的代码重映射到0x0开始处。 答 9: to:阿南你的意思是说如果我在调试的时候,必须将代码重映射到0x0处才能进入到中断函数中去?如果不进行重映射的话,那影响中断函数的执行吗?在我用到的例程中启用了定时器中断,它没有进行重映射,可是它的中断一样响应的了(它在中断中反复点亮一个LED),只是我跟不到它的中断函数里去(我在函数处设了断点),请问这是什么原因呢?还有,串口中断在调试的时候会不会暂停响应呢? 答 10: re:tyrael"在我用到的例程中启用了定时器中断,它没有进行重映射,可是它的中断一样响应"
答:这是因为在目标芯片0x0处已经有中断向量表,你可以试一下将目标芯片的程序擦除,在试一下能否进入中断。
串口中断在调试的时候会不会暂停响应呢?
答:不会的
还有,如果想看是否产生中断,可以在中断入口设置断点,如0x18处
答 11: 我看的头都大了 答 12: to:阿南问题西里糊度的解决了@_@
我直接把程序烧到了FLASH中,中断函数就得到响应了!
还是阿南大侠说得有道理,这个问题肯定和重映射以及AXD的调试有关。调试时必须要将RAM地址映射到0x0处中断才可以得到响应,有关这一点,由于在下学艺未精,所以还没有亲手验证,待日后略有小成时,在做一结论。
不过有一点让我有些郁闷:难道以后的中断调试都要进行重映射的工作才能进行调试?这可有些麻烦呀:P
不知道诸位有什么好的方法?还有,俺现在用得是最土得简易JTAG仿真器,他对调试有多大影响呢?
在此万分感谢阿南大侠的赐教以及诸位的关注。
请问此函数的最后一个参数是否就应该是中断服务函数的地址?是不是要用此函数的话还要先进行重映射??可是我的程序在ADS中设置的RO地址是0x200000,RW地址为空,应该不用进行重映射了吧?望大侠们赐教! 答 6: to sh_fft你们的USB2.0仿真器(880元)是骗人的,其功能还不如一个EASY_JATE.其里面的就一个带USB的51芯片和一个244.(1)传输速度极快:100KB以上是吹的.(2)完全支持各类片内FLASH的烧写功能!超速烧写!只能烧AT91SAM7而且极不稳定.(3)全面支持硬件断点(2个)和软件断点(不限制);更本不支持2个硬件断点,而且单步调试是不响应中断的.
用起来极不稳定用用就说USB2.0通讯错误. 答 7: to sh_fft我的邮箱地址:tyrael.cui@gmail.com,thx! 答 8: re:tyrael如果你在ADS中设置的RO地址是0x200000,则你的所有代码就都定位在0x200000开始处,包括你程序中的中断向量表,但实践的中断入口都是固定在0x0开始的,所以你还必须将0x200000开始的代码重映射到0x0开始处。 答 9: to:阿南你的意思是说如果我在调试的时候,必须将代码重映射到0x0处才能进入到中断函数中去?如果不进行重映射的话,那影响中断函数的执行吗?在我用到的例程中启用了定时器中断,它没有进行重映射,可是它的中断一样响应的了(它在中断中反复点亮一个LED),只是我跟不到它的中断函数里去(我在函数处设了断点),请问这是什么原因呢?还有,串口中断在调试的时候会不会暂停响应呢? 答 10: re:tyrael"在我用到的例程中启用了定时器中断,它没有进行重映射,可是它的中断一样响应"
答:这是因为在目标芯片0x0处已经有中断向量表,你可以试一下将目标芯片的程序擦除,在试一下能否进入中断。
串口中断在调试的时候会不会暂停响应呢?
答:不会的
还有,如果想看是否产生中断,可以在中断入口设置断点,如0x18处
答 11: 我看的头都大了 答 12: to:阿南问题西里糊度的解决了@_@
我直接把程序烧到了FLASH中,中断函数就得到响应了!
还是阿南大侠说得有道理,这个问题肯定和重映射以及AXD的调试有关。调试时必须要将RAM地址映射到0x0处中断才可以得到响应,有关这一点,由于在下学艺未精,所以还没有亲手验证,待日后略有小成时,在做一结论。
不过有一点让我有些郁闷:难道以后的中断调试都要进行重映射的工作才能进行调试?这可有些麻烦呀:P
不知道诸位有什么好的方法?还有,俺现在用得是最土得简易JTAG仿真器,他对调试有多大影响呢?
在此万分感谢阿南大侠的赐教以及诸位的关注。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |