主题中讨论的其他器件:UNIFLASH
当编译尝试加载到闪存时、我会得到此错误。
C28xx_CPU1:闪存编程期间出错。 地址0x00078208、数据0x0000E000、FMSTAT 0x00000030
C28xx_CPU1:文件加载程序:内存写入失败:未知错误
C28xx_CPU1:GEL:文件:C:\work\reset_57_blip_pin_15_long_short _2X_SCIB_write\CPU1_flash\reset_57_blip_pin_15_long_short _2X_SCIB_write.out:加载失败。
在单击确定后、工具将呈灰色显示、直到它退出调试模式。 从右上角选择调试会返回调试视图、但片上闪存不再可用。 我以为如果擦除闪存、问题就会消失、因此我删除了有问题的代码并访问了片上闪存进行擦除、但它没有帮助。
我的链接命令文件中包含以下行:
MEMORY { PAGE 0: DCSM_ZSEL_Z2_P0: origin = 0x078208, length = 0x000002 DCSM_ZSEL_Z2_P1: origin = 0x07820C, length = 0x000002 //DCSM_ZSEL_Z1_P0: origin = 0x07800C, length = 0x000002 //DCSM_ZSEL_Z1_P1: origin = 0x07801C, length = 0x000002 } SECTIONS { dcsm_zsel_z2_1 : > DCSM_ZSEL_Z2_P0, PAGE = 0 dcsm_zsel_z2_2 : > DCSM_ZSEL_Z2_P1, PAGE = 0 } MEMORY {
在 main.c 的开头部分:
// Per SPRACN1 #pragma RETAIN(otp_z2_data) #pragma DATA_SECTION(otp_z2_data,"dcsm_zsel_z2_1"); const long otp_z2_data = 0x5AFFFF0F; #pragma RETAIN(otp_z2_data_2) #pragma DATA_SECTION(otp_z2_data_2,"dcsm_zsel_z2_2"); const long otp_z2_data_2 = 0xFFFF0103; // End SPRACN1
根据 TRM 表、这似乎是正确的。
谢谢、
John