TI论坛
直播中

王英

7年用户 1348经验值
私信 关注
[问答]

pga900用GPIO输出测试,一打开中断程序就飞了,为什么?


  • IAR下,PGA900软件写好,REMAP定位后,用j_link下载程序到DEVRAM (0X21000000)正常,中断向量也正常。DEBUG调试主程序执行正常,可用GPIO输出测试证明。问题是一打开中断(现在也只允许PADC和TADC)程序就飞了,
    提示
        HardFault exception.
        Exception occured at PC = 0x0, LR = 0xfffffff9
    肯定是没有进入正常的中断服务程序,因为中断里设置断点根本没用,这是怎么回事呀?怎么解决这个问题?

                                                               

回帖(1)

杨万富

2024-12-11 17:50:05
从您提供的信息来看,问题可能出在中断处理程序的配置或实现上。以下是一些建议和可能的解决方案:

1. 检查中断优先级配置:确保您为PADC和TADC配置了正确的中断优先级。如果优先级设置不正确,可能会导致中断处理程序无法正确执行。

2. 检查中断服务程序(ISR):确保您的中断服务程序(ISR)正确实现了中断处理逻辑。检查是否有任何语法错误或逻辑错误,这可能导致程序崩溃。

3. 检查中断向量表:确保您的中断向量表正确配置,并且指向了正确的中断服务程序地址。如果中断向量表配置错误,程序可能会跳转到错误的地址,导致HardFault异常。

4. 检查堆栈溢出:HardFault异常可能是由于堆栈溢出引起的。检查您的程序是否有足够的堆栈空间,以及是否有任何可能导致堆栈溢出的代码。

5. 检查硬件连接:确保PGA900模块与微控制器之间的硬件连接正确。错误的硬件连接可能导致程序无法正常工作。

6. 调试中断服务程序:在您的中断服务程序中添加调试信息,例如打印日志,以帮助您确定程序崩溃的具体位置。

7. 检查IAR配置:确保您的IAR项目配置正确,包括内存布局、编译器选项等。错误的配置可能导致程序无法正常运行。

8. 更新软件和硬件:如果您使用的是较旧的软件或硬件版本,请尝试更新到最新版本,以解决可能的兼容性问题。

通过以上步骤,您应该能够找到导致程序崩溃的原因,并采取相应的解决措施。希望这些建议对您有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分