This is an automated email from the ASF dual-hosted git repository.

simbit18 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 56112efbd3f5027dda1cf8498c94f8e3b311e80a
Author: Matteo Golin <[email protected]>
AuthorDate: Sat Feb 14 14:41:53 2026 -0500

    docs/pic32mz-starterkit: Migrate README.txt to RST
    
    Migrate legacy README.txt to RST format.
    
    Signed-off-by: Matteo Golin <[email protected]>
---
 .../pic32mz/boards/pic32mz-starterkit/README.txt   | 422 ---------------------
 .../pic32mz/boards/pic32mz-starterkit/index.rst    | 414 +++++++++++++++++++-
 2 files changed, 409 insertions(+), 427 deletions(-)

diff --git 
a/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/README.txt 
b/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/README.txt
deleted file mode 100644
index f8fb5e487f6..00000000000
--- a/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/README.txt
+++ /dev/null
@@ -1,422 +0,0 @@
-boards/pic32mz-starterkit README
-===============================
-
-This README file discusses the port of NuttX to the Microchip PIC32MZ
-Embedded Connectivity (EC) Starter Kit.
-
-Contents
-========
-
-  Port Status
-  Board Overview
-  On Board Debug Support
-  Creating Compatible NuttX HEX files
-  Tool Issues
-  Serial Console
-  LEDs
-  Configurations
-
-Port Status
-===========
-
-  As of this writing (2015-03-01), the basic port is complete including
-  minimal support for the NuttShell (NSH) over UART1.  No testing has yet
-  been performed due to seemingly insurmountable debug problems:
-
-  Thusfar, no one has been successful using NuttX with MPLABX.  All
-  debug is being performed using a J-Link debugger via some custom
-  interconnect boards.
-
-  Patches were provided by Kristopher Tate on 2015-03-21 that support the
-  serial console with the NuttShell, completing the basic bring-up.
-
-Board Overview
-==============
-
-There are two configurations of the Microchip PIC32MZ Embedded Connectivity
-(EC) Starter Kit:
-
-  1) The PIC32MZ Embedded Connectivity Starter Kit based on the
-     PIC32MZ2048ECH144-I/PH chip (DM320006), and
-  2) The PIC32MZ Embedded Connectivity Starter Kit based on the
-     PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C)
-
-See www.microchip.com for further information.
-
-Key features of the PIC32MZ Starter Kit include;
-
-  * On-board crystal or oscillator for precision microcontroller clocking
-    (24 MHz).
-  * 32 kHz oscillator for RTCC and Timer1 (optional).
-  * Three push button switches for user-defined inputs.
-  * Three user-defined indicator LEDs.
-  * USB Type A receptacle connectivity for PIC32 host-based applications.
-  * USB Type micro-AB receptacle for OTG and USB device connectivity for
-    PIC32 OTG/device-based applications.
-  * Daughter board connectors for flexible Ethernet PHY options.
-  * 50 MHz Ethernet PHY oscillator.
-  * External 4 GB SQI memory for expanded memory applications.
-  * PIC24FJ256GB106 USB microcontroller for on-board debugging.
-  * USB connectivity for on-board debugger communications.
-  * Regulated +3.3V power supply for powering the starter kit through USB or
-    expansion board.
-  * Connector for various expansion boards.
-
-The PIC32MZ starter kit comes complete with a LAN8740 PHY daughter board.
-
-Testing was performed with the following additional hardware:
-
-- Microchip PIC32MZ Embedded Connectivity (EC) Adapter Board (AC320006)
-  that allows connection of the PIC32MZEC Starter Kit to the Microchip
-  Multimedia Expansion Board (MEB, DM320005) or PIC32 I/O Expansion Board
-  (DM320002).  These were previously used with the PIC32MX bringup.
-- Microchip Multimedia Expansion Board II (MEB II,  DM320005-2).
-
-On Board Debug Support
-======================
-
-  The starter kit includes a PIC24FJ256GB106 USB microcontroller that
-  provides debugger connectivity over USB. The PIC24FJ256GB106 is hard-wired
-  to the PIC32 device to provide protocol translation through the I/O pins
-  of the PIC24FJ256GB106 to the ICSP™ pins of the PIC32 device.
-
-  If MPLAB® REAL ICE™ or MPLAB ICD 3 is used with the starter kit,
-  disconnect the onboard debugger from the PIC32 device by removing the
-  jumper JP2. When the on-board debugger is required, replace the jumper
-  JP2. When the jumper JP2 is installed, pin 1 must be connected to pin 3
-  and pin 2 must be connected to pin 4.
-
-Creating Compatible NuttX HEX files
-===================================
-
-  Intel Hex Format Files:
-  -----------------------
-
-    When NuttX is built it will produce two files in the top-level NuttX
-    directory:
-
-    1) nuttx - This is an ELF file, and
-    2) nuttx.hex - This is an Intel Hex format file.  This is controlled by
-       the setting CONFIG_INTELHEX_BINARY in the .config file.
-
-    The PICkit tool wants an Intel Hex format file to burn into FLASH. However,
-    there is a problem with the generated nutt.hex: The tool expects the 
nuttx.hex
-    file to contain physical addresses.  But the nuttx.hex file generated from 
the
-    top-level make will have address in the KSEG0 and KSEG1 regions.
-
-  tools/pic32/mkpichex:
-  ----------------------
-
-    There is a simple tool in the NuttX tools/pic32 directory that can be
-    used to solve both issues with the nuttx.hex file.  But, first, you must
-    build the tool:
-
-      cd tools/pic32
-      make -f Makefile.host
-
-    Now you will have an executable file called mkpichex (or mkpichex.exe on
-    Cygwin).  This program will take the nutt.hex file as an input, it will
-    convert all of the KSEG0 and KSEG1 addresses to physical address, and
-    it will write the modified file, replacing the original nuttx.hex.
-
-    To use this file, you need to do the following things:
-
-      export PATH=???  # Add the NuttX tools/pic32 directory to your
-                       # PATH variable
-      make             # Build nuttx and nuttx.hex
-      mkpichex $PWD    #  Convert addresses in nuttx.hex.  $PWD is the path
-                       # to the top-level build directory.  It is the only
-                       # required input to mkpichex.
-
-      This procedure is automatically performed at the end of a build.
-
-Tool Issues
-===========
-
-  Pinquino Toolchain
-  ------------------
-  If you use the Pinguino toolchain, you will probably see this error:
-
-  C:\pinguino-11\compilers\p32\bin\p32-ld.exe: target elf32-tradlittlemips not 
found
-
-  This is due to linker differences in the toolchains.  The linker script
-  at boards/pic32mz-starterkit has:
-
-    OUTPUT_FORMAT("elf32-tradlittlemips")
-
-  This error can be eliminated with the Pinguino toolchain by changing this to:
-
-    OUTPUT_FORMAT("elf32-littlemips")
-
-  Mentor Toolchain
-  ----------------
-
-    https://sourcery.mentor.com/GNUToolchain/release2934 tools.
-
-  If you use this toolchain, you will need to add CROSSDEV=mips-sde-elf- to
-  your Make.defs file.
-
-  ICD3
-  ----
-  The onboard debugger is Slow and one is better off using an ICD3. By removing
-  jumper JP2, I can disable the on-board OpenHCD debugger an enable the RJ11
-  debug connector.  My ICD 3 does seems to work properly using this 
configuration,
-  at least in the sense that it is recognized by both MPLABX IDE and IPE.
-
-  Segger J-Link
-  -------------
-  If using a Jlink that only these versions work with PIC32:
-
-    J-Link BASE / EDU V9 or later
-    J-Link ULTRA+ / PRO V4 or later
-
-  Oddly, you must use the G version in the command:
-
-    JLinkGDBServer  -device PIC32MZ2048ECG144 -if 2-wire-JTAG-PIC32 -speed 
12000
-
-    Even though we have PIC32MZ2048ECM144 parts on our board. (JLinkGDBServer
-    will except anything and just mess up your weekend)
-
-Serial Console
-==============
-
-  MEB-II
-  ------
-  By default, the UART1 is configured for the pins used by the MEB-II
-  board.  The UART1 signals are available at the MEB-II PICTail
-  connector:
-
-    --------------- --------- -------------- ------------
-    PIC32MZ PIN     CONNECTOR MEB-II PIN     PICTAIL PIN
-    FUNCTION        J1        NAME           J2
-    --------------- --------- -------------- ------------
-    RPA14/SCL1/RA14 124       SCL1/TOUCH_SCL 4
-    RPA15/SDA1/RA15 126       SDA1/TOUCH_SDA 6
-                              +3.3V          1,26
-                              GND            28
-    --------------- --------- -------------- ------------
-
-  This pin selection is controlled by these definitions in
-  pic32mz-starterkit/include/board.h:
-
-    #define BOARD_U1RX_PPS  U1RXR_RPA14
-    #define BOARD_U1TX_PPS  U1TX_RPA15R
-
-  PIC32MX I/O Expansion Board with Adapter Board
-  ------------------------------------------
-  If the MEB-II UART configuration when used with the I/O Expansion board
-  (with the adapter), then UART will be on J11 with Pin 35 being U1RX (into
-  MZ) and Pin 37 being TU1X (out of MZ).
-
-  Directly from the Adapter Board
-  -------------------------------
-  But you can get serial port directly from the PIC32MZ Embedded
-  Connectivity (EC) Adapter Board (AC320006).  The Microchip
-  adapter board brings out UART signals as follows:
-
-  JP7 redirects J1 U3_TX to either J2 SOSCO/RC14 or U1_TX:
-
-    Adapter
-    -----------------------------------------------------------------------
-    JP7, Pin 1: J2 Pin 32, SOSCO/RC14
-         Pin 2: J1 Pin 17, U3_TX
-         Pin 3: J2 Pin 90, U1_TX
-
-    PIC32MZ Starter Kit
-    -----------------------------------------------------------------------
-                J1 Pin 17, SOSCO/RC14  PIC32MZ SOSCO/RPC14/T1CK/RC14
-
-    RPC14 supports U1RX, U4RX, and U3TX
-
-  JP8 redirects J1 RB3/AN3/SDO4/WIFI_SDI to either J2 AN3/SDO4/WIFI_SDI or 
U3_RX:
-
-    Adapter                                        PIC32MZ Starter Kit
-    ---------------------------------------------- -------------------------
-    JP8, Pin 1: J2, Pin 66,  AN3/SDO4/WIFI_SDI
-         Pin 2: J1, Pin 105, RB3/AN3/SDO4/WIFI_SDI
-         Pin 3: J2, Pin 88,  U3_RX
-
-    PIC32MZ Starter Kit
-    -----------------------------------------------------------------------
-                J1, Pin 105, AN3/C2INA/RPB3/RB3
-
-    RPB3 supports U3RX, U1TX, and U5TX
-
-  Thus UART1 or UART3 could be used as a serial console if only the
-  PIC32MZEC Adapter Board is connected.
-
-  The default serial configuration here in these configurations is UART1
-  using RPC14 and RPB3.  That UART selection can be change by running 'make
-  menuconfig'.  The UART pin selections would need to be changed by editing
-  boards/pc32mz-starterkit/include/board.h.
-
-  If using a AC320006 by itself, JP7 pin 2 and JP8 pin 2 is where you would
-  connect a 3.3 Volt TTL serial interface.
-
-  For a configuration using UART1 connect:
-   TX to AC320006-JP7 pin 2 which is PIC32MZ pin 106 (RPC14) used as U1RX
-   RX to AC320006-JP8 pin 2 which is PIC32MZ pin 31  (RPB3)) used as U1TX
-
-  For a configuration using For UART3 connect:
-   TX to AC320006-JP8 pin 2 which is PIC32MZ pin 31  (RPB3)) used as U3RX
-   RX to AC320006-JP7 pin 2 which is PIC32MZ pin 106 (RPC14) used as U3TX
-
-  If using a AC320006 plugged into a DM320002 then regardless of which UART,
-  UART1 or UART3 is configured in software, the jumpers on the AC320006 are
-  the same, just the signal directions and UART changes.
-
-                                          UART1   UART3
-  AC320006-JP7 connect pin 2 to pin 3.     U1RX   U3TX
-  AC320006-JP8 connect pin 2 to pin 3.     U1TX   U3RX
-
-  For the default configuration using UART1 the PIC32MZ pin 106 (RPC14)
-  will be configured as U1RX and is tied to the AC320006's JP7 Pin 2.
-  With the jumpers as listed above, once the AC320006 is plugged into
-  the DM320002, the PIC32MZ U1RX will be connected to the DM320002's
-  J11 pin 43. The DM320002's J11 pin 43 should then be connected to
-  the TX of a 3.3 volt TTL serial converter such as a FTDI TTL232RG.
-  For the FTDI TTL232RG TX is the orange wire.
-
-  Likewise the PIC32MZ pin 31 (RPB3) will be configured as U1TX and
-  is tied to the AC320006's JP8 Pin 2.  With the jumpers as listed above,
-  once the AC320006 is plugged into the DM320002, the PIC32MZ' U1TX will
-  be connected to the DM320002's J11 pin 41. The DM320002's J11 pin 41
-  should then be connected to the RX signal of a 3.3 volt TTL serial
-  converter. For the FTDI TTL232RG RX is the yellow wire.
-
-  For the alternate configuration using UART3 the PIC32MZ pin 106 (RPC14)
-  will be configured as U3TX and is tied to the AC320006's JP7 Pin 2.
-  With the jumpers as listed above, once the AC320006 is plugged into
-  the DM320002, the PIC32MZ U3TX will be connected to the DM320002's
-  J11 pin 43. The DM320002's J11 pin 43 should then be connected to
-  the RX of a 3.3 volt TTL serial converter such as a FTDI TTL232RG.
-  For the FTDI TTL232RG TX is the yellow wire.
-
-  Likewise the PIC32MZ pin 31 (RPB3) will be configured as U3RX and
-  is tied to the AC320006's JP8 Pin 2.  With the jumpers as listed above,
-  once the AC320006 is plugged into the DM320002, the PIC32MZ' U3RX will
-  be connected to the DM320002's J11 pin 41. The DM320002's J11 pin 41
-  should then be connected to the TX signal of a 3.3 volt TTL serial
-  converter. For the FTDI TTL232RG RX is the orange wire.
-
-  board.h Header File Changes
-  ---------------------------
-  The board configuration is currently set up to use the Serial console
-  on the MEB-II board.  If you  want to use the adapter board directly,
-  you willneed to change pic32mz-starterkit/include/board.h as follows:
-
-    -#define BOARD_U1RX_PPS  U1RXR_RPA14
-    -#define BOARD_U1TX_PPS  U1TX_RPA15R
-    +#define BOARD_U1RX_PPS  U1RXR_RPC14
-    +#define BOARD_U1TX_PPS  U1TX_RPB3R
-
-LEDs and Buttons
-================
-
-  LEDs
-  ----
-  The PIC32MZ Ethernet Starter kit has 3 user LEDs labelled LED1-3 on the
-  board:
-
-  PIN  LED   Notes
-  ---  ----- -------------------------
-  RH0  LED1  High illuminates (RED)
-  RH1  LED3  High illuminates (YELLOW)
-  RH2  LED2  High illuminates (GREEN)
-
-  If CONFIG_ARCH_LEDS is defined, then NuttX will control these LEDs as
-  follows:
-
-                            ON                  OFF
-  ------------------------- ---- ---- ---- ---- ---- ----
-                            LED1 LED2 LED3 LED1 LED2 LED3
-  ------------------------- ---- ---- ---- ---- ---- ----
-  LED_STARTED            0  OFF  OFF  OFF  ---  ---  ---
-  LED_HEAPALLOCATE       1  ON   OFF  N/C  ---  ---  ---
-  LED_IRQSENABLED        2  OFF  ON   N/C  ---  ---  ---
-  LED_STACKCREATED       3  ON   ON   N/C  ---  ---  ---
-  LED_INIRQ              4  N/C  N/C  ON   N/C  N/C  OFF
-  LED_SIGNAL             4  N/C  N/C  ON   N/C  N/C  OFF
-  LED_ASSERTION          4  N/C  N/C  ON   N/C  N/C  OFF
-  LED_PANIC              5  ON   N/C  N/C  OFF  N/C  N/C
-
-  Buttons
-  -------
-
-  The PIC32MZ Ethernet Starter kit has 3 user push buttons labelled SW1-3 on
-  the board:
-
-  PIN   LED  Notes
-  ----  ---- -------------------------
-  RB12  SW1  Active-low
-  RB13  SW2  Active-low
-  RB14  SW3  Active-low
-
-  The switches do not have any debounce circuitry and require internal pull-
-  up resistors. When Idle, the switches are pulled high (+3.3V), and they
-  are grounded when pressed.
-
-Configurations
-==============
-
-Information Common to All Configurations
-----------------------------------------
-
-Each PIC32MZ configuration is maintained in a sub-directory and can be
-selected as follow:
-
-    tools/configure.sh [OPTIONS] pic32mz-starterkit:<subdir>
-
-  Where typical options are -l to configure to build on Linux or -c to
-  configure for Cygwin under Linux.  'tools/configure.sh -h' will show
-  you all of the options.
-
-  Before building, make sure the PATH environment variable includes the
-  correct path to the directory than holds your toolchain binaries.
-
-  And then build NuttX by simply typing the following.  At the conclusion of
-  the make, the nuttx binary will reside in an ELF file called, simply,
-  nuttx.
-
-    make
-
-  The <subdir> that is provided above as an argument to the tools/configure.sh
-  must be is one of the following.
-
-Configuration Directories
--------------------------
-
-  nsh:
-
-    This is the NuttShell (NSH) using the NSH startup logic at
-    apps/examples/nsh.
-
-    NOTES:
-
-    1. This configuration uses the mconf-based configuration tool.  To
-       change this configurations using that tool, you should:
-
-       a. Build and install the kconfig-mconf tool.  See nuttx/README.txt
-          see additional README.txt files in the NuttX tools repository.
-
-       b. Execute 'make menuconfig' in nuttx/ in order to start the
-          reconfiguration process.
-
-    2. Serial Output
-
-       The OS test produces all of its test output on the serial console.
-       This configuration has UART1 enabled as a serial console.  This
-       can easily be changed by reconfiguring with 'make menuconfig'.
-
-    3. Toolchain
-
-       By default, the Pinguino MIPs tool chain is used.  This toolchain
-       selection can easily be changed with 'make menuconfig'.
-
-    4. Default configuration:  These are other things that you may want to
-       change in the configuration:
-
-       CONFIG_ARCH_CHIP_PIC32MZ2048ECM=y : Assumes part with Crypto Engine
-       CONFIG_PIC32MZ_DEBUGGER_ENABLE=n  : Debugger is disabled
-       CONFIG_PIC32MZ_TRACE_ENABLE=n     : Trace is disabled
-       CONFIG_PIC32MZ_JTAG_ENABLE=n      : JTAG is disabled
diff --git 
a/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/index.rst 
b/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/index.rst
index a702117e0b2..04f88587a22 100644
--- a/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/index.rst
+++ b/Documentation/platforms/mips/pic32mz/boards/pic32mz-starterkit/index.rst
@@ -1,8 +1,412 @@
-==================
-pic32mz-starterkit
-==================
+===================
+PIC32MZ Starter Kit
+===================
 
-.. include:: README.txt
-   :literal:
+.. tags:: arch:mips, chip:pic32mz
 
+Documentation for the NuttX port to the Microchip PIC32MZ Embedded Connectivity
+(EC) Starter Kit.
 
+There are two configurations of the Microchip PIC32MZ Embedded Connectivity
+(EC) Starter Kit:
+
+1. The PIC32MZ Embedded Connectivity Starter Kit based on the
+   PIC32MZ2048ECH144-I/PH chip (DM320006), and
+2. The PIC32MZ Embedded Connectivity Starter Kit based on the
+   PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C)
+
+See www.microchip.com for further information.
+
+.. note::
+
+   As of this writing (2015-03-01), the basic port is complete including
+   minimal support for the NuttShell (NSH) over UART1.  No testing has yet
+   been performed due to seemingly insurmountable debug problems:
+
+   Thusfar, no one has been successful using NuttX with MPLABX.  All
+   debug is being performed using a J-Link debugger via some custom
+   interconnect boards.
+
+   Patches were provided by Kristopher Tate on 2015-03-21 that support the
+   serial console with the NuttShell, completing the basic bring-up.
+
+Features
+========
+
+* On-board crystal or oscillator for precision microcontroller clocking (24
+  MHz).
+* 32 kHz oscillator for RTCC and Timer1 (optional).
+* Three push button switches for user-defined inputs.
+* Three user-defined indicator LEDs.
+* USB Type A receptacle connectivity for PIC32 host-based applications.
+* USB Type micro-AB receptacle for OTG and USB device connectivity for PIC32
+  OTG/device-based applications.
+* Daughter board connectors for flexible Ethernet PHY options.
+* 50 MHz Ethernet PHY oscillator.
+* External 4 GB SQI memory for expanded memory applications.
+* PIC24FJ256GB106 USB microcontroller for on-board debugging.
+* USB connectivity for on-board debugger communications.
+* Regulated +3.3V power supply for powering the starter kit through USB or
+  expansion board.
+* Connector for various expansion boards.
+
+The PIC32MZ starter kit comes complete with a LAN8740 PHY daughter board.
+
+Testing was performed with the following additional hardware:
+
+* Microchip PIC32MZ Embedded Connectivity (EC) Adapter Board (AC320006)
+  that allows connection of the PIC32MZEC Starter Kit to the Microchip
+  Multimedia Expansion Board (MEB, DM320005) or PIC32 I/O Expansion Board
+  (DM320002).  These were previously used with the PIC32MX bringup.
+
+* Microchip Multimedia Expansion Board II (MEB II,  DM320005-2).
+
+Buttons and LEDs
+================
+
+The PIC32MZ Ethernet Starter kit has 3 user LEDs labelled LED1-3 on the
+board:
+
+===  ===== =========================
+PIN  LED   Notes
+===  ===== =========================
+RH0  LED1  High illuminates (RED)
+RH1  LED3  High illuminates (YELLOW)
+RH2  LED2  High illuminates (GREEN)
+===  ===== =========================
+
+If ``CONFIG_ARCH_LEDS`` is defined, then NuttX will control these LEDs as
+follows:
+
+========================= ==== ==== ==== ==== ==== ====
+Status                    LED1 LED2 LED3 LED1 LED2 LED3
+========================= ==== ==== ==== ==== ==== ====
+LED_STARTED            0  OFF  OFF  OFF  ---  ---  ---
+LED_HEAPALLOCATE       1  ON   OFF  N/C  ---  ---  ---
+LED_IRQSENABLED        2  OFF  ON   N/C  ---  ---  ---
+LED_STACKCREATED       3  ON   ON   N/C  ---  ---  ---
+LED_INIRQ              4  N/C  N/C  ON   N/C  N/C  OFF
+LED_SIGNAL             4  N/C  N/C  ON   N/C  N/C  OFF
+LED_ASSERTION          4  N/C  N/C  ON   N/C  N/C  OFF
+LED_PANIC              5  ON   N/C  N/C  OFF  N/C  N/C
+========================= ==== ==== ==== ==== ==== ====
+
+The PIC32MZ Ethernet Starter kit has 3 user push buttons labelled SW1-3 on the
+board:
+
+====  ==== =========================
+PIN   LED  Notes
+====  ==== =========================
+RB12  SW1  Active-low
+RB13  SW2  Active-low
+RB14  SW3  Active-low
+====  ==== =========================
+
+The switches do not have any debounce circuitry and require internal pull-up
+resistors. When idle, the switches are pulled high (+3.3V), and they are
+grounded when pressed.
+
+Serial Console
+==============
+
+MEB-II
+------
+
+By default, the UART1 is configured for the pins used by the MEB-II board. The
+UART1 signals are available at the MEB-II PICTail connector:
+
+=============== ========= ============== ============
+PIC32MZ PIN     CONNECTOR MEB-II PIN     PICTAIL PIN
+FUNCTION        J1        NAME           J2
+=============== ========= ============== ============
+RPA14/SCL1/RA14 124       SCL1/TOUCH_SCL 4
+RPA15/SDA1/RA15 126       SDA1/TOUCH_SDA 6
+                          +3.3V          1,26
+                          GND            28
+=============== ========= ============== ============
+
+This pin selection is controlled by these definitions in
+``pic32mz-starterkit/include/board.h``:
+
+.. code:: c
+
+   #define BOARD_U1RX_PPS  U1RXR_RPA14
+   #define BOARD_U1TX_PPS  U1TX_RPA15R
+
+PIC32MX I/O Expansion Board with Adapter Board
+----------------------------------------------
+
+If the MEB-II UART configuration when used with the I/O Expansion board
+(with the adapter), then UART will be on J11 with Pin 35 being U1RX (into
+MZ) and Pin 37 being TU1X (out of MZ).
+
+Directly from the Adapter Board
+-------------------------------
+
+But you can get serial port directly from the PIC32MZ Embedded Connectivity 
(EC)
+Adapter Board (AC320006). The Microchip adapter board brings out UART signals 
as
+follows:
+
+JP7 redirects J1 U3_TX to either J2 SOSCO/RC14 or U1_TX:
+
+**Adapter**
+
+JP7:
+
+* Pin 1: J2 Pin 32, SOSCO/RC14
+* Pin 2: J1 Pin 17, U3_TX
+* Pin 3: J2 Pin 90, U1_TX
+
+**PIC32MZ Starter Kit**
+
+J1 Pin 17, SOSCO/RC14  PIC32MZ SOSCO/RPC14/T1CK/RC14
+
+RPC14 supports U1RX, U4RX, and U3TX
+
+JP8 redirects J1 RB3/AN3/SDO4/WIFI_SDI to either J2 AN3/SDO4/WIFI_SDI or U3_RX:
+
+**Adapter**
+
+JP8:
+
+* Pin 1: J2, Pin 66
+* Pin 2: J1, Pin 105
+* Pin 3: J2, Pin 88
+
+**PIC32MZ Starter Kit**
+
+* AN3/SDO4/WIFI_SDI
+* RB3/AN3/SDO4/WIFI_SDI
+* U3_RX
+
+**PIC32MZ Starter Kit**
+
+J1, Pin 105, AN3/C2INA/RPB3/RB3
+
+RPB3 supports U3RX, U1TX, and U5TX
+
+Thus UART1 or UART3 could be used as a serial console if only the
+PIC32MZEC Adapter Board is connected.
+
+The default serial configuration here in these configurations is UART1
+using RPC14 and RPB3. That UART selection can be change by running 'make
+menuconfig'. The UART pin selections would need to be changed by editing
+boards/pc32mz-starterkit/include/board.h.
+
+If using a AC320006 by itself, JP7 pin 2 and JP8 pin 2 is where you would
+connect a 3.3 Volt TTL serial interface.
+
+For a configuration using UART1 connect:
+
+* TX to AC320006-JP7 pin 2 which is PIC32MZ pin 106 (RPC14) used as U1RX
+* RX to AC320006-JP8 pin 2 which is PIC32MZ pin 31  (RPB3)) used as U1TX
+
+For a configuration using For UART3 connect:
+
+* TX to AC320006-JP8 pin 2 which is PIC32MZ pin 31  (RPB3)) used as U3RX
+* RX to AC320006-JP7 pin 2 which is PIC32MZ pin 106 (RPC14) used as U3TX
+
+If using a AC320006 plugged into a DM320002 then regardless of which UART,
+UART1 or UART3 is configured in software, the jumpers on the AC320006 are
+the same, just the signal directions and UART changes.
+
+* AC320006-JP7 connect pin 2 to pin 3.     U1RX   U3TX
+* AC320006-JP8 connect pin 2 to pin 3.     U1TX   U3RX
+
+For the default configuration using UART1 the PIC32MZ pin 106 (RPC14)
+will be configured as U1RX and is tied to the AC320006's JP7 Pin 2.
+With the jumpers as listed above, once the AC320006 is plugged into
+the DM320002, the PIC32MZ U1RX will be connected to the DM320002's
+J11 pin 43. The DM320002's J11 pin 43 should then be connected to
+the TX of a 3.3 volt TTL serial converter such as a FTDI TTL232RG.
+For the FTDI TTL232RG TX is the orange wire.
+
+Likewise the PIC32MZ pin 31 (RPB3) will be configured as U1TX and
+is tied to the AC320006's JP8 Pin 2. With the jumpers as listed above,
+once the AC320006 is plugged into the DM320002, the PIC32MZ' U1TX will
+be connected to the DM320002's J11 pin 41. The DM320002's J11 pin 41
+should then be connected to the RX signal of a 3.3 volt TTL serial
+converter. For the FTDI TTL232RG RX is the yellow wire.
+
+For the alternate configuration using UART3 the PIC32MZ pin 106 (RPC14)
+will be configured as U3TX and is tied to the AC320006's JP7 Pin 2.
+With the jumpers as listed above, once the AC320006 is plugged into
+the DM320002, the PIC32MZ U3TX will be connected to the DM320002's
+J11 pin 43. The DM320002's J11 pin 43 should then be connected to
+the RX of a 3.3 volt TTL serial converter such as a FTDI TTL232RG.
+For the FTDI TTL232RG TX is the yellow wire.
+
+Likewise the PIC32MZ pin 31 (RPB3) will be configured as U3RX and
+is tied to the AC320006's JP8 Pin 2. With the jumpers as listed above,
+once the AC320006 is plugged into the DM320002, the PIC32MZ' U3RX will
+be connected to the DM320002's J11 pin 41. The DM320002's J11 pin 41
+should then be connected to the TX signal of a 3.3 volt TTL serial
+converter. For the FTDI TTL232RG RX is the orange wire.
+
+board.h Header File Changes
+---------------------------
+
+The board configuration is currently set up to use the serial console on the
+MEB-II board.  If you  want to use the adapter board directly, you will need to
+change ``pic32mz-starterkit/include/board.h`` as follows:
+
+.. code:: diff
+
+   -#define BOARD_U1RX_PPS  U1RXR_RPA14
+   -#define BOARD_U1TX_PPS  U1TX_RPA15R
+   +#define BOARD_U1RX_PPS  U1RXR_RPC14
+   +#define BOARD_U1TX_PPS  U1TX_RPB3R
+
+On Board Debug Support
+======================
+
+The starter kit includes a PIC24FJ256GB106 USB microcontroller that provides
+debugger connectivity over USB. The PIC24FJ256GB106 is hard-wired to the PIC32
+device to provide protocol translation through the I/O pins of the
+PIC24FJ256GB106 to the ICSP™ pins of the PIC32 device.
+
+If MPLAB® REAL ICE™ or MPLAB ICD 3 is used with the starter kit, disconnect the
+onboard debugger from the PIC32 device by removing the jumper JP2. When the
+on-board debugger is required, replace the jumper JP2. When the jumper JP2 is
+installed, pin 1 must be connected to pin 3 and pin 2 must be connected to pin
+4.
+
+Flashing
+========
+
+Creating Compatible NuttX HEX files
+-----------------------------------
+
+Intel Hex Format Files
+^^^^^^^^^^^^^^^^^^^^^^
+
+When NuttX is built it will produce two files in the top-level NuttX
+directory:
+
+1. ``nuttx``: This is an ELF file
+
+2. ``nuttx.hex``: This is an Intel Hex format file. This is controlled by the
+   setting ``CONFIG_INTELHEX_BINARY`` in the ``.config`` file.
+
+The PICkit tool wants an Intel Hex format file to burn into FLASH. However,
+there is a problem with the generated ``nuttx.hex``: The tool expects the
+``nuttx.hex`` file to contain physical addresses. But the ``nuttx.hex`` file
+generated from the top-level make will have address in the ``KSEG0`` and
+``KSEG1`` regions.
+
+tools/pic32/mkpichex
+^^^^^^^^^^^^^^^^^^^^
+
+There is a simple tool in the NuttX tools/pic32 directory that can be
+used to solve both issues with the nuttx.hex file. But, first, you must
+build the tool:
+
+.. code:: console
+
+   $ cd tools/pic32
+   $ make -f Makefile.host
+
+Now you will have an executable file called ``mkpichex`` (or ``mkpichex.exe`` 
on
+Cygwin). This program will take the ``nuttx.hex`` file as an input, it will
+convert all of the ``KSEG0`` and ``KSEG1`` addresses to physical address, and 
it
+will write the modified file, replacing the original ``nuttx.hex``.
+
+To use this file, you need to do the following things:
+
+.. code:: console
+
+   $ export PATH=???  # Add the NuttX tools/pic32 directory to your
+                      # PATH variable
+   $ make             # Build nuttx and nuttx.hex
+   $ mkpichex $PWD    #  Convert addresses in nuttx.hex.  $PWD is the path
+                      # to the top-level build directory.  It is the only
+                      # required input to mkpichex.
+
+This procedure is automatically performed at the end of a build.
+
+Tool Issues
+-----------
+
+Pinquino Toolchain
+^^^^^^^^^^^^^^^^^^
+
+If you use the Pinguino toolchain, you will probably see this error:
+
+.. code:: console
+
+   $ C:\pinguino-11\compilers\p32\bin\p32-ld.exe: target elf32-tradlittlemips 
not found
+
+This is due to linker differences in the toolchains. The linker script at
+``boards/pic32mz-starterkit`` has:
+
+.. code:: c
+
+   OUTPUT_FORMAT("elf32-tradlittlemips")
+
+This error can be eliminated with the Pinguino toolchain by changing this to:
+
+.. code:: c
+
+   OUTPUT_FORMAT("elf32-littlemips")
+
+Mentor Toolchain
+^^^^^^^^^^^^^^^^
+
+https://sourcery.mentor.com/GNUToolchain/release2934 tools.
+
+If you use this toolchain, you will need to add ``CROSSDEV=mips-sde-elf-`` to
+your ``Make.defs`` file.
+
+ICD3
+^^^^
+
+The onboard debugger is Slow and one is better off using an ICD3. By removing
+jumper JP2, I can disable the on-board OpenHCD debugger an enable the RJ11
+debug connector. My ICD 3 does seems to work properly using this configuration,
+at least in the sense that it is recognized by both MPLABX IDE and IPE.
+
+Segger J-Link
+^^^^^^^^^^^^^
+
+If using a Jlink that only these versions work with PIC32:
+
+* J-Link BASE / EDU V9 or later
+* J-Link ULTRA+ / PRO V4 or later
+
+Oddly, you must use the G version in the command:
+
+.. code:: console
+
+   $ JLinkGDBServer  -device PIC32MZ2048ECG144 -if 2-wire-JTAG-PIC32 -speed 
12000
+
+Even though we have PIC32MZ2048ECM144 parts on our board. (JLinkGDBServer will
+except anything and just mess up your weekend)
+
+Configurations
+==============
+
+You can use the following command to configure the NuttX build, where
+``<config>`` is one of the configurations listed below:
+
+.. code:: console
+
+   $ tools/configure.sh pic32mz-starterkit:<config>
+
+By default, the Pinguino MIPs tool chain is used. This toolchain selection can
+easily be changed with ``make menuconfig``.
+
+nsh
+---
+
+This is the NuttShell (NSH) using the NSH startup logic at
+``apps/examples/nsh``.
+
+This configuration has UART1 enabled as a serial console. This can easily be
+changed by reconfiguring with ``make menuconfig``.
+
+These are other things that you may want to change in the configuration:
+
+* ``CONFIG_ARCH_CHIP_PIC32MZ2048ECM=y``: Assumes part with Crypto Engine
+* ``CONFIG_PIC32MZ_DEBUGGER_ENABLE=n``: Debugger is disabled
+* ``CONFIG_PIC32MZ_TRACE_ENABLE=n``: Trace is disabled
+* ``CONFIG_PIC32MZ_JTAG_ENABLE=n``: JTAG is disabled

Reply via email to