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

Where is the super simple boot loader and file up loader?

I know I am going to regret posting this question, but I need to ask it.

I have an application that will be put into the nrf52840 chip. It will not be upgraded over the air. It will be upgraded through spi. It does not have a soft device and probably won't have one. It is behind another processor so it will not need any security to speak of, if someone has compromised this part of the system  there is little chance that protecting this piece will matter.

What i need is simply a boot loader that detects when NRF_POWER->GPREGRET equals a flag, which means the main application has set the flag and initiated a soft reset.

I need to check if the hosting processor really wants to talk .

Copy in a compressed .hex file with the new application , a binary version of the .hex file for the new target.

Validate that binary. (something a better then CRC16,)

Move that application to the target area , using the decoding of the addresses from the .hex file

Set a flag saying we are good, reset and jump to the new program.

Thats all I need. I don't need to sign the code or anything that excessive.

Where are the switches in all these libraries to just take in the code and move it into place...reboot

Tony

Parents Reply
  • Ok I am looking at the project and documentation , Kind of be nice if there was a README associated with it that explains the proper way to locate the target file to load into the firmware, but that is another issue.

    This project (as stated in the documents) uses USB. So I assume to make it work totally serial, i need to

    • rip out the USB device drivers.
    • remove nrf_dfu_serial_usb.c from the project
    • add nrf_dfu_serial_uart.c to the project
    • probably some uart configuration in there

    Assuming you or anyone has done this, does this seem reasonable?

Children
Related