Sign up ×
Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It's 100% free, no registration required.

Is it possible to use a custom bootloader, that loads and executes a main program which is stored for example on SD-card? The idea is to make it possible to update the Arduino remotely.

I tried this with a bootloader, that writes the program into the flash storage with a 32KiB offset and then uses a function pointer with that address (0x88000) to continue execution there. (The 0x80000 is as far as I am informed the address offset of the flash storage.) It can be written on Due boards with this library: https://github.com/sebnil/DueFlashStorage. The problem was that this just hasn't worked, the Arduino simply stopped responding after the function pointer being executed. I would appreciate any information or hints on this topic.

share|improve this question
    
A solution of this type should be possible - but was your loaded program linked to execute at that address? And did you come up with a scheme for handling interrupt vectors? I believe on the ARM cortex you can change the address of the vector table. –  Chris Stratton May 13 at 17:17

1 Answer 1

Not sure if you could get the bootloader to support SD, but i have little experience with bootloader code, so it the way i would go about it would be to make the sketch load content from the SD that then effects the sketch process.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.