| ||
Shopping Cart Download Website |
Home | Products | Teensy | Blog | Forum |
You are here: MP3 Player Detailed Info Upgrade Instructions |
|
Firmare Upgrade Using Hyperterminal
Establish Serial CommunicationYou will need to connect the MP3 player to your comptuer's serial port. A standard "straight through" cable should be used. Do not use a null-modem cable. You can plug the player into your serial port "live". It's not necessary to turn off the computer or player. Usually you could start the terminal emulation program, then turn on the board, so that you'd see its start-up message, as shown below.You will need to use a terminal emulation program to communicate with the MP3 player. Nearly any standard terminal emulation program may be used. Hyperterminal, which comes standard with Microsoft Windows will work (but many versions of Hyperterminal are slow, so you might want to try Tera Term if you have a slow Hyperterminal). Linux users may install "seyon" for X11, or use "minicom". The serial communication parameters must be set for 19200 baud, 8 bits, no parity, 1 stop bit, and no flow control. Here are some screenshots showing how to set up Hyperterminal, which is included with Microsoft Windows. Usually Hyperterminal is located in the Programs / Accessories group. When running it for the first time, it may ask you if you want to install a modem. Even though is says you need to install a modem, you in fact do not need to do this, so just press "No", and cancel any additional setup dialog boxes until you just have the main Hyperterminal window showing. The first step is to bring up the properties window. This can be done by clicking the properties button in the toolbar (as shown), or by selecting "Properties" from the "File" menu.
The next step is to select your serial port, in the "Connect using:" field, as shown. Then click the "Configure" button to set up the serial port parameters.
The last step is to set Hyperterminal's setting to match the settings required by the MP3 player board. Use 19200 baud, 8 bits, no parity, 1 stop bit, and no flow control. It is important to select "None". Using "Hardware" or "Xon / Xoff" are likely to cause problems, if they work at all.
When the board is turned on, it will transmit a welcome message, shown in the next step. Get To The "PAULMON2_MP3" PromptWhen the player boots up, it will send this welcome message.
In this example, the S key was pressed as soon as the message appeared, and the MP3 player application was not automatically run. There is only 1/2 second available to press "S", so you'll need to be quick to abort automatic startup. In most cases, it's not necessary to be quick with the S key, you can just let the MP3 player application start up and type QUIT while it's running. The instant you press the T it should stop, put the disk drive into sleep mode, and return you to the PAULMON2_MP3 prompt. Here's an example where QUIT was typed while the player was running:
Erase the Flash ROMOnce you're at the prompt, erasing the flash memory is simple. Just press Z, and press Y when asked if you're sure you want to erase the memory. Erasure usually takes about 2 seconds. If your board has a flash enable jumper (only early Rev A boards), the jumper must be installed to allow erasing and writing to the flash memory.
Rev A: If you are unable to erase the flash, check the "FLASH EN" jumper located just below the 74HC165 chip. This jumper must be shorted to enable changes to the flash rom. There is no jumper on Rev B and Rev C boards, so they are always enabled for writing.
Send The New Firmware HEX FileNow you're ready to program the new firmware into the player. The downloadable firmware image is encoded in a file format called Intel-Hex. It's an ASCII-only format, with a checksum on each line. If an error occurs in the transmission or in programming the flash memory, you'll get a notice about it at the end of the download.Just begin sending the file to the serial port, using the terminal emulation software to transmit the contents of the file. This is not a file transfer protocol (such as xmodem). You must send the file directly without any protocol. The board can receive at the maximum possible data rate, so it is not necessary to add delay (often called pacing). To transmit the file in Hyperterminal, use "Send Text File..." from the "Transfer" menu.
At the beginning of the download, PAULMON2 will print a carrot ^ to indicate that the download has begun, and a dot as it receives each new line of data.
The download process takes approximately 2 minutes for firmware revision 0.6.10. Some terminal emulators have options to add additional delays while tranmitting text, which are unnecessary and only serve to make the download much slower. If your terminal emulation software updates its window during the transfer (Hyperterminal does) you'll see a steady stream of dots as the data is sent. At the end, you'll see a summary from the board. Make sure it says "No errors detected". If there were errors, try erasing the flash rom and downloading again. RebootOnce you've sucessfully downloaded the firmware, all you need to do is reboot the player to run the new code. You can also cause the equivilant of a reboot by pressing J and then typing four zeros 0000, as shown here:
Tera Term - A Better Windows-Based Terminal EmulatorTera Term Pro is a free Windows-based terminal emulator with much better performance than Hyperterminal. If your firmware download takes more than 2-3 minutes using Hyperterminal, you should upgrade to Tera Term (or upgrade to Linux!).Michael J. Pounders provided this Tera Term script to automate the firmware upgrade. Fast Flash DownloadRev C MP3 player boards made after May 11, 2002 include a Fast Flash Download that can download the entire firmware image in just 7 to 10 seconds! Using this new download is somewhat more complex than the slower intel-hex described on this page, so we suggest you try the fast download only after you have done the original intel-hex download successfully. |