This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
问题:我自己写的串口烧写程序,通过CCS加载串口烧写,通过secureCRT发送led_flash程序(led_flash程序是使用hex2000.exe工具将coff文件转换为.hex文件,代码中有对hex文件进行解析),将应用程序对应段拷贝到flash中(使用Fapi),拷贝结束后,pc直接跳转0x80000,led_flash程序正常运行。掉电拨码至get mode模式,上电发现led_flash没有运行,连接CCS(没有gel文件)发现跑飞了,此时手动跳转pc指针到0x80000,单步运行,发现在boot28.asm里面跑着跑着就跑飞了,此外有些测试程序时在.c处设置PLL卡死,使用memory browser看下flash里面的数据出来对比挺正常的。请问有什么调试思路吗?
关键:串口烧写程序是在flash中运行的,与测试固化程序所处没有冲突,此外,串口烧写关键代码已拷贝至ram运行。以上都是基于c2000ware开发的。如果串口整体运行在ram中,拷贝结束直接跳转至0x80000,led_flash也不能正常运行,会停在非法中断里。
你好,抱歉有些操作没看懂
你写的是二次bootloader的程序吗?即工程分为bootloader部分和app部分?Minister 说:我自己写的串口烧写程序
是指将bootloader程序用CCS下载到芯片,再由bootloader程序下载led_flash程序?Minister 说:通过CCS加载串口烧写,通过secureCRT发送led_flash程序
感觉你描述的情况跟一般的二次引导或者串口烧写都不一样。