It is the MicroBoot Kernel version. Most of my boards have MicroBoot Kernel version 1.03. I went through 4 different freedom boards and found 1 that had MicroBoot Kernel Version 1.01. I followed the same procedure and the USBDM interface enumerated immediately. It does not enumerate with any of the boards that have MicroBoot Kernel version 1.03.
The original board I tested on
==================================================
Board Name is: FRDM-KL25Z
MicroBoot Kernel Version is: 1.03
Bootloader Version is: 1.05
Application Version is: 0.00
==================================================
I upgraded to 1.08
==================================================
Board Name is: FRDM-KL25Z
MicroBoot Kernel Version is: 1.03
Bootloader Version is: 1.08
Application Version is: 0.00
==================================================
The MicroBoot Kernel 1.01:
==================================================
Board Name is: FRDM-KL25Z
MicroBoot Kernel Version is: 1.01
Bootloader Version is: 1.01
Application Version is: 0.00
==================================================
In the bootupdateapp release note, there is some information about Microboot 1.03 and about the bootloaders:
WARNING: If you are running Microboot v1.03 or older on a FRDM-KL25Z board, there is a scenario where interrupting the firmware update at a very specific spot during the update process will cause the board to become secure and unusable. It is very unlikely that this would occur as the entire update process takes about a second and this problem would occur only when replacing one of the many sectors in the flash which are reprogrammed. This flaw was fixed in Microboot v1.03. In order to fix the board, it would have to be shipped to P&E to be recovered.
BOOTUPDATEAPP with Bootloader v1.08 fixes the following issues:
v1.05 Fixed binary files download to bootloader. Wrong address was used (0x0000 instead of 0x8000)
Fixed led not coming on upon an error
v1.07 Added Bootloader support for Linux
v1.08 Future feature additions (undocumented)
Microboot 1.03 made some changes related to memory locations.
I speculate that there are changes in the address where the usbdm needs to load with microboot 1.03? (considering the info here: Basic OpenSDA Project)
Message was edited by: Brion Finlay
Some additional information that I neglected to add: When the microboot 1.03 devices are programmed with USBDM and attached to USB, Windows does not enumerate the device at all. It is like a dead device. This implies that the USBDM code (which manages the USB device) is not running, which leads me to speculate about a loading problem like memory location.
On the other hand, the OpenSDA LED lights up solid green, which according to the OpenSDA users guide means that OpenSDA MSD Bootloader is running an application normally with no error conditions and no USB activity.
Are there any fixes that can be made for the microboot 1.03?