Chapter 9 – Firmware Upgrade Procedure
Multi-Tech Systems, Inc. Flash Programming Protocol
Important:
When interacting with the boot code, it is possible to make the modem inoperable. Use extreme caution.
1. Programming the Modem
There are two ways to start flash programming a modem. It can be programmed
1.From “AT” mode
2.When the modem powers up.
Below is an example of how a modem is programmed.
DTE | Modem | Comments |
|
|
|
AT*FS\r |
| This effectively “restarts” the modem so that it enters the |
|
| boot code. |
Handshake Sequence |
|
|
|
|
|
M’s |
| Many M’s are sent (10 milliseconds apart) at 19200 baud. |
|
| This is where the handshake starts if the modem is just |
|
| powered up. |
| U | U is sent at 19200 baud if M’s are received within 100 |
|
| milliseconds of power up. If the M’s are not received within |
|
| 100 milliseconds, then the modem starts up normally. If the |
|
| AT*FS command is used, then you have 1 second |
|
| (1000mS) to perform the handshake. |
D |
| Sent at 19200 baud. |
| M | M if can receive at 9600/19200/38400/57600/115200 |
| IJKLM | I if modem will be programmed at 9600 |
|
| J if modem will be programmed at 19200 |
|
| K if modem will be programmed at 38400 |
|
| L if modem will be programmed at 57600 |
|
| M if modem will be programmed at 115200 |
| \r\nOK\r\n | Modem is ready to be programmed |
Program Sequence: |
|
|
DTE | Modem | Comments |
|
|
|
ATFLP\r |
| Request to the modem to program |
| G | Modem is ready for next program packet |
[Length High] |
| High byte of data packet length |
[Length Low] |
| Low byte of data packet length |
|
| Packet lengths can be up to 4096 bytes in size for most boot |
|
| code versions |
[Address High] |
| High byte of program address |
[Address Middle] |
| Middle byte of program address |
[Address Low] |
| Low byte of program address |
|
| Addresses are 3 byte values with a range of 00000h- |
|
| FFFFFh |
[Data Bytes] |
| These are the data bytes to be programmed at the address |
|
| specified above. They must be the same number of bytes |
|
| as specified above. |
[Checksum] |
| This checksum is generated by exclusive ORing together all |
|
| of the Data Bytes (do not include the Length or Address |
|
| bytes in that calculation). |
| \nOK\r\n | If bytes are programmed and verified. |
| \nERROR\ | If verify fails or checksum is bad. |
| r\n | Retry the block 3 times on an ERROR. |
|
| More of the above sequence until all the data bytes have |
…. | …. | been sent to the modem. |
ATFLEND\r |
| This ends programming and restarts the modem. |
SocketModem Global MT5634SMI Developer’s Guide | 72 |