Any Serial Downloader debug information?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Any Serial Downloader debug information?

1,717件の閲覧回数
GREng
Contributor III

We have a number of new custom boards based on the imxRT1021 EVK kit. 

The customization sets BOOT_MODE[1:0] pins to 00.  We recognize that this results in "Boot From Fuses" mode, and that factory-fresh RT1021 will have the BT_FUSE_SEL =0, which should result in the bootROM running Serial Downloader.

For some units, we can communicate over UART1, and get BT_FUSE_SEL set.  For others, we are unable to make serial communication.  We can still attach over JTAG/SWD and see the program counter moving around the 0x200000 range, which implies bootROM is live, but we don't know why it won't respond over UART1.  We can even configure and program serial NOR flash over flexSPI, but unable to set BT_FUSE_SEL to 1, bootROM won't jump over to it.

Using oscilloscope probes on the UART1 pins (GPIO_AD_B0_07), we verify serial data pulses at the MCU's Rx pin, but there is no activity coming out on its Tx pin (GPIO_AD_B0_06).

Is there any memory location we can look at using the JTAG/SWD that would give us a hint to what the Serial Download is doing?  For example, an exception vector, or a flag that indicates it has settled on USB comms instead of UART, or other information that would prove that  bootROM is actually executing the Serial Download program at all? 

[Alternatively, a white paper or document describing how to program BT_FUSE_SEL by direct register manipulation over JTAG, without the use of UART1 or USB comms would also be useful].

0 件の賞賛
返信
2 返答(返信)

1,648件の閲覧回数
Omar_Anguiano
NXP TechSupport
NXP TechSupport

The ROM will behave like this:
Boot_Mode is configured in Boot From Fuses(b00)
-BT_FUSE_SEL = 0, No application in boot in boot device, BootROM enters serial download mode
-BT_FUSE_SEL = 1, valid application in boot device, BootRom gets all boot device info from fuse.

To access to ROM you can use UART1 or USB. It is suggested to add a 10k pull-up resistor to TXD1/RXD1 pins to avoid an invalid trigger of the UART port in the serial download mode. If there is not polling activity from UART1 in the serial download mode, the ROM code acts as an HID device for PC downloading.

Best regards,
Omar

0 件の賞賛
返信

1,689件の閲覧回数
GREng
Contributor III

JTAG debugging shows Program Counter execution passing through 0x215a8c and stopping at address 0x215a9a.  This is inside documented bootROM area.  

Disassembly shows 0x215a9a  is a "branch to self" instruction

b.n | 0x215a9a,

effectively stopping bootROM functionality.   We set hard breakpoints at this address range on working units, and did not hit the breakpoints.  This implies some kind of fatal error path.  

Is there any additional detailed information on bootROM logic for the imxRT1021 series?

0 件の賞賛
返信