Booloader firmware versions question

Rezo

Well-known member
Hi all,

I have a product that uses the Teensy Micromod and have come across a weird issue:

I have a customer running an older firmware that was compiled with TD1.56 and his MM runs the bootloader firmware that shipped with TD1.56 (from what I recall)
I have a new firmware version compiled with TD1.57 and an MM that has the latest bootloader firmware.

The new firmware runs just fine for me.
But for my customer, it will boot up and then crash after a few moments (it's hard to understand from him if it reboots again).

But I am wondering, is it possible that the older bootloader version on his MicroMod with a firmware built to work with the new bootloader version could cause such behavior?

He is using a custom flashing tool based on luni's TeensySharp library.
What can I do in the future to avoid this? Is there a way to update the bootloader firmware without using the TeensyLoader?
 
@PaulStoffregen would know directly ... check the release notes for actual timing

There was one bootloader update since release - the version number on the board is indicated in Teensy Loader 'Help / Verbose Info' during an upload

Also, in the release of 'recent' TeensyDuino there was a change to Reset/Startup code that made an edit that removed an instance of a crash in some cases.

This shows the last bootloader change came with 1.56, not finding the Reset/Startup change that caused crash after TD 1.54.

Teensyduino-1-56-Released
Code:
Complete list of changes since 1.55:

Support for Arduino 1.8.19
...
Teensy Loader updates Teensy 4.0, 4.1, MicroMod to bootloader 1.07

Teensyduino-1-57-Released

https://forum.pjrc.com/threads/67642-Teensyduino-1-54-Released
Code:
Complete list of changes since 1.53:

Support for MicroMod
...
Fix 1.54-beta1 startup problem on Teensy 4.1
 
The new firmware runs just fine for me.
But for my customer, it will boot up and then crash after a few moments (it's hard to understand from him if it reboots again).

But I am wondering, is it possible that the older bootloader version on his MicroMod with a firmware built to work with the new bootloader version could cause such behavior?

Very unlikely the bootloader (any version) is causing a program to crash. While your program runs, the bootloader (all versions) watches for either a pushbutton press or a the processor to go into halt mode due to a breakpoint instructions. If neither of those things happens, it doesn't take control of the hardware. Your program is fully in control.


He is using a custom flashing tool based on luni's TeensySharp library.
What can I do in the future to avoid this?

Teensy's bootloader doesn't restrict which programs can use it. There's really nothing you can do to prevent use of 3rd party software.


Is there a way to update the bootloader firmware without using the TeensyLoader?

Only Teensy Loader does the upgrades.

But again, the bootloader is very unlikely to be the cause of a program having different behavior on 2 different boards.
 
@defragster Appreciate the info. From what I've read in the release notes and some threads is that the MicroMods come with 1.06 shipped, and will be upgraded to 1.07 when flashed with the TeensyLoader.
This has been the case for me. The customer facing the issues has a MicroMod that still runs 1.06. I'll just ask him to download TeensyLoader and give it a try.
Odd thing is this behavior happens only to him. Not to me or other customers using the same HEX file.

@Paul thanks for confirming!
Just to clarify one thing, you mentioned only the Teensy Loader can upgrade the bootloader. Can the TeensyLoader CLI do this as well?
 
Can the TeensyLoader CLI do this as well?
No,
only Teensy.exe can upload the bootloader chip.
Details of bootloader and Teensy.exe PJRC proprietary information.
the Teensyloader CLI can only download a user program
 
Back
Top