Bootmode Pins (Bootmode[1:0]) not changing boot state on our custom board including imxrt1176
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
We have designed a custom board with imxrt1176. Bootmode[1:0] pins are used for booting purpose. Although I change pins to 00,01,10 or even 11 and immediately following reset the board, imxrt1176 does not change its boot device. It always keeps in Serial Downloader.
I can download "led_blinky.bin" example file to imxrt1176 internal RAM in McuExpresso IDE and run succesfully in debug mode in internal RAM. However, when I try the same app on external QSPI NOR Flash (W25Q128JVSIM), although I successfully can "mass erase" and program file to external flash(with the help of GUI Flash Tool in IDE), when I try to run app on that external Flash chip, debugger stops working and gives error. So I could not debug/run app on external flash unlike internal RAM.
I have USB1 interface for serial downloader purpose. When I connect to imxrt1176 over USB1, I can read/erase/program exernal flash with any of the stand-alone programs like NXP MCU Boot Utility v3.5.0 or MCUXpresso Secure Provisioning v4.1 tools. After programming to external flash, I change Bootmode[1:0] pins to "10" (Internal Boot), then make a Reset the board, led_blinky app not work.
Actually, whatver the states of Bootmode[1:0] switches, I can always connect to imxrt1176 in above any of stand-alone tools over USB1 serial downloader interface. So, Bootmode[1:0] not works as I expected, not changes imxrt1176's state. For example, I guess that when I change bootmode to "11", I could not reach imxrt1176 over USB1 after power-cycle the board. But, it not.
I read that there is BT_FUSE_SEL fuse and must be set to "1" . I suspect that solves my problem. However I would like to be exact sure if it works. Because setting the fuse is irreversible.
By the way I used the BT_CFG[11:0] boot GPIOs for different purposes in my PCB unlike in imxrt1170-evk schematics used. There are no any configuration switches, only PCB has 2-dip switch for BOOTMODE[1:0] GPIOs.
Finally I even compared to content of "bootable_images\evkmimxrt1170_iled_blinky_cm7_nopadding.bin" file with the one read from W25Q128JVSIM Flash in HxD Editor Program. Both files match one by one.
Waiting your helps, many thanks in advance.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Dear Jay, Thank you very much for your interest. I found its solution. I burnt BT_FUSE_SEL fuse, later on imxrt1176 can be accesible now. Burning BT_FUSE_SEL is a must in order to take boot mode[1:0] switches in effect. Now, I can easily debug and program both via debugger and serial downloader over USB interface.


- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
boot_mode pins are not effected by efuse (also BT_FUSE_SEL bit), BT_FUSE_SEL bit only control BT_CFG pins/efuse 0x450 to determine boot device type.


- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Can you readout SRC->SBMR2 register by debugger? its base address is 0x40C0_400C
We usually check this register to see whether boot mode setting is valid.
