maxx2 (21.07.2016 10:44, просмотров: 3232)
Фьюзы SAMA5D2 и JTAG. Столкнулись с неприятным известием - после программирования фьюзов, обратно их не вернуть. Они получаются однократно программируемые, как написал Атмел - по соображениям безопасности. Отрубили JTAG и все, обратно не вернуть. Записали в FUSE - 0xFFFFFFFF
AM-BA ver 3.1.1 и скрипт set-boot-config-fuse.qml
...
appletWriteBootCfg(BootCfg.FUSE,0xffffffff)
...
После записи удалось сразу прочитать состояние FUSE
...
function printBootConfig() {
var fuse = appletReadBootCfg(BootCfg.FUSE)
print("FUSE=" + Utils.hex(fuse, 8) + " / " + BCW.toText(fuse))
}
...
Вывод на терминал:
FUSE=0xffffffff /
QSPI0_DISABLED,QSPI1_DISABLED,SPI0_DISABLED,SPI1_DISABLED,NFC_
DISABLED,SDMMC0_DISABLED,SDMMC1_DISABLED,UART_DISABLED,JTAG_IOSET4,EXT_MEM_BOOT,
QSPI_XIP_MODE,DISABLE_BSCR,DISABLE_MONITOR,SECURE_MODE
Connection closed.
запрещено всё, кроме запуска кода в EXT_MEM_BOOT
А вот Атмел порадовал
But for fuse, I am sorry to say that the default value of a fuse is logic ‘0’ (not programmed). A programmed fuse is logic ‘1’.An electrical fuse matrix is a type of non-volatile memory. Each fuse in the matrix can be programmed only one
time.