==== Majenko SDXL ====
{{:boards:sdxl.jpg?200|Standalone}}
\\ \\
{{:boards:sdxl-icsp.jpg?200|AD 12 Solderless Breadboard}}
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 [[tools:retrobsd|RetroBSD]].
Since this is such a large device I chose to mount it adjacent to a solder-less breadboard
rather than acquire a breadboard capable of housing it. This is something to
consider before attaching the headers.
It must be pointed out that the PIC32MX795F512H only has a guaranteed cell endurance of 1000 erase/write cycles. It's hard to recommend this device for development work.
=== Pinout ===
+-----------MINI-USB------------+
5V VIN
GND GND
3V3P 3V3
0 RD8 RF5 29-TX TX2
RX4 1 RD9 RF4 28-RX RX2
2 RD10 RB15 A0
3 RD11 RB14 A1 TX5
4 RD0 RB13 A2
5 RC13 RB12 A3
6 RC14 RB11 A4
TX4 7 RD1 RB10 A5
RX1 8-RX RD2 RB9 A6
TX1 9-TX RD3 RB8 A7 RX5
10 RD4 RB6 A8 PGC
11 RD5 RB7 A9 PGD
12 RD6 GND VSS
13 RD7 3V3 VDD
14 RF0 !MCLR RST VPP
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 RX6
21 RE5 G E RG8 26-SDO TX3
22 RE6 T RG7 25-SDI RX3
LED 23 RE7 RG6 24-SCK TX6
GND GND
+-----------MICRO-SD------------+
PROG RB5
CTRL RC15
=== Pickle Microchip PIC ICSP ===
Using [[:projects:pickle|Pickle]] on a [[:boards:rpi|Raspberry Pi]] we may perform ICSP (see either photo).
== Configuration ==
The device configuration will vary depending on what version of a [[boards:rpi|RPi]] you have, here is an example for my [[:boards:rpi|RPi]] 2B (see bottom photo).
DEVICE=RPI2
SLEEP=2
BITRULES=0x1000
VPP=26
PGC=19
PGD=13
PGM=-1
== Program Executive ==
It is a good idea to fetch the programming executive for this device which is the following.
RIPE_06_000201.hex
See [[projects:pickle#advanced_configuration|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 [[:tools:xc32|MPIDE]] compiler and the build process is documented [[:projects:chipkit32|here]].
Here we program the loader then verify it.
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 which is the default used by this device.
/* 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
=== Resources ===
[[http://doc.majenko.co.uk/ds/DS1183.pdf|Manual]]