使用TC387芯片配置Autosar OS发现主核跑飞了,其他核正常运行OS任务切换,PC指针指向_IF_CONST区域,D[4]寄存器为1,D[15]寄存器为4,根据这两个寄存器用计算规则计算出的TCN和tiN好像有问题,在Trap中跑飞,请问一下,大家有什么思路推荐吗
共2条
1/1 1 跳转至页
2楼
1. 软件错误:检查程序代码中是否存在错误,比如访问无效的内存地址、未初始化的变量等。检查是否有其他任务或中断处理程序修改了主核的寄存器值,导致主核跑飞。
2. 中断嵌套问题:主核可能在处理中断的过程中发生了嵌套中断,导致任务切换出问题。可以检查中断服务程序的优先级设置是否正确,并确保中断服务程序不会嵌套调用自身。
3. 资源竞争问题:可能存在多个任务或中断对某个共享资源并发访问的情况,导致了资源竞争和不确定的行为。可以检查代码中是否存在共享资源的竞争,通过使用互斥锁或者其他同步机制来解决。
4. 硬件错误:检查硬件是否工作正常,比如检查电源供应稳定性、外设是否正确连接等。可以尝试重启芯片或以调试模式重新启动系统看是否问题得到解决。
5. Autosar OS配置问题:检查Autosar OS的配置是否正确,确保配置文件中的任务和中断设置与实际应用需求一致。检查堆栈和任务栈大小是否足够。
6. 调试和跟踪:使用调试工具来跟踪主核跑飞的原因。可以通过跟踪程序计数器(PC)的变化,查看程序执行路径,确定引起主核跑飞的具体位置。可以通过查看寄存器的值来进一步分析问题的原因。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
