我在解锁2级闪存时遇到问题。 根据 spnu239b TRM、当已从闪存包装程序向偏移量0x8输入正确的密钥时、F05闪存电平2指示器位15被置位。
我有一个 J 标记,它使用以下命令 poke [address] valueToWrite 和 PEEK [address] ReadsWordFromAdress。
Poke FFFFFFE0 4007 // SYSECR 会在发生地址访问冲突时禁用复位。但是、此芯片上似乎没有位0-2、不知道如何修复、这些位通常可用:
位2 PACCOVR。 外设访问违规覆盖位。
防止外设访问违规错误导致复位或中止。
例外。
用户和特权模式(读取):
特权模式(写入):
0 =外设访问违规错误会导致复位或中止
1 =未对外设访问违规采取任何操作
位1 ACCOVR。 存储器访问复位覆盖位。
防止存储器访问权限违规导致复位或中止
例外。
用户和特权模式(读取):
特权模式(写入):
0 =存储器访问违规权限错误会导致复位或中止
1 =发生违反存储器访问权限的情况时未采取任何操作
位0 ILLOVR。 非法地址复位覆盖位。
防止一个非法访问导致一个复位或中止。
用户和特权模式(读取):
特权模式(写入):
0 =一个非法地址导致一个复位或中止。
1 =未对非法地址采取任何操作。
Poke FFFFFE00 //
Poke FFF8701C 00000918 //将 FMMAC2设置为00000918 (*(int *)(Reg_FlashWrapBase + 0x1c)>>3)<< 3),因为原始 FMMAC@为00000918
Poke FFF87004 11 //设置 FMBAC2 = FMBAC2 | 0xff、因为原始 FMBAC2是7F11
PEEK 1FF0 //虚拟读取第一个闪存密钥
PEEK 1FF4 //虚拟读取第二个闪存密钥
PEEK 1FF8 //虚拟读取第3个闪存密钥
PEEK 1FFC //虚拟读取4闪存密钥
POKE FFF8710C 00 //写入第一个闪存密钥
POKE FFF8710C 00 //写入第二个闪存密钥
POKE FFF8710C 00 //写入第三个闪存密钥
POKE FFF8710C 00 //写入第4个闪存密钥
Poke FFF87100 2 //恢复 FMREGO,原始值为2
POKE FFF87004 7F11 //恢复 FMAC2
读取 FFF87108 //FMBBUSY 如果第15位处于不安全状态、则设置闪存级别2、所有四个密钥均已正确输入。 (0x8000 = bit set),这在尝试解锁之前读为0x4000,在尝试解锁之后读为0x4001。
我肯定所有的钥匙是零,为什么我不得到一个积极的解锁? 我将刷写到该芯片中的 bin 文件、地址1ff0至1fff 全部为零。
您是否具有要在 C 语言中执行的示例闪存擦除、或者针对 TMS470PVF24xB/34xB 的 ARM7组装、这看起来与 TMS470PLF111非常相似。
此外、我发现具有全局控制的所有示例我在此芯片上找不到。 请参阅下面的不同 TMS470
/*设置 GLBCTRL.4 */
target_read_u32 (target、0xFFFFFFDC、&glbctrl);
target_WRITE_u32 (target、0xFFFFFFDC、glbctrl | 0x10);


