1.1 --- a/README.txt Fri Nov 09 01:08:41 2018 +0100
1.2 +++ b/README.txt Fri Nov 09 20:42:33 2018 +0100
1.3 @@ -1,5 +1,5 @@
1.4 Introduction
1.5 -------------
1.6 +============
1.7
1.8 The CommonPIC32 distribution contains library code and examples demonstrating
1.9 various features and applications of MIPS-based products in the PIC32
1.10 @@ -15,8 +15,26 @@
1.11 vga-pmp documentation describing its approach, benefits and limitations,
1.12 vga-timer but a summary is provided below.
1.13
1.14 +To build each example, run a command of the following form in the top-level
1.15 +directory of this distribution:
1.16 +
1.17 +make -C examples/demo
1.18 +
1.19 +Here, the demo example is built.
1.20 +
1.21 +Although it should be possible to build different examples without cleaning
1.22 +previous build artefacts, it can be useful to run a command of the following
1.23 +form to start again with no build products:
1.24 +
1.25 +make -C examples/demo clean
1.26 +
1.27 +Deploying the software requires a suitable method of programming a PIC32
1.28 +microcontroller. This is described below in the ICSP programming section.
1.29 +
1.30 +
1.31 +
1.32 Contact, Copyright and Licence Information
1.33 -------------------------------------------
1.34 +==========================================
1.35
1.36 The author can be contacted at the following e-mail address:
1.37
1.38 @@ -25,8 +43,66 @@
1.39 Copyright and licence information can be found in the docs directory - see
1.40 docs/COPYING.txt and docs/gpl-3.0.txt for more information.
1.41
1.42 +
1.43 +
1.44 +Breadboard Circuit
1.45 +==================
1.46 +
1.47 +In order to be programmed and to function normally, the device needs to be
1.48 +deployed in a circuit configured as follows:
1.49 +
1.50 +PIC32MX270F256B-50I/SP
1.51 +----------------------
1.52 +MCLR# 3.3V (via 10K pull-up resistor)
1.53 +VSS GND
1.54 +VDD 3.3V
1.55 +VSS GND
1.56 +VCAP GND (via 10µF capacitor)
1.57 +VUSB3V3 3.3V
1.58 +AVSS GND
1.59 +AVDD 3.3V
1.60 +
1.61 +"Figure 2-1: Recommended Minimum Connection" from the "PIC32MX1XX/2XX
1.62 +28/36/44-pin Family Data Sheet" stipulates additional 0.1µF ceramic capacitors
1.63 +between VDD and VSS and between AVDD and AVSS.
1.64 +
1.65 +
1.66 +
1.67 +ICSP Programming Circuit
1.68 +========================
1.69 +
1.70 +To avoid limitations with JTAG programming and being unable to enable
1.71 +JTAG-associated pins for other uses, the ICSP mechanism needs to be employed
1.72 +instead. The circuit should resemble the following:
1.73 +
1.74 +PIC32MX270F256B-50I/SP Arduino
1.75 +---------------------- -------
1.76 +MCLR# A0
1.77 +PGEC1/PGEC2 A2 (pulled up via 2K2 resistor to 3.3V)
1.78 +PGED1/PGED2 A1 (via 220ohm resistor, then pulled up via 2K2
1.79 + resistor to 3.3V)
1.80 +
1.81 +The pull-up from MCLR# to VDD can apparently be left in place.
1.82 +
1.83 +The Pickle and Nanu Nanu software are used for programming:
1.84 +
1.85 +https://wiki.kewl.org/dokuwiki/projects:pickle
1.86 +https://wiki.kewl.org/dokuwiki/projects:nanu-nanu
1.87 +
1.88 +Nanu Nanu can be deployed in the 5V-16M configuration on an Arduino
1.89 +Duemilanove with an "open drain" or "sink" circuit as described above. Then,
1.90 +the pload program provided by Pickle can be used to write the appropriate .hex
1.91 +file as in the following example (probably as a privileged user):
1.92 +
1.93 +./pload program /dev/ttyUSB0 examples/demo/demo.hex
1.94 +
1.95 +Note that the Pickle configuration file (~/.pickle or ~/.pickle/config) will
1.96 +need to have the port and baudrate settings defined.
1.97 +
1.98 +
1.99 +
1.100 VGA Output Example Comparison
1.101 ------------------------------
1.102 +=============================
1.103
1.104 In investigating different techniques, the following observations have been
1.105 made about the behaviour of the different VGA examples:
1.106 @@ -55,3 +131,12 @@
1.107 stability under load, and provide operational horizontal scrolling. These
1.108 approaches provide a tradeoff between performance (vga-timer being faster) and
1.109 resolution (vga-cpu being better).
1.110 +
1.111 +
1.112 +
1.113 +References
1.114 +==========
1.115 +
1.116 +Basic PIC32 breadboard circuit:
1.117 +
1.118 +http://umassamherstm5.org/tech-tutorials/pic32-tutorials/pic32mx220-tutorials/pic32mx220-breadboard