【发布时间】:2010-02-26 14:21:19
【问题描述】:
s3c44b0x不支持flash断点(不像lpc1758等其他处理器有片上flash),那么当bootloader还在flash中运行时如何调试呢?
【问题讨论】:
标签: arm bootloader
s3c44b0x不支持flash断点(不像lpc1758等其他处理器有片上flash),那么当bootloader还在flash中运行时如何调试呢?
【问题讨论】:
标签: arm bootloader
逻辑分析仪、printf、ICE 和 EPROM/闪存仿真器将是老式的方法。
Samsung S3C44b0x (ARM7TDMI) 声称具有片上 ICE 断路器调试支持,因此您可能想要获得一个在线仿真器。
添加:
如果您有足够的 RAM,则在从 Flash 启动期间,您可以将日志消息打印到 RAM 中的内存缓冲区,然后在 UART 初始化后使用 printf 将这个缓冲区输出到串行。
第二次添加:
要隔离引导过程的哪个部分,您可以用空存根替换模块或步骤,其唯一目的是隔离崩溃。方法是缩小失败的可能性。制作仅初始化第一个基本步骤的固件映像,例如系统内存,如果可行,添加您的任务或进程管家模块/步骤,稍后包括初始化 UART 等。
如果您有输出引脚,请添加一些 LED 以对二进制部分进行计数,以便您查看当前正在运行的代码部分。
查看本书Debugging Rules 并打印您自己的免费Rules of Debugging 海报副本。这是一本简短的书,虽然没有什么革命性的东西,但它巩固了调试过程,并帮助大多数人在调试过程中更有条理和更有条理。
参考资料:
【讨论】: