Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
boards:chipkitpi [2015/01/11 01:39] darron [Firmware update] |
boards:chipkitpi [2020/08/05 19:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
==== ChipKIT Pi ==== | ==== ChipKIT Pi ==== | ||
<wrap right> | <wrap right> | ||
- | {{: | + | {{: |
+ | \\ \\ | ||
+ | {{: | ||
</ | </ | ||
Line 7: | Line 9: | ||
It is designed to be used with the | It is designed to be used with the | ||
- | [[:boards: | + | [[:tools: |
+ | |||
+ | === RPi GPIO header == | ||
- | === RPi GPIO header (RPi-Connect) === | ||
< | < | ||
+ | RPi-Connect | ||
JP5 | JP5 | ||
+---J4---+ | +---J4---+ | ||
- | NC 01 02 GPIO0/ | + | NC 01 02 GPIO0/GPIO2/SDA |
- | GPIO1/ | + | GPIO1/GPIO3/SCL 03 04 NC |
GPIO4 | GPIO4 | ||
GPIO18 | GPIO18 | ||
Line 27: | Line 31: | ||
</ | </ | ||
- | === I/O headers | + | === PIC32 GPIO headers === |
< | < | ||
+ | Arduino 3V3 compatible | ||
JA1 | JA1 | ||
=== | === | ||
Line 52: | Line 58: | ||
</ | </ | ||
- | == LED/ | + | === LED === |
< | < | ||
LED | LED | ||
Line 61: | Line 67: | ||
RX1 | RX1 | ||
TX1 | TX1 | ||
+ | </ | ||
+ | === Switch === | ||
+ | < | ||
SW PIC32MX250F128B | SW PIC32MX250F128B | ||
== =============== | == =============== | ||
BOOTLOAD-EN | BOOTLOAD-EN | ||
RESET | RESET | ||
+ | </ | ||
+ | === JTAG === | ||
+ | < | ||
JTAG PIC32MX250128B | JTAG PIC32MX250128B | ||
==== ============== | ==== ============== | ||
Line 73: | Line 85: | ||
2 | 2 | ||
</ | </ | ||
- | Orientation is ICSP port to the left and JTAG port to the right. | ||
=== ICSP === | === ICSP === | ||
Line 87: | Line 98: | ||
ICSP is wired internally to the chipKIT Pi and no other wiring is necessary. | ICSP is wired internally to the chipKIT Pi and no other wiring is necessary. | ||
- | === Pickle Microchip PIC ICSP === | ||
- | Using [[projects: | + | === Boot loader & LED demo === |
- | it's firmware. | + | |
- | == Configuration == | + | The boot loader firmware can be updated or programmed into a blank chip using [[projects: |
- | < | + | |
- | DEVICE=RPI | + | |
- | SLEEP=1 | + | |
- | BITRULES=0x4F00 | + | |
- | VPP=4 | + | |
- | PGC=14 | + | |
- | PGD=15 | + | |
- | PGM=255 | + | |
- | </ | + | |
- | The BITRULES release | + | The process is documented on the [[: |
- | == Detect chip == | ||
- | < | ||
- | p32 id | ||
- | [1D000000] [PROGRAM] | ||
- | [1F80F220] [DEVICEID] 26600053 PIC32MX270F256B | ||
- | [1FC00000] [BOOT] | ||
- | [1FC00BF0] [DEVCFG3] | ||
- | [1FC00BF4] [DEVCFG2] | ||
- | [1FC00BF8] [DEVCFG1] | ||
- | [1FC00BFC] [DEVCFG0] | ||
- | | ||
- | </ | ||
- | [[projects: | + | === Resources |
- | + | [[https://www.element14.com/community/servlet/JiveServlet/download/63873-2-118998/chipKIT%20Pi%20Schematic.zip|Schematic]] | |
- | + | ||
- | === Firmware update | + | |
- | + | ||
- | Here we will program the firmware for a PIC32MX270F256B with a 48MHz clock. | + | |
- | + | ||
- | Install the PIC32 [[tools: | + | |
- | + | ||
- | < | + | |
- | hg clone http://hg.kewl.org/pub/chipKITPi | + | |
- | cd chipKITPi/firmware | + | |
- | make | + | |
- | p32 program CHIPKIT_PI_MX270_48.hex | + | |
- | Total: 2900 | + | |
- | p32 verify CHIPKIT_PI_MX270_48.hex | + | |
- | Total: 2900 Fail: 0 | + | |
- | cd .. | + | |
- | </code> | + | |
- | + | ||
- | === Demo === | + | |
- | Upload LED demo to flash using the bootloader firmware installed above. | + | |
- | + | ||
- | < | + | |
- | cd led | + | |
- | make | + | |
- | </code> | + | |
- | + | ||
- | Hold BOOTLOAD-EN and press RESET, release BOOTLOAD-EN. | + | |
- | < | + | |
- | kload program /dev/ttyAMA0 led.hex 24 | + | |
- | </ | + | |
- | This uploads the hex file using 24-bit addressing mode required by the AVR boot loader. |