You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/09/25 20:37:01 UTC

[incubator-nuttx] branch master updated: boards/tm4c129e-launchpad: Expand README.txt

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 34192c07de boards/tm4c129e-launchpad: Expand README.txt
34192c07de is described below

commit 34192c07dec0545ad9d1304750b32561cbdad8d6
Author: Nathan Hartman <59...@users.noreply.github.com>
AuthorDate: Sun Sep 25 10:12:47 2022 -0400

    boards/tm4c129e-launchpad: Expand README.txt
    
    * boards/arm/tiva/tm4c129e-launchpad/README.txt:
      Expand this documentation with information about: toolchains,
      debugging (including the elusive openocd incantation to flash program
      the board), MCU clocking, more details about the Virtual COM port
      exposed via ICDI, and a description of the recently added ostest
      configuration.
---
 boards/arm/tiva/tm4c129e-launchpad/README.txt | 119 ++++++++++++++++++++++++--
 1 file changed, 112 insertions(+), 7 deletions(-)

diff --git a/boards/arm/tiva/tm4c129e-launchpad/README.txt b/boards/arm/tiva/tm4c129e-launchpad/README.txt
index dec1e129d6..3c4fc1000e 100644
--- a/boards/arm/tiva/tm4c129e-launchpad/README.txt
+++ b/boards/arm/tiva/tm4c129e-launchpad/README.txt
@@ -5,6 +5,27 @@ README
   LaunchPad (more correctly, the EK-TM4C129EXL). For more information about this
   board, see https://www.ti.com/tool/EK-TM4C129EXL.
 
+Contents
+========
+
+  - EK-TM4C1294XL and DK-TM4C129X
+  - Status
+  - Directory Structure
+  - Development Environment
+    - Toolchains
+    - Debugging
+  - Hardware
+    - MCU Clocking
+    - Serial Console
+    - GPIOs
+    - Buttons
+    - LEDs
+    - GPIOs
+  - Configurations
+    - nsh
+    - ipv6
+    - ostest
+
 EK-TM4C1294XL and DK-TM4C129X
 =============================
 
@@ -15,6 +36,11 @@ EK-TM4C1294XL and DK-TM4C129X
     boards/arm/tiva/tm4c1294-launchpad/README.txt
     boards/arm/tiva/dk-tm4c129x/README.txt
 
+Status
+======
+
+  This port boots NuttX through to a functional NSH prompt.
+
 Directory Structure
 ===================
 
@@ -33,15 +59,80 @@ Within chip subdirectory:
     configs/        - Subdirectory for one or more board configuration(s)
       <config_1..n> - Configuration for use with tools/configure.sh or .bat
 
-Serial Console
-==============
+Development Environment
+=======================
+
+  Toolchains
+  ----------
+  An appropriate ARM toolchain is needed, such as:
+
+  * The toolchain built with the customized NuttX buildroot
+
+  * The ready-made GNU Tools for Arm Embedded Processors:
+    https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain
+
+  * The toolchain that installs with Texas Instruments Code Composer Studio
+    (CCS): https://www.ti.com/tool/CCSTUDIO
+
+  Debugging
+  ---------
+
+  The board incorporates an In-Circuit Debug Interface (ICDI) which allows
+  FLASH programming and JTAG debugging. This is accessible via the Micro-USB
+  Type B connector labeled DEBUG (opposite end of the board from the Ethernet
+  port). The ICDI interface is implemented by a TM4C123G microcontroller.
+
+  To debug with OpenOCD and arm-nuttx-eabi-gdb:
+
+  * Use 'make menuconfig' to set CONFIG_DEBUG_SYMBOLS and CONFIG_DEBUG_NOOPT.
+    To see debug output, e.g., the "ABCDE" printed in __start(), also set
+    CONFIG_DEBUG_FEATURES.
+
+  * Build NuttX.
 
-  These configurations use UART0 for the serial console. UART0 is connected to
-  the on-board TM4C123G-based debugger and is forwarded through the ICDI virtual
-  UART.
+  * Flash the code using:
+    $ openocd -f board/ek-tm4c1294xl.cfg -c "init" -c "reset halt" \
+      -c "stellaris mass_erase 0" -c "flash write_bank 0 nuttx.bin"
 
-Buttons and LEDs
-================
+    NOTE: The above command might fail unless either: udev rules have been
+    configured on the development system (preferred) or the command is run as
+    root with 'sudo' (not encouraged). See:
+    - https://openocd.org/doc/html/Running.html
+    - https://forgge.github.io/theCore/guides/running-openocd-without-sudo.html
+
+  * Start GDB with:
+    $ arm-nuttx-eabi-gdb -tui nuttx
+
+  * In GDB:
+    (gdb) target remote localhost:3333
+    (gdb) monitor reset halt
+    (gdb) load
+
+Hardware
+========
+
+  MCU Clocking
+  ------------
+
+    By default, the MCU on this board is clocked from 25 MHz crystal Y1, also
+    required for clocking the TM4C129's internal Ethernet MAC and PHY. For core
+    and peripheral timing, the MCU's internal PLL multiplies this 25 MHz clock
+    to 120 MHz.
+
+    The MCU's Hibernation peripheral is clocked from 32.768-KHz crystal Y3.
+
+  Serial Console
+  --------------
+
+    These configurations use UART0 for the serial console.
+
+    By default (check jumper settings on the board), UART0 is connected to the
+    on-board ICDI interface and is forwarded through the ICDI virtual UART. On
+    the PC, this appears a Virtual COM Port over the same Micro-USB Type B
+    connection used for programming/debugging.
+
+    On Debian Linux, this shows up as /dev/ttyACM0. Other operating systems may
+    differ.
 
   Buttons
   -------
@@ -63,6 +154,12 @@ Buttons and LEDs
     and D4 are connected to GPIOs PF4 and PF0 and can be controlled either by
     software or by the integrated Ethernet PHY of the TM4C129ENCPDT.
 
+  GPIOs
+  -----
+
+    The board exposes almost all MCU pins to the breadboard and BoosterPack
+    connectors.
+
 Configurations
 ==============
 
@@ -224,3 +321,11 @@ Where <subdir> is one of the following:
        - CONFIG_NSH_IPv6NETMASK_6=0xffff
        - CONFIG_NSH_IPv6NETMASK_7=0xffff
        - CONFIG_NSH_IPv6NETMASK_8=0xff80
+
+  ostest:
+  ------
+    This configuration is the same as 'nsh' described above, with the addition
+    of CONFIG_TESTING_OSTEST. This enables the built-in program 'ostest' which
+    runs a series of tests to exercise features of the operating system. This
+    configuration also enables several debugging options to assist with
+    diagnosing any failures.