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
解决此问题的最佳方法是什么?
谢谢!