Page 1 of 1

Firmware Upgrade

Posted: Thu May 21, 2015 4:10 pm
by lcheminade
There are two ways to upgrade a firmware into your TD12xx EVB:

- Jlink probe via SWD (DB2-DB3)
- Internal bootloader via LEUART or Over-the-air


JLink is the dedicated tool for development. It provides a quick and risk-free way to upgrade some code. Any Jlink probe should allow you to upgrade your TD12xx board.


Telecom Design's SDK development kit includes a starter kit board from Silabs (EFM32TG-STK3300). This board embedds a JLink chip as well as providing a LCD and nice features such as consumption monitoring. In order to flash your firmware into the TD12xx EVB you need to connect it to the EFM32 board via the 20 pins top-right header. Then using the energy aware commander tools in the SDK\energy micro folder you need to :

- connect
- select the TD12xx by setting Debug Mode : out (FYI selecting MCU means you will try to flash the EFM32 processor)
- go to the "Flash" tab, select your .bin file and click on flash EFM32. You might need to click again on flash EFM32 if an error occur on the first time.


- Flashing a project from eclipse is being performed by calling energy aware commander in command line. A complete description of how to flash your firmware from Eclipse is available in the SDK Readme file at the Flashing / Debugging section.

- If you encounter the "Invalid Flash Address" issue you're probably using the Debug Mode = MCU which means you're trying to load a >32Ko firmware into a 32Ko chip. Unfortunately old revision of the EFM32 kit tends to "forget" your debug mode. In order to solve this issue you can upgrade your kit using the S1010_efm32_common_stk_firmware_package_1v6p0b87.emz file attached. Juste go into the "Kit" tab, select this file in installation Package and click on Install Package. Then click on connect, select Debug mode out, disconnect, close and open energy aware commander and on connect the debug mode out should be selected.

Internal Bootloader

By default any software generated via the SDK includes a bootloader. This is not a stand-alone bootloader in a separate section. Thus a partially flashed module being powered off will not recover without an Jlink/SWD access.

Therefore the internal bootloader is dedicated for on the field product upgrade when the physical access to the board is limited to removing/inserting the batteries. The bootloader allow both serial and Over the Air upgrade.

Serial Upgrade

Upgrade through serial has proved difficult for some users because of a frequency shift on the uart at 115200. It sounds like this is computer/OS dependant (they probably handle the frequency shift in a different way). Since it also require a physical access to the upgraded device we now advise to only use Over the Air upgrade.

Over the Air Upgrade

Over the Air upgrade is 100% reliable and allow to upgrade many devices at once. To use it you NEED to have a led on TIM2 just like all the EVBs.

For this you would need an additional TD1208/04 EVB that you should flash (you would need JTAG there...) with the corresponding attached LoaderTransmitter.bin firmware. Then:

- start TDLoader ( ... rV1.06.exe), select the product type of the board you want to upgrade and the COM port of TD1208/04 with the LoaderTransmitter.bin firmware.

- click on acquire

- power-on all the board you want to upgrade, TIM2 should stay on

- start the upgrade process

- all the product leds should turn off at the end of the process, otherwise restart broadcasting (acquire + flash) WITHOUT powering off the products.

Please note that if the process does not complete (ie you power off the device before the led turns off) then the bootloader will be broken and you will need JTAG access to upgrade it.

Re: Firmware Upgrade

Posted: Tue Sep 22, 2015 10:46 am
by ramon2015

A couple of questions about the internal bootloader (via LE-UART):

1 - I have created a program starting from the tdxx_template and bootloader is not working. Do I need to include an AT_parser?
Could you give some clues about the bootloader process so we can understand what is necessary to add to our program?
We need to wait for a specific command from the TDLoaderV1.06?

2- How an OTA upgrade can be performed? I do not understand the FW camoe from the LE-UART as well or from the RF-wireless port?
Do i need an external device for OTA upgrade?

Regards, Ramon.

Re: Firmware Upgrade

Posted: Mon Apr 18, 2016 9:05 am
by leosw
Telecom Design's SDK development kit includes a starter kit board from Silabs (EFM32TG-STK3300).

As discussed in a different thread, That's not true at all.

Re: Firmware Upgrade

Posted: Tue Aug 09, 2016 8:00 am
by mstempin
leosw wrote:
Telecom Design's SDK development kit includes a starter kit board from Silabs (EFM32TG-STK3300).

As discussed in a different thread, That's not true at all.

It is: the Telecom Design's EVB (Evaluation kit) do not, but the SDK development kit does, that is the difference between the two references.

Re: Firmware Upgrade

Posted: Fri Aug 19, 2016 3:20 pm
by leosw
Never heard about that SDK kit.

Re: Firmware Upgrade

Posted: Wed Aug 24, 2016 9:23 am
by mstempin
Both the EVB and SDK are avaialble through our excluse distributor Avnet Silica, but you can also get the individual Silabs (Energy Micro) STK3300 kit from them or from other online distributors.

Re: Firmware Upgrade

Posted: Thu Nov 03, 2016 5:23 pm
by sigfoxsignal

I indend to use the starter kit board from Silabs (EFM32TG-STK3300) to debug my TD1208.

Is there a tutorial on how to connect the EFM32TG-STK3300 and the TD1208, and then to perform step by step debuing ?

I understand the you need to connec the Silabs (EFM32TG-STK3300) with the TD1208 using the "Debug in/out interface" of the EFM32TG-STK3300.
Is it as simple as to perform the following connexions :

EFM32TG-STK3300 <-------> TD1208
SWDIO <-------> DB2
SWCLK <-------> DB3
GND <-------> GND

Is there something else to do ? Are simple wires connexion sufficients ?

Then, once it is connected; what should I do ?

Thank you very much.

Re: Firmware Upgrade

Posted: Mon Nov 28, 2016 4:53 pm
by mstempin
Yes, using the STK3300 Starter Kit, you just need to plug the TD1208 using the provided adapter board (this should cover the LCD, not hang outside), this will get you all the wires OK. But basically, only your 4 wires mentioned in your post are enough to have it working.

Then, follow the README file at the root of the TD_RF_Module_SDK repository to debug from Eclipse.

Re: Firmware Upgrade

Posted: Tue Dec 27, 2016 2:09 pm
by dandavid3000
Hi @mstempin

I'd like to ask if there are TD1508_LoaderTransmitter.bin and new TD Loader version supporting OTA firmware update for TD1508?

Thank you,

Re: Firmware Upgrade

Posted: Mon Jan 23, 2017 11:35 am
by vibiss
Hi, and how about flash a TD1204 over Bluetooth? That could be possible?

Thank you very much