Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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>
-{{:boards:mx270.jpg?200}}+{{:boards:mx270.jpg?200|MX270 at 48MHz}} 
 +\\ \\ 
 +{{:boards:triple.jpg?200|Prototyping board + chipKIT Pi + Pi Zero}}
 </wrap> </wrap>
  
Line 7: Line 9:
  
 It is designed to be used with the It is designed to be used with the
-[[:boards:chipkitpi:mpide|Multi-Platform Integrated Development Environment]] but this isn't a requirement.+[[:tools:mpide|Multi-Platform Integrated Development Environment]] but this isn't a requirement. 
 + 
 +=== RPi GPIO header ==
  
-=== RPi GPIO header (RPi-Connect) === 
 <code> <code>
 +RPi-Connect
                     JP5                     JP5
                 +---J4---+                 +---J4---+
-NC              01      02 GPIO0/GPIO2 +NC              01      02 GPIO0/GPIO2/SDA 
-GPIO1/GPIO3     03      04 NC+GPIO1/GPIO3/SCL 03      04 NC
 GPIO4           05      06 GND GPIO4           05      06 GND
 GPIO18          07      08 GPIO17 GPIO18          07      08 GPIO17
Line 27: Line 31:
 </code> </code>
  
-=== I/O headers (Arduino 3V3 compatible) ===+=== PIC32 GPIO headers === 
 <code> <code>
 +Arduino 3V3 compatible
                                                 JA1             PIC32MX250F128B                                                 JA1             PIC32MX250F128B
                                                 ===             ===============                                                 ===             ===============
Line 52: Line 58:
 </code> </code>
  
-== LED/SW/JTAG ==+=== LED ===
 <code> <code>
 LED             PIC32MX250F128B LED             PIC32MX250F128B
Line 61: Line 67:
 RX1             12      RA4 RX1             12      RA4
 TX1             11      RB4 TX1             11      RB4
 +</code>
  
 +=== Switch ===
 +<code>
 SW              PIC32MX250F128B SW              PIC32MX250F128B
 ==              =============== ==              ===============
 BOOTLOAD-EN     18      RB9 BOOTLOAD-EN     18      RB9
 RESET                 !MCLR RESET                 !MCLR
 +</code>
  
 +=== JTAG ===
 +<code>
 JTAG    PIC32MX250128B          JTAG    PIC32MX250128B JTAG    PIC32MX250128B          JTAG    PIC32MX250128B
 ====    ==============          ====    ============== ====    ==============          ====    ==============
Line 73: Line 85:
 2       13,28   3V3                   16      RB7     JP14 2       13,28   3V3                   16      RB7     JP14
 </code> </code>
-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:pickle|Pickle]] we can interrogate the chip and upgrade +=== Boot loader & LED demo ===
-it's firmware.+
  
-== Configuration == +The boot loader firmware can be updated or programmed into a blank chip using [[projects:pickle|Pickle]] Microchip PIC ICSP.
-<code> +
-DEVICE=RPI +
-SLEEP=1 +
-BITRULES=0x4F00 +
-VPP=4 +
-PGC=14 +
-PGD=15 +
-PGM=255 +
-</code>+
  
-The BITRULES release the RPi GPIOs after programming and return GPIO14/15 to the UART mode of operation for uploading objects to the bootloader.+The process is documented on the [[:projects:chipkit32|chipkit32]] boot loader project page which also contains information about an LED blink demo.
  
-== Detect chip == 
-<code> 
-p32 id 
-[1D000000] [PROGRAM]  00010000 WORDS 
-[1F80F220] [DEVICEID] 26600053 PIC32MX270F256B 
-[1FC00000] [BOOT]     00000300 WORDS 
-[1FC00BF0] [DEVCFG3]  0FFFFFFF 
-[1FC00BF4] [DEVCFG2]  FFF979F9 
-[1FC00BF8] [DEVCFG1]  FF6A0E5B 
-[1FC00BFC] [DEVCFG0]  7FFFFFFB 
-           [PE]       RIPE_11_000301.bin 
-</code> 
  
-[[projects:pickle#advanced_configuration|Advanced configuration]] explains how to enable the program executive (PE) to enable high speed ICSP. +=== 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:xc32|compiler]] for the RPi. +
- +
-<code> +
-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. +
- +
-<code> +
-cd led +
-make +
-</code> +
- +
-Hold BOOTLOAD-EN and press RESET, release BOOTLOAD-EN. +
-<code> +
-kload program /dev/ttyAMA0 led.hex 24 +
-</code>+
  
-This uploads the hex file using 24-bit addressing mode required by the AVR boot loader.