您好,我想请教利用28335的API函数实现串口在线程序升级功能,在升级过程中,有时会报12错误,大部分升级时不报,是什么不稳定因素导致地址错误,谢谢
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.
您好,我想请教利用28335的API函数实现串口在线程序升级功能,在升级过程中,有时会报12错误,大部分升级时不报,是什么不稳定因素导致地址错误,谢谢
使用的是28335芯片,先往DSP烧程序,有时程序需要根据需要进行升级,所以采用API库函数实现在线升级功能,使用的API库是Flash28335_API_V210.lib,利用其库中Flash_APIVersion、Flash_APIVersionHex、Flash_Erase及下面函数
Status = Flash_Program(Flash_ptr,(databuf+data_temp+3),Length,&FlashStatus);
Status = Flash_Verify(Flash_ptr,(databuf+data_temp+3),Length,&FlashStatus);实现程序升级功能,我是利用hex2000把.out文件生成.hex文件,利用串口把hex文件中数据下载到28335系统外扩的RAM中,在线升级程序也引导到28335内部自带RAM中运行,在程序升级过程中写到hex文件中地址为0x33fff6时会出现Flash_Program或者Flash_Verify函数返回给Status 12的错误代码,但并不是每次程序升级都会出现这个现象,只是偶尔出现,有时开机上电后第一在线升级程序也会出现,一旦出现,里面原来设计的系统程序已删除,需要利用JTAG口烧写程序