"主题"中讨论的其他器件:UNIFLASH、 TMS570LC4357
工具与软件:
您好 Jagadish、
我有一个项目、根据一个外部存储器中的标志:
- 通过 SPI 将二进制文件上传到闪存、然后清除标志并复位
- 让跳转到应用程序
uint32_t transferAddress; // Address that is being written to.
void main(void){
uint16_t flashFlag;
sciInit();
spiInit();
sciSend(scilinREG, 34, "********************************\n\r");
sciSend(scilinREG, 34, "* OBC BootLoader program *\n\r");
sciSend(scilinREG, 34, "********************************\n\r");
uExtMem(FRAM1);
flashFlag = rExtMem(FLASH_FLAG_B, FRAM1, true);
sExtMem(FRAM1);
if(flashFlag == FLASH_REQUIRED){
sciSend(scilinREG, 23, "\n\rProgram Flash begin\n\r");
UpdaterSPI(SPI_PORT);
}
sciSend(scilinREG, 24, "\n\rJump to application...");
sciSend(scilinREG, 2, "\n\r");
transferAddress = (uint32_t)APP_START_ADDRESS; //#define APP_START_ADDRESS 0x001C0020
((void (*)(void))transferAddress)();
}
二进制文件存储在正确的闪存位置(APP_START_ADDRESS)、 它与 CCS 创建的文件相同。
使用 UniFlash 进行刷写时、此映像按预期工作。
我在私人消息中向您提供了完整的代码。
此致、Marco Mecha














