S3C2440A Keil MDK380a中JLink调试NORFLASH启动问题与解决

需积分: 26 25 下载量 94 浏览量 更新于2024-07-20 收藏 357KB DOC 举报
本文档分享了作者使用Jlink在Keil MDK380a环境下对三星S3C2440A处理器进行调试的心得体会。在开始之前,需要注意的是S3C2440A的官方提供的Startup代码存在一些问题,因此建议在创建工程时不要自动选择启动代码。 在使用Jlink调试时,首先需要明确的是,NORFLASH通常被选作S3C2440A的启动方式。在Keil集成开发环境中,当创建项目时,如果遇到是否启用启动代码的提示,应选择“否”,因为系统自带的Startup代码可能不适用于当前项目或存在兼容性问题。作者提到的标准定义的Startup Code(复位后执行的代码)通常包括设置寄存器、初始化硬件、配置中断系统等内容,但这里没有提供具体代码内容,可能是出于版权原因或为了避免直接复制粘贴。 正确使用Jlink进行调试,一般步骤如下: 1. **连接硬件**:确保Jlink调试器已经正确连接到S3C2440A芯片,并通过Keil的调试工具设置合适的设备和接口配置。 2. **工程设置**:在Keil MDK中,进入项目设置,配置调试器选项,指定Jlink作为调试设备,设置合适的调试速度和内存映射。 3. **断点设置**:根据程序逻辑,在关键函数和变量处设置断点,便于观察程序执行过程。 4. **启动调试**:运行调试器,执行调试启动命令,程序将从用户代码开始执行,或者可以从上一次停止的位置继续执行。 5. **单步调试**:使用调试工具提供的单步执行、步进、查看寄存器值、内存读写等功能,逐步跟踪代码执行流程。 6. **查看调试信息**:观察调试窗口中的堆栈信息、CPU状态、内存变量值等,以便理解和定位问题。 7. **处理异常**:如果遇到程序崩溃或异常,可以使用调试工具的断点单步回溯功能,找出问题发生的具体位置。 8. **代码修改与测试**:在找到问题根源后,对源代码进行修复,然后重新编译和调试,直到问题得到解决。 总结来说,这篇文章强调了在使用Jlink与Keil一起开发S3C2440A项目时,如何避免默认Startup代码带来的问题,以及如何通过有效的调试策略来确保代码质量和性能优化。这是一份实践性的指南,对于正在或打算使用此类硬件和IDE进行嵌入式开发的工程师具有参考价值。