This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Need interface MCU initial boot firmware

Please don't give the usual response of 'try the troubleshooting guide' to flash the J-Link or Mbed firmware.  

What I (and probably others) really need is the real initial bootloader firmware for the AT91SAM3U2 that shows up as the BOOTLOADER drive when the IF/BOOTRESET pin is pressed on power on.  It seems that if the J-link operational firmware is corrupted, no amount of BOOTLOADER recovery seems to work to restore the J-Link.  I'm able to restore the Mbed firmware but that just allows the device to show up as a USB drive to program the nRF52x code which is *not* what i need to do.

I've been unable to determine where the actual initial Mbed-enabled boot code is.

What i've done is cut SB31 and applied VDD to the ERASE pin of the interface MCU to get the SAM-BA bootloader interface connected.  Then i've attempted to 'Enable Flash Access', 'Erase All Flash', 'Send File Name' with the .bin file for the J-Link firmware, and then finally 'Boot From Flash (GPNVM1)' before cycling power to the DK board.  There's no detection of the USB link after that.  I've obviously erased the initial Mbed bootloader because it doesn't appear anymore when IF/BOOTRESET is pressed during power on.  

It seems to me there's the initial Mbed-enabled bootloader for the interface MCU which will boot into either the J-Link firmware or the Mbed firmware if they exist, but the J-Link and secondary Mbed firmware don't include the initial boot capability.  I'd rather not have to get the Mbed development software and build my own since Nordic has already done it.

Parents
  • to come full circle and close the issue...   I received another board from a coworker that had not been used yet and that board was doing the same thing (windows detected plug in, rapidly flashing led5, no JLINK device).  So, now i was on the track that it was something under windows that is causing the issue.  apparently the rapidly flashing led5 indicates that USB enumeration isn't completed, I noticed in device manager under 'system devices' that there was a USB/IP device with the warning triangle.  i uninstalled that driver and restarted the board and it enumerated correctly and the JLINK firmware came up completely.   Same with my original board.  a couple weeks ago when i first received the board i was working on a way to share the USB device with an Ubuntu install on WSL 2.  I was using the USBIP project to do this.  When I decided it was too much of a hassle to keep going with that effort for the time being (secure boot needed to be disabled, etc), I turned off the USBIP binding to the SEGGER USB device. At some point soon after i messed up the JLINK firmware as well.  Nothing in any of the help searches turned up anything about making sure that there wasn't another driver trying to claim the device, and the blink codes for the SEGGER firmware were hard to figure out.    At any rate, everything is working now and there should be some information in the Nordic docs that speak to the SAM-BA ROM monitor code in the SoC that can be used to recover the bootloader firmware and restore the operational JLINK firmware from there.  Currently the documentation basically says you can't do anything if the bootloader is corrupted and that's absolutely not the case, and in reality there's really no reason that the SAM-BA recovery method wouldn't ever work that i can tell.

Reply
  • to come full circle and close the issue...   I received another board from a coworker that had not been used yet and that board was doing the same thing (windows detected plug in, rapidly flashing led5, no JLINK device).  So, now i was on the track that it was something under windows that is causing the issue.  apparently the rapidly flashing led5 indicates that USB enumeration isn't completed, I noticed in device manager under 'system devices' that there was a USB/IP device with the warning triangle.  i uninstalled that driver and restarted the board and it enumerated correctly and the JLINK firmware came up completely.   Same with my original board.  a couple weeks ago when i first received the board i was working on a way to share the USB device with an Ubuntu install on WSL 2.  I was using the USBIP project to do this.  When I decided it was too much of a hassle to keep going with that effort for the time being (secure boot needed to be disabled, etc), I turned off the USBIP binding to the SEGGER USB device. At some point soon after i messed up the JLINK firmware as well.  Nothing in any of the help searches turned up anything about making sure that there wasn't another driver trying to claim the device, and the blink codes for the SEGGER firmware were hard to figure out.    At any rate, everything is working now and there should be some information in the Nordic docs that speak to the SAM-BA ROM monitor code in the SoC that can be used to recover the bootloader firmware and restore the operational JLINK firmware from there.  Currently the documentation basically says you can't do anything if the bootloader is corrupted and that's absolutely not the case, and in reality there's really no reason that the SAM-BA recovery method wouldn't ever work that i can tell.

Children
No Data
Related