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