Editing Programming the Device
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | ==Requirements== | |
− | + | ===Hardware=== | |
− | + | #PC with COM port (Windows XP Installed for MPLAB) | |
− | ===Hardware | ||
− | #PC with | ||
#ICD2 Programmer | #ICD2 Programmer | ||
#Target Board | #Target Board | ||
#5V Power Supply | #5V Power Supply | ||
− | ===Software | + | ===Software=== |
− | #[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent "Devices cannot be founded" warnings. | + | #[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent "Devices cannot be founded" warnings. |
+ | #[http://chungyan5.no-ip.org/websvn/listing.php dsPicProgrammer] ('''dsPicProgrammer.jar''') | ||
===Files=== | ===Files=== | ||
− | #[http://chungyan5.no-ip.org/ | + | #[http://chungyan5.no-ip.org/websvn/listing.php dsPicBootloader] ('''bl_5011.hex'''). Original assembly code by ingenia can be downloaded from [http://www.ingenia-cat.com/download/iBL.s here]. |
+ | #Application hex file (e.g. '''app.hex''') | ||
+ | |||
− | == | + | ==Loading Bootloader (Once only)== |
{|border="1" cellspacing="0" cellpadding="5" | {|border="1" cellspacing="0" cellpadding="5" | ||
|+ Loading Bootloader | |+ Loading Bootloader | ||
Line 30: | Line 31: | ||
*Run MPLAB IDE on PC | *Run MPLAB IDE on PC | ||
*Select: Configure>Select Devices... | *Select: Configure>Select Devices... | ||
− | *Choose | + | *Choose dsPIC30F5011 |
|-valign="top" | |-valign="top" | ||
− | | | + | | Target <-> ICD 2 || |
− | * | + | *Use six pin cable. Beware of the pin assignments. Only pin 1 - 5 should be used. |
− | * | + | *Place Jumper on target board (if any). The Jumper connects target V<sub>cc</sub> to ICD 2. |
+ | *Do '''NOT''' power-up the target. | ||
|-valign="top" | |-valign="top" | ||
| ICD 2 <-> PC || | | ICD 2 <-> PC || | ||
*Plug-in ICD 2 to PC via USB cable | *Plug-in ICD 2 to PC via USB cable | ||
− | |||
− | |||
− | |||
*Power-up the target. | *Power-up the target. | ||
− | |||
− | |||
*Select: Programmer>Select Programmer>MPLAB ICD 2 | *Select: Programmer>Select Programmer>MPLAB ICD 2 | ||
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished | *If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished | ||
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests. | *If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests. | ||
*See results of self test if necessary: Programmer>Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7. | *See results of self test if necessary: Programmer>Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7. | ||
+ | |-valign="top" | ||
+ | | Load Bootloader || | ||
+ | *Select: File>Import... | ||
+ | *Select '''bl_5011.hex''' | ||
|-valign="top" | |-valign="top" | ||
| Start Programming || | | Start Programming || | ||
*Select: Programmer>Program | *Select: Programmer>Program | ||
− | |||
|-valign="top" | |-valign="top" | ||
| Finishing || | | Finishing || | ||
− | *Power-down the | + | *Power-down the Taget |
*Select: Programmer>Select Programmer>None | *Select: Programmer>Select Programmer>None | ||
*Unplug USB cable | *Unplug USB cable | ||
Line 60: | Line 60: | ||
|} | |} | ||
+ | ==Hardware Setting== | ||
+ | [[Image:DSC00921.JPG]] | ||
+ | *Connect your usb to rs232 cable to your computer | ||
+ | *Or Using a real RS232 Port -- COM PORT | ||
==Download and Loading Firmware== | ==Download and Loading Firmware== | ||
− | === | + | ===Windows Vista=== |
− | + | [[Image:1.jpg]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[Image:1.jpg | ||
*Go to Control Panel \ Device Manager | *Go to Control Panel \ Device Manager | ||
+ | [[Image:2.jpg]] | ||
+ | *Find out your Device comm port Number | ||
− | + | [[Image:3.jpg]] | |
− | [[Image: | + | *Open a command prompt |
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | [[Image:4.jpg]] | ||
+ | *Run dsPicProgrammer | ||
+ | **Input cd Desktop\dsPic_production\dsPicProgrammer | ||
− | + | [[Image:5.jpg]] | |
− | [[Image: | + | *Loading Firmware |
− | * | + | **Input jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM1 115200 ./firmware/foo.hex |
− | * | + | **eg. jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM9 115200 ./firmware/8072303.hex |
− | ::115200 is communication speed [in bps] | + | :::where COM9 is your COM Port ID |
− | + | :::115200 is communication speed [in bps] | |
+ | :::foo.hex is your firmware new file | ||
− | + | [[Image:6.jpg]] | |
− | [[Image: | + | *Enter Y to comfirm |
− | * | ||
+ | [[Image:2 6 complete.JPG]] | ||
+ | :*Wait until programming is completed. | ||
+ | :*after all completed, power OFF your device, then power ON again, enjoy your new updated. | ||
− | |||
− | |||
− | |||
− | |||
+ | ===Windows XP=== | ||
+ | *If the RS232 converter hardware required, pls go there [[RS232_RS485_USB_Converter_Board]] for RS232 converter only | ||
+ | *Download [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer1.5.5.zip dsPic_Programmer.zip], [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/ws/ updated directory] or [http://chungyan5.no-ip.org/vc svn server] | ||
+ | *Save to a directory. | ||
+ | ::e.g. desktop | ||
+ | *Unzip the dsPic_Programmer.zip, then you have an unziped file. | ||
+ | [[Image:prog_guid_dl.JPG]] | ||
---- | ---- | ||
− | |||
− | |||
+ | *Drag the unzip file to a director. | ||
+ | ::eg. USB memory devics | ||
+ | [[Image:prog_guid_drag.JPG]] | ||
---- | ---- | ||
− | |||
− | |||
− | --- | + | *Save your .hex file(foo.hex) to your directory location |
− | === | + | ::e.g. X:\dsPic_Programmer\ ---> X:\ is the driver where the dsPic_Programmer located |
− | + | [[Image:prog_guid_hex.JPG]] | |
− | * | + | ===Download Firmware=== |
− | * | + | *Start a Command Prompt |
− | + | **Start -> Run<br>[[Image:2 1 run.JPG]]<br> | |
− | + | **Enter cmd<br>[[Image:2 2 cmd.JPG]]<br> | |
− | + | *Run dsPicProgrammer | |
− | + | **Make sure your device is connected through a "Direct RS232 Cable" to PC Serial Port. | |
− | * | + | **Change to the directory where dsPicProgrammer.jar is located and run the command: |
− | + | ***for example, jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM1 115200 foo.hex | |
− | * | + | ***Or directly using dsPicProgrammer.bat COM1 115200 foo.hex(Windows) |
− | + | ***java -jar dsPicProgrammer.jar /dev/ttyS0 115200 foo.hex (Linux) | |
− | + | :::where COM1 is your COM Port ID | |
− | + | :::115200 is communication speed [in bps] | |
− | + | :::foo.hex is your firmware new file | |
− | + | ::[[Image:2 3 command.JPG]] | |
− | + | :*When the program prompt you for an input, press y:<br>[[Image:2 4 prompt.JPG]]<br> | |
− | + | :*If communication can be established, you should see something like this:<br>[[Image:2 5 progress.JPG]]<br> | |
− | + | :*Wait until programming is completed.<br>[[Image:2 6 complete.JPG]]<br> | |
+ | :*after all completed, power OFF your device, then power ON again, enjoy your new updated. | ||
− | * [[ | + | ==Troubleshooting== |
+ | ===Invalid COM Port=== | ||
+ | *In case of selecting an invalid COM port, you should see the error message:<br>gnu.io.NoSuchPortException: Choosing COM Port Error<br>[[Image:3 1 com err.JPG]]<br><br> | ||
+ | ===Missing firmware file=== | ||
+ | *In case of selecting a firmware file that does not exist, you should see the error message:<br>java.io.FileNotFoundException: foo1.hex <The system cannot find the file specified><br>[[Image:3 2 file err.JPG]]<br><br> | ||
+ | ===Missing RXTX driver=== | ||
+ | *In case of missing the RXTX driver, you should see the error message:<br>Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException<br>[[Image:3 3 rxtx err.JPG]]<br><br> |