Thread 中讨论的其他器件:UNIFLASH、 LMFLASHPROGRAMMER
工具/软件:
我已经使用以下代码对 BOOTCFG 寄存器进行了编程和设置:
#include <stdint.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#define FLASH_FMA 0x400FD000
#define FLASH_FMD 0x400FD004
#define FLASH_FMC 0x400FD008
int main(void)
{
// 1. FMA should have this value to program BOOTCFG
HWREG(FLASH_FMA) = 0x75100000;
// Data to be flashed in BOOTCFG, must be stored in FMD
// 2. BOOTCFG value: PD1 active LOW = 0xFFFF64FE
HWREG(FLASH_FMD) = 0xFFFF64FE; //FMD to enable Port D1 on LOW for ROM bootloader execution
// FMC should have writekey and commit bit
HWREG(FLASH_FMC) = 0xA4420000 | 0x9;
// Wait until commit is complete
while (HWREG(FLASH_FMC) & 0x9);
}
我已经对其进行了测试、它可以正常工作、BOOTCFG 正在按编程方式工作。
我现在想将 BOOTCFG 寄存器更改为[0xFFFF66FE]、根据之前的支持问题、我认为需要“解锁“器件、然后重新编程。
编程完成后、再次更改其值的唯一方法是执行“解锁“操作并将器件恢复到出厂设置。
我有一个使用 XDS110 调试探针的 JTAG 接口。 我尝试了具有“Erase Flash“和“Blank Check“以及 LMFlashProgrammer “Debu Port Unlock“->"Unlock"的“的 Uniflash“ Uniflash 实用程序、但没有成功。 在 Uniflash 存储器浏览器中、我仍然看到 BOOTCFG 为 FFFF64FE 
解决此问题的最佳方法是什么?
谢谢!