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.