crash s32k344

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

crash s32k344

157 Views
sing
Contributor I

将S32K344 C40擦写flash放在RAM中运行,偶现死机。死机打印0x0043c188 lib_a-impure.o

 

查看map文件,发现地址在 .text._kill.__stub 0x0043c180 0x38 linker stubs

 

请教大模型,回复如下:

在处理嵌入式系统(如使用S32K3微控制器的系统)时遇到死机问题,首先需要明确死机的原因可能涉及多个方面,包括软件错误、硬件故障、配置错误或外部干扰等。针对你提供的信息“text._kill.__stub 0x0043c180 0x38 linker stubs 0x0043c188 lib_a-impure.o S32K3死机”,我们可以从以下几个方面进行排查:

  1. 链接器错误或配置
    • 检查链接器脚本(如果有使用自定义的链接器脚本)和编译器的配置文件,确保所有必要的段(section)和符号都被正确处理。
    • 确认是否有未解决的外部符号(unresolved externals),这可能导致程序运行时访问非法内存。
  2. __stub  linker stubs
    • __stub 通常表示一个存根函数(stub function),这个函数在实际执行时会被替换或重定向到实际的函数实现。
    • 检查相关的库文件(如 lib_a-impure.o)是否正确链接,并且确保这些存根函数所指向的实际函数实现是有效的。
    • 如果使用了动态链接库或特定的库实现(如 C 标准库的不同版本),请确认它们与你的系统兼容。
  3. 内存访问问题
    • 死机可能由内存访问违规(如访问未分配的内存、堆栈溢出等)引起。
    • 使用调试工具(如 JTAG 调试器)检查程序运行时的内存访问情况,特别是关注 0x0043c180  0x0043c188 附近的内存访问。
  4. 硬件相关
    • 检查微控制器的硬件设置,如时钟配置、外设初始化等,确保它们正确无误。
    • 确认是否有外部硬件故障(如电源不稳定、外部干扰等)影响系统稳定性。
  5. 软件错误
    • 仔细审查代码,特别是与 __stub 相关的函数调用部分,确保没有逻辑错误。
    • 如果可能,尝试简化代码到一个最小可复现问题的版本,这有助于定位问题。
  6. 使用开发社区和文档
    • 查阅 S32K3 的官方文档和开发者社区,看看是否有其他开发者遇到并解决了类似的问题。
    • 考虑更新你的开发环境(包括编译器、链接器、库文件等)到最新版本,有时软件更新可以解决已知的bug。

总之,解决死机问题需要综合考虑硬件、软件、配置和外部环境等多个方面。希望这些建议能帮助你找到问题的根源并解决它

Tags (1)
0 Kudos
Reply
2 Replies

74 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @sing 

It sounds like read-while-write issue.

In short, it is not possible to access a flash block which is being erased or programmed:

lukaszadrapa_0-1728022599995.png

 lukaszadrapa_1-1728022607895.png

If you are getting fault from 0x43_C188, it means that block 0 is being erased but there was some access during the erase operation. Most likely, this is caused by interrupts. So, I recommend to disable interrupts before running these flash operations. Or it would be necessary to move all the interrupts handlers and vector table to RAM or to another flash block.

Regards,

Lukas

 

0 Kudos
Reply

154 Views
sing
Contributor I

have anyone encounter this problem?how resolve?

0 Kudos
Reply