sparkfun / Artemis-Firmware-Upload-GUI

A cross-platform GUI for uploading new firmware to an Artemis based device.
Other
27 stars 11 forks source link

Updating Bootloader fails #6

Closed justiceamoh closed 4 years ago

justiceamoh commented 4 years ago

Thanks for providing a firmware upload GUI utility. Very useful. I am able to upload firmware unto the board without any hassle. However, when I try to update the bootloader, that fails with the following message:

Updating bootloader

Artemis Bootloader Update

Installing bootloader version 5
Header Size = 0x80
original app_size 12944
load_address 0xc000
app_size 12944
w0 = 0xcb003310
Security Value 0x10
w2 = 0x10008080
addrWord = 0xc000
versionKeyWord = 0x0
child0/feature = 0xffffffff
child1 = 0xffffffff
crc =  0x826a7429
Writing to file application_OTA_blob.bin
testing: application_OTA_blob.bin
Header Size = 0x60
app_size = 13072
Writing to file application_Wired_OTA_blob.bin
Image from 0x0 to 0x3310 will be loaded at 0x20000
Connecting over serial port...
Sending Hello.
No response for command bytearray(b'\x00\x00\x08\x00')
Failed to respond
Fail
Sending Hello.
No response for command bytearray(b'\x00\x00\x08\x00')
Failed to respond
Fail
Sending Hello.
No response for command bytearray(b'\x00\x00\x08\x00')
Failed to respond
Fail
Tries = 3
Upload failed!

Any ideas why this keeps failing? I am using a custom board fashioned after the Artemis Nano. It is running the SVL bootloader version 3, as shipped. I did not break out the boot pin because I wanted to stick to the SVL exclusively. Could that be the cause? I am able to flash the bootloader artemis_svl.bin directly using my j-link debug probe though.

nseidle commented 4 years ago

Thanks!

Yes, that is the issue. You need the boot pin available to put the module into the Ambiq Secure Loader. I recommend implementing the bootload reset circuit on most boards.

Do you have the SWD pins broken out? You can always program over JTAG...

Closing as this is not an issue with the GUI.

justiceamoh commented 4 years ago

Ah! Thank you @nseidle. I saw the reset circuit but I was trying to save on footprint 😞 . Lesson learned. I'll put that on the next iteration. I do have SWD broken out and can flash the new bootloader via the debugger for now.

Is there a repo where can I follow updates to the SVL bootloader? I've seen this this repo but it looks like it was last updated a year ago.

nseidle commented 4 years ago

Argh. Yea, it's bad. I've updated this readme. Source code is here.

I've got PRs into the other readme's on the BSP and Apollo core to get the links cleaned up.

justiceamoh commented 4 years ago

Thanks @nseidle!