This code allows you to use the TD Loader application to update the firmware on the Telecom Design module serially.
Update the firmware of your TD1208 or TD1204 modem
Load this program into the Nucleo board to allow for a serial update of the TD-module firmware. You can use the following tool to load the binary file for the Telecom Design modem: /media/uploads/quicksand/tdloader.exe (made by Telecom Design).
- Latest binary for TD1208: /media/uploads/quicksand/td1208_modem_soft2069.bin
- Latest binary for TD1204: /media/uploads/quicksand/td1204_modem_soft2065.bin
Step 1: program the Nucleo board
Import this program, compile and load it onto the Nucleo board.
Optionally: you can download the bin only /media/uploads/quicksand/bootloader.bin
Step 2: Check current firmware version
Open a serial terminal (like Putty) and check the current firmware version using the following command: AT&V
Hint: You can find the connected COM-port using device manager.
If the version doesn't match, then an update is needed. If the version is already up-to-date, no further actions are needed.
Step 3: Flash with TD Loader tool
Launch TDLoader.exe, fill in the COM-port, fill in the path to the binary and select the correct modem version (TD1204 or TD1208). Click on "Acquire" to begin the flashing. The software will first sync up with the modem and then start updating the firmware.
Once the upgrade is done, close the TD Loader software and press the reset button next to the Telecom Design modem.
Step 4: Reset the board using the reset button
Once the board has been reset, check if the firmware version now corresponds with the firmware you've just flashed.
Revision 0:1ccc476f2eb0, committed 2015-11-03
- Comitter:
- quicksand
- Date:
- Tue Nov 03 10:40:08 2015 +0000
- Commit message:
- This code allows you to update the firmware inside the Telecom Design modem on the QW shield using the TD Loader tool.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 1ccc476f2eb0 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Nov 03 10:40:08 2015 +0000 @@ -0,0 +1,44 @@ +#include "mbed.h" + +DigitalOut LED_0 (PB_6); + +//Virtual serial port over USB +Serial pc(USBTX, USBRX); +Serial modem(PA_9, PA_10); + +bool once = true; + +int main() { + pc.baud(9600); + modem.baud(9600); + char c; + + LED_0 = 1; + + char responsebuffer[3]; + + while(1) { + if(modem.readable()) { + pc.putc(modem.getc()); + } + + if(pc.readable()) { + c = pc.getc(); + responsebuffer[0] = responsebuffer[1]; + responsebuffer[1] = responsebuffer[2]; + responsebuffer[2] = c; + if( once && responsebuffer[0] == 'A' && responsebuffer[1] == 'T' && responsebuffer[2] == 'Z' ) + { + LED_0 = 0; + wait(3); + modem.printf("ATZ\n\rATZ\n\r"); + wait(0.1); + modem.baud(115200); + pc.baud(115200); + wait(0.1); + once = false; + } + modem.putc(c); + } + } +} \ No newline at end of file
diff -r 000000000000 -r 1ccc476f2eb0 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Nov 03 10:40:08 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11 \ No newline at end of file