Reply
Posts: 8
Registered: ‎10-11-2017

EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Hello, We are using EFM8UB10F16G-C-QFN20  dated 1624. In this part, we would like to access Factory programmed Boot loader through USB. To access USB boot loader followed following resource:

 

EFM8 Universal Bee Family EFM8UB1 Errata:

https://www.silabs.com/documents/public/errata/EFM8UB1-Errata.pdf

and

AN945: EFM8 Factory Bootloader User Guide:

https://www.silabs.com/documents/public/application-notes/AN945.pdf

 

When we use SiLabs Debug Adapter with SiLabs Flash utility program we are able to program device and able to test application level USB functionality. This confirms, made USB circuitry works.

 

To update firmware without Debug adapter thought of use in-built Bootloader along with efm8load.exe application. For this erased code space by using Flash Utility and connected USB cable directly to PC.

 

After this some reason, while using efm8load.exe getting "ERROR: Unable to open port!". In PC device manager not showing any connection details at COM port or Human Interface Device.

 

Appreciate any help on this.

Thanks,

 

 

 

Posts: 358
Registered: ‎02-26-2013

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Hi @Jammy

 


To update firmware without Debug adapter thought of use in-built Bootloader along with efm8load.exe application. For this erased code space by using Flash Utility and connected USB cable directly to PC.


The bootloader is located in code space, so erasing code space would erase the bootloader.

 

I suggesting downloading the bootloader image in back onto the device. The bootloader images are hex files in AN945SW:

 

https://www.silabs.com/documents/public/example-code/AN945SW.zip

 

Then try efm8load.exe again. 

Posts: 8
Registered: ‎10-11-2017

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Stephen,

Thanks for suggestion.

As you suggested by using Debug Adapter and SiLabs Flash Utility - downloaded "AN945 EFM8 Factory Bootloader User Guide Software\AN945SW\Bootloaders\EFM8UB1\EFM8UB10F16G_QFN20.hex".

After downloading, flash utility shown Checksum: 0x4e63.

 

When I run efm8load.exe showing still : ERROR: Unable to open port!

 

Thanks,

 

 

 

Posts: 8
Registered: ‎10-11-2017

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

After downloading "EFM8UB10F16G_QFN20.hex" to microcontroller, as what device USB enumerates to PC?

Posts: 8
Registered: ‎10-11-2017

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Additional Information: 

With USBAlyzer tried to see is device enumerating are not after downloading boot loader hex only.

Not seen, VID: 0x10C4 and PID : 0xEAC9. Appreciate any help on this.

 

Thanks,

Posts: 2,380
Registered: ‎10-14-2014

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

I think you could read the AN945 document and try to made the device enter the bootloader mode first.

Do you mind upload your schematic here?

I think you could pay attention on to erase the full device first and then program the bootloader into the device.

 

My views are my own and do not necessarily represent the views of Silicon Labs

WeiguoLu
Posts: 8
Registered: ‎10-11-2017

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Thank you for suggestion.

 

To avoid possible issues with custom board thought of use "SLSTK2000A" eval board and done following sequence of steps:

 

  1. Connected Eval Board and saw in Simplicity studio device list "J-Links SiLabs" connection by using Debug USB cable.
  2. Compiled example program : EFM8UB1_USB0_Bootloader project and programmed "EFM8UB1_USB0_Bootloader.hex" file by using J-Link.
  3. As soon as Bootloader programmed, seen "Unknown Device" in Simplicity studio Device list.
  4. By using "hex2boot" program converted "EFM8UB1_RainbowBlinky.hex" file to "EFM8UB1_RainbowBlinky.efm8"
  5. Programmed EFM8UB1_RainbowBlinky.hex.efm8 using efm8load application.
  6. As soon as we programmed, started running Rainbow application and able to see Joystick movement corresponding colors in LCD screen.
  7. Pressed, PB0 and able to see "Loader" string in LCD. But couldn't able to jump from application program to Bootloader.

As community member suggested added "SFRPAGE = 0;" in b/w lines and tried:

 

   *((uint8_t SI_SEG_DATA *)0x00) = 0xA5;
    SFRPAGE = 0;
    RSTsrc=RSTSRC_SWRSF__SET | RSTSRC_PORSF__SET;

Appreciate any help on this issue.

 

Thanks.

 

 

Posts: 8
Registered: ‎10-11-2017

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Attached used EFM8UB1_RainbowBlinky.m51 file for possible clues.

 

 

Posts: 8
Registered: ‎10-11-2017

Re: EFM8UB10F16G-C-QFN20 1624 In Built USB Boot loader ?

Also, attaching Memory view window when I enter in debug mode from Rainbow application. I do see, previously loaded BL_SIGNATUTE (0xA5) available at address: 0xFBFE.

Sems some reason once I press PB0, device writing successfully and resetting. But, in Bootloader validation failing.

Here with I attached memory view image for reference.

Please help on this.....