This is an old revision of the document!
Table of Contents
Majenko SDXL
This is a clone of the TCHIP010 Fubarino SD 1.5 from Microchip with a PIC32MX795F512H processor and micro SD card slot.
A popular use of this board and the original is to run RetroBSD.
Since this is such a large device I chose to mount it adjacent to a bread-board rather than acquire a breadboard capable of housing it. This is something to consider before soldering the headers.
Pinout
+-----------MINI-USB------------+ 5V VIN GND GND 3V3P 3V3 0 RD8 RF5 29-TX 1 RD9 RF4 28-RX 2 RD10 RB15 A0 3 RD11 RB14 A1 4 RD0 RB13 A2 5 RC13 RB12 A3 6 RC14 RB11 A4 7 RD1 RB10 A5 8-RX RD2 RB9 A6 ICSP RPi 9-TX RD3 RB8 A7 ---- --- 10 RD4 RB6 A8 PGC 470R GPIO10 11 RD5 RB7 A9 PGD 470R GPIO11 12 RD6 GND VSS GND 13 RD7 3V3 VDD 14 RF0 !MCLR RST VPP 470R GPIO9 15 RF1 RB0 A10 16 RE0 RB1 A11 17 RE1 RB2 A12 18 RE2 P R RB3 A13 19 RE3 R E RB4 A14 20 RE4 O S RG9 27-SS 21 RE5 G E RG8 26-SDO 22 RE6 T RG7 25-SDI LED 23 RE7 RG6 24-SCK GND GND +-----------MICRO-SD------------+ PROG RB5 CTRL RC15
Pickle Microchip PIC ICSP
Using Pickle on a Raspberry Pi we may perform ICSP (see either photo).
Configuration
The device configuration will vary depending on what version of a RPi you have, here is an example for my RPi 2B (see bottom photo).
DEVICE=RPI2 SLEEP=2 BITRULES=0x1000 VPP=26 PGC=19 PGD=13 PGM=255
Program Executive
It is a good idea to fetch the programming executive for this device which is the following.
RIPE_06_000201.hex
See this for more information about installing the PE.
Test
Testing ICSP by querying the device identify will produce something similar to this.
p32 i [1D000000] [PROGRAM] 00020000 WORDS [1F80F220] [DEVICEID] 5430E053 PIC32MX795F512H [1FC00000] [BOOT] 00000C00 WORDS [1FC02FF0] [DEVCFG3] 3FFFFFFF [1FC02FF4] [DEVCFG2] FFF879D9 [1FC02FF8] [DEVCFG1] FF6A0C5B [1FC02FFC] [DEVCFG0] 7FFFFFFF [PE] RIPE_06_000201.hex
Boot loader
USB boot loader firmware can be built with the MPIDE compiler and the build process is documented here.
p32 program firmware/MAJENKO_SDXL.hex Total: 5648 Time: 0:00.60s p32 verify firmware/MAJENKO_SDXL.hex Total: 5648 Fail: 0 Time: 0:00.47s
Standalone
If you program this board without a boot loader you can use the following configuration.
/* DEVCFG3 */ #pragma config FVBUSONIO = OFF #pragma config FUSBIDIO = OFF #pragma config FCANIO = ON #pragma config FETHIO = ON #pragma config FMIIEN = ON #pragma config FSRSSEL = PRIORITY_7 #pragma config USERID = 0x0000 /* DEVCFG2 */ #pragma config FPLLODIV = DIV_1 #pragma config UPLLEN = ON #pragma config UPLLIDIV = DIV_2 #pragma config FPLLMUL = MUL_20 #pragma config FPLLIDIV = DIV_2 /* DEVCFG1 */ #pragma config FWDTEN = OFF #pragma config WDTPS = PS1024 #pragma config FCKSM = CSECME #pragma config FPBDIV = DIV_1 #pragma config OSCIOFNC = OFF #pragma config POSCMOD = EC #pragma config IESO = OFF #pragma config FSOSCEN = OFF #pragma config FNOSC = PRIPLL /* DEVCFG0 */ #pragma config CP = OFF #pragma config BWP = OFF #pragma config PWP = OFF #pragma config ICESEL = ICS_PGx2 #pragma config DEBUG = OFF