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

ATSAM3U4 bootloader problem

I have somewhat unusual problem and I would appreciate your help on this topic.

So, to sum up my problem, I have NRF51-DK development kit and I accidentally "fried" the board when high voltage (12V) somehow got onto the SWD interface pins. I therefore un-soldered both the NRF51822 chip and interface MCU. I bought a new interface IC, the ATSAM3U4, which is basically the same as the original ATSAM3U2 which was originally on the board, except it has dual bank flash, but in my opinion, it shouldn't make any difference in operation.

And now for my question. I have downloaded CMSIS-DAP project from mbed's gitlab and I appear to be stuck ever since. How can I reflash the stock bootloader on the interface MCU from SAM-BA to mbed's MSD bootloader? I was trying to set the start and size of the flash and RAM in keil but with no success. I keep getting the 'No algorithm found for the range' error. Is there any documentation about flashing the MSD bootloader onto interface MCU? I don't seem to be able to find any and I am a bit confused by flashing procedure.

Thanks, Matic

Parents
  • Hi.

    The stock bootloader is made by Segger, and is not something i have access to unfortunately.

    You might make it work by flashing the mBed CMSIS-DAP firmware to the ATSAM chip. In order to flash anything to the ATSAM chip, you need a programmer/debugger compatible with it. I am not sure what interface it supports, but i am guessing JTAG or SWD. (You can not program it with the usb connector on the board).

    You could also try to connect directly to the nRF51 with an external JLINK adapter from Segger, or a cheaper CMSIS-DAP debugger.

    -Anders

  • I've solved my problem. If someone else encounters the same problem, here is what I figured out by myself. You have to get yourself CMSIS-DAP bootloader and interface firmware from mbed's github: github.com/.../CMSIS-DAP Then, you open the bootloader project in Keil, build it and flashit with an external programmer. The issue was, that for flashing into boot sector of ATSAM IC, you have to change the range in flashing algorithm from 0x80000 to 0x00. By doing this, you enable flashing to that part of the flash. For interface FW I followed a similar procedure, only difference was, I had to flash FW to address 0x5000. Once all of this was done, I started up the board in bootoader upgrade mode and flashed J-link interface on it. It works as new, so I consider it a successfull repair.

Reply
  • I've solved my problem. If someone else encounters the same problem, here is what I figured out by myself. You have to get yourself CMSIS-DAP bootloader and interface firmware from mbed's github: github.com/.../CMSIS-DAP Then, you open the bootloader project in Keil, build it and flashit with an external programmer. The issue was, that for flashing into boot sector of ATSAM IC, you have to change the range in flashing algorithm from 0x80000 to 0x00. By doing this, you enable flashing to that part of the flash. For interface FW I followed a similar procedure, only difference was, I had to flash FW to address 0x5000. Once all of this was done, I started up the board in bootoader upgrade mode and flashed J-link interface on it. It works as new, so I consider it a successfull repair.

Children
No Data
Related