Editing PIC Programmers, In Circuit Programming and BootLoaders
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 2: | Line 2: | ||
− | In the PIC world programming may mean either writing the program by a human being or writing the hex file from the compiled ( assembled ) program into the PIC chip. This page concenrns the | + | In the PIC world programming may mean either writing the program by a human being or writing the hex file from the compiled ( assembled ) program into the PIC chip. This page concenrns the former. |
== Overview == | == Overview == | ||
Line 24: | Line 24: | ||
|-valign="top" | |-valign="top" | ||
|In Circuit Programming | |In Circuit Programming | ||
− | | | + | | |
− | |Not all chips can be used with In Circuit Programming. | + | |Not all chips can be used with In Circuit Programming. |
<!--------------------------------> | <!--------------------------------> | ||
|-valign="top" | |-valign="top" | ||
Line 52: | Line 52: | ||
* Need to remove PIC from its circuit and put in the programmer's socket. | * Need to remove PIC from its circuit and put in the programmer's socket. | ||
* Extra cost for the programmer. | * Extra cost for the programmer. | ||
− | |||
− | |||
− | |||
== In Circuit Programming == | == In Circuit Programming == | ||
Line 61: | Line 58: | ||
* Do not need to remove chip from the PIC circuit. | * Do not need to remove chip from the PIC circuit. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Disadvantages | Disadvantages | ||
Line 76: | Line 65: | ||
== Serial Bootloaders == | == Serial Bootloaders == | ||
− | + | With a Serial Bootloaders there are two software components ( in addition to the hardware serial connection ) the Bootloader utility running on the PC and the PIC bootloader on the PIC. If you program is going to use a serial interface any way ( even if just for debugging ) this can be a very nice way of programming, you do not have to move one bit of hardware to go from programming to running to programming to ....... | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | With a Serial Bootloaders there are two software components ( in addition to the hardware serial connection ) the Bootloader utility running on the PC and the PIC bootloader on the PIC. If you program is going to use a serial interface any way ( even if just for debugging ) this can be a very nice way of programming, you do not have to move one bit of hardware to go from programming to running to programming to ...... | ||
The PIC bootloader must be configured for the target chip and the configuration of the PIC, generally speaking the user program must share the configuration of the bootloader as the bootloading process does not change the configuration. Because of this bootloaders are often distributed in source code form ( usually asm ) so that you can tweak the code and assemble it for yourself. Often there will be several pre-built hex files and one of these may or may not work for you. Once you have the right bootloader you use a Hardware Programmer to write the bootloader to the PIC for hopefully the first and last time ( a badly behaved program can destroy the bootloader requiring a reload ). | The PIC bootloader must be configured for the target chip and the configuration of the PIC, generally speaking the user program must share the configuration of the bootloader as the bootloading process does not change the configuration. Because of this bootloaders are often distributed in source code form ( usually asm ) so that you can tweak the code and assemble it for yourself. Often there will be several pre-built hex files and one of these may or may not work for you. Once you have the right bootloader you use a Hardware Programmer to write the bootloader to the PIC for hopefully the first and last time ( a badly behaved program can destroy the bootloader requiring a reload ). | ||
Line 97: | Line 71: | ||
In some cases you may buy a chip that already contains the bootloader -- this can save a certain amount of work. | In some cases you may buy a chip that already contains the bootloader -- this can save a certain amount of work. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Tested tool chains for Serial Bootloaders -- if you Chip/Hardware is close this might be a good place to start. | Tested tool chains for Serial Bootloaders -- if you Chip/Hardware is close this might be a good place to start. | ||
Line 253: | Line 84: | ||
|Chip/Hardware | |Chip/Hardware | ||
|Tool Chain | |Tool Chain | ||
− | | | + | |Comment |
<!--------------------------------> | <!--------------------------------> | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |x |
− | + | |x | |
− | + | |y | |
− | | | ||
− | |||
− | |||
− | |||
− | | | ||
<!--------------------------------> | <!--------------------------------> | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |what |
− | + | |[[]] | |
− | + | |Comment | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |[ | ||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 302: | Line 101: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
[[category:Microcontroller]][[category:PIC]] | [[category:Microcontroller]][[category:PIC]] |