Go Down

Topic: Running a sketch without bootloader (Read 784 times) previous topic - next topic

Juraj


westfw

The non-AVR boards have bootloaders that work significantly differently, and the erasure of the AVR bootloader when you "upload using programmer" is more of an unavoidable side-effect than a feature.

You probably have to explicitly erase or replace the bootloader code to get rid of it.


pjrebordao

You probably have to explicitly erase or replace the bootloader code to get rid of it.
Do you have any idea of how to do it in this context (Nano 33 BLE) ?

westfw

What sort of startup time do you need to achieve?
For example, there's a ~0.5s pause while the bootloader checks for "double tap reset", and (I guess) a longer pause waiting for traffic.  One elegant solution would be to change the startup to ONLY enter the bootloader on the double-tap...

Juraj

What sort of startup time do you need to achieve?
For example, there's a ~0.5s pause while the bootloader checks for "double tap reset", and (I guess) a longer pause waiting for traffic.  One elegant solution would be to change the startup to ONLY enter the bootloader on the double-tap...

btw the bootloader is already removed

pjrebordao

What sort of startup time do you need to achieve?
For example, there's a ~0.5s pause while the bootloader checks for "double tap reset", and (I guess) a longer pause waiting for traffic.  One elegant solution would be to change the startup to ONLY enter the bootloader on the double-tap...

I don't need a 0sec delay, but I would like to cut the delay by half.

Entering the bootloader on a double-tap would be an elegant solution, but where resides that startup code ?

westfw

Quote
you have to create a custom variant with a different linker script putting the binary together to address 0.
Yes, that's one of the ways to do it.  Somehow I missed that part of the conversation :-(
I was thinking of replacing the bootloader with one that does nothing but start the app, which would theoretically be an easy modification (keeping any initialization that it might do) or even to write from scratch (doing essentially nothing.)  But I can't find the makefile used to build the nRF bootloader, so ... grumble.

pjrebordao

I already changed the linker script to load the app at 0, but the results were:

- I can no longer update a sketch using USB
- The app still takes the same time to start


westfw

I'll go back to "how long are you talking about?" (And - under exactly what circumstances?)
I dug out my nano33ble, and it starts up blink in about a second after power on or reset (with the bootloader present.)
Maybe it's your app - what does it do at startup?

Go Up