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

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


The following commit(s) were added to refs/heads/master by this push:
     new 180aa1a3966 docs/at32f437-mini: Migrate README.txt to RST
180aa1a3966 is described below

commit 180aa1a39669cfedd0ee7ece9352251b840821b4
Author: Swatantra Yadav <[email protected]>
AuthorDate: Mon Oct 12 00:38:18 2026 +0530

    docs/at32f437-mini: Migrate README.txt to RST
    
    Migrate the legacy README.txt documentation for the AT32F437-MINI board
    (Artery AT32F437VMT7 MCU) to standard Sphinx rST format in index.rst.
    
    Includes:
    - Microcontroller and board features overview (Cortex-M4 @ 288MHz, 4MB 
Flash, 384KB SRAM)
    - Pinout mapping tables for LEDs, USART1 console, RS-485 (USART2), CAN1, 
10/100M RMII Ethernet (LAN8720A PHY), MicroSD (SDIO1), USB OTG FS, and SPI NOR 
Flash (W25Qxx)
    - Descriptions and instructions for all 12 board configurations (nsh, adc, 
can_char, can_socket, eth, msc, pwm, rtc, sdcard, systemview, usbnsh, usbserial)
    - Building and flashing instructions for OpenOCD (with Artery target script 
note), J-Link, and pyOCD
    - Removal of legacy README.txt
    
    Addresses #11077
    Part of #15737
    
    Signed-off-by: Swatantra Yadav <[email protected]>
---
 .../arm/at32/boards/at32f437-mini/README.txt       |  94 ------
 .../arm/at32/boards/at32f437-mini/index.rst        | 343 ++++++++++++++++++++-
 2 files changed, 341 insertions(+), 96 deletions(-)

diff --git a/Documentation/platforms/arm/at32/boards/at32f437-mini/README.txt 
b/Documentation/platforms/arm/at32/boards/at32f437-mini/README.txt
deleted file mode 100644
index fab21ceb478..00000000000
--- a/Documentation/platforms/arm/at32/boards/at32f437-mini/README.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-README
-======
-
-This README discusses issues unique to NuttX configurations for the
-AT32F437-MINI development board featuring the AT32F437VMT7
-MCU. The AT32F437VMT7 is a 288MHz Cortex-M4 operation with 4Mbyte Flash
-memory and 384kbytes. 
-
-
-LEDs
-====
-  LED1 = PE2
-  LED2 = PE3
-
-USART/UART
-====
-  USART1
-    RX = PA10
-    TX = PA9
-  The usart1 is used for console.
-  ./tools/configure.sh at32f437-mini/nsh
-  make -j16 and flash nuttx.hex,then run it will show:
-    NuttShell (NSH) NuttX-12.2.1
-    nsh> 
-    nsh> 
-    nsh> ps
-      PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK           
STACK COMMAND
-        0     0   0 FIFO     Kthread N-- Ready              0000000000000000 
001016 Idle_Task
-        2     2 100 RR       Task    --- Running            0000000000000000 
002016 nsh_main
-    nsh> 
-
-  USART2/RS485
-    RX =  PD6
-    TX =  PD5  
-    DIR = PD4
-
-CAN
-====
-  CAN1
-    TX = PD1
-    RX = PD0
-  CAN_CHARDRIVER: ./tools/configure.sh at32f437-mini/can_char
-  CAN_SOCKET: ./tools/configure.sh at32f437-mini/can_socket
-
-USB
-====
-  OTGFS1
-    D+ = PA12
-    D- = PA11
-
-SDIO
-====
-  SDIO1
-    CMD = PD2
-    CLK = PC12
-    D0 =  PC8
-    D1 =  PC9
-    D2 =  PC10
-    D3 =  PC11    
-
-ETH
-  RMII_REF_CLK =  PA1
-  ETH_MDIO =      PA2
-  RMII_CRS_DV =   PA7
-  ETH_MDC =       PC1
-  RMII_RXD0 =     PC4
-  RMII_RXD1 =     PC5
-  RMII_TX_EN =    PB11
-  RMII_TXD0 =     PB12
-  RMII_TXD1 =     PB13
-  ETH_RST =       PA3
-  The eth used lan8720a as phy
-
-
-W25QXX
-  CLK =  PB3
-  MISO = PB4
-  MOSI = PB5
-  CS =   PD7  
-
-RTC
-The board used rtc device on chip
-
-PWM
-The pwm test with tim20 chanel1 in PE2
-
-ADC
-  ADC1 chanel8(PB0)
-
-
-
-
-
-
diff --git a/Documentation/platforms/arm/at32/boards/at32f437-mini/index.rst 
b/Documentation/platforms/arm/at32/boards/at32f437-mini/index.rst
index 953e56164bc..dc208b18a22 100644
--- a/Documentation/platforms/arm/at32/boards/at32f437-mini/index.rst
+++ b/Documentation/platforms/arm/at32/boards/at32f437-mini/index.rst
@@ -4,6 +4,345 @@ at32f437-mini
 
 .. tags:: arch:arm, chip:at32, vendor:artery
 
-.. include:: README.txt
-   :literal:
+The **AT32F437-MINI** is an evaluation and development board manufactured
+by Artery Technology, designed around the high-performance **AT32F437VMT7**
+microcontroller.
 
+Features
+========
+
+Microcontroller
+---------------
+
+* **Core**: ARM Cortex-M4 with FPU and DSP instructions
+* **Clock**: Up to 288 MHz operating frequency (8 MHz HSE crystal on-board)
+* **Internal Flash**: 4 MB with zero-wait execution
+* **Internal SRAM**: 384 KB (configurable up to 512 KB)
+* **Package**: LQFP100
+
+Board Peripherals
+-----------------
+
+* **User LEDs**: 2 user-controllable LEDs (PE2, PE3)
+* **Serial Interfaces**:
+  * USART1 on PA9/PA10 (used as default serial console)
+  * USART2 with RS-485 transceiver support (PD4, PD5, PD6)
+* **Networking**: 10/100 Mbps Ethernet RMII interface with onboard LAN8720A PHY
+* **CAN**: CAN1 interface with transceiver support (PD0, PD1)
+* **Storage**:
+  * MicroSD card slot connected via 4-bit SDIO
+  * Onboard SPI/QSPI NOR Flash (W25Qxx)
+* **USB**: Full-Speed USB 2.0 OTG (OTGFS1) via micro-USB connector
+* **Analog & Timers**:
+  * ADC1 channel 8 (PB0)
+  * Advanced timer TIM20 with PWM output on PE2
+  * On-chip RTC (Real-Time Clock)
+
+Pin Mapping and Peripherals
+===========================
+
+User LEDs
+---------
+
+The AT32F437-MINI provides two user LEDs driven directly by GPIO port E:
+
+==== ========== ==============================
+LED  Pin        Description
+==== ========== ==============================
+LED1 ``PE2``    User LED 1 (Active High)
+LED2 ``PE3``    User LED 2 (Active High)
+==== ========== ==============================
+
+Serial Ports (USART / UART)
+---------------------------
+
+USART1 is configured as the default system console:
+
+====== ========== ========== ==========================================
+USART  Pin (RX)   Pin (TX)   Notes
+====== ========== ========== ==========================================
+USART1 ``PA10``   ``PA9``    Default serial console (115200 8N1)
+USART2 ``PD6``    ``PD5``    RS-485 transceiver (Direction control: ``PD4``)
+====== ========== ========== ==========================================
+
+Controller Area Network (CAN)
+-----------------------------
+
+CAN1 is routed to Port D:
+
+==== ========== ========== ==============================================
+CAN  Pin (RX)   Pin (TX)   Notes
+==== ========== ========== ==============================================
+CAN1 ``PD0``    ``PD1``    Compatible with character and socket drivers
+==== ========== ========== ==============================================
+
+Ethernet (10/100 Mbps RMII)
+---------------------------
+
+The board integrates a Microchip/SMSC LAN8720A PHY operating in RMII mode:
+
+=============== ========== ==========================================
+Signal          Pin        Description
+=============== ========== ==========================================
+RMII_REF_CLK    ``PA1``    Reference Clock (50 MHz)
+ETH_MDIO        ``PA2``    Management Data I/O
+RMII_CRS_DV     ``PA7``    Carrier Sense / Receive Data Valid
+ETH_MDC         ``PC1``    Management Data Clock
+RMII_RXD0       ``PC4``    Receive Data bit 0
+RMII_RXD1       ``PC5``    Receive Data bit 1
+RMII_TX_EN      ``PB11``   Transmit Enable
+RMII_TXD0       ``PB12``   Transmit Data bit 0
+RMII_TXD1       ``PB13``   Transmit Data bit 1
+ETH_RST         ``PA3``    Active-low PHY Hardware Reset
+=============== ========== ==========================================
+
+MicroSD Card (SDIO)
+-------------------
+
+The onboard MicroSD card socket utilizes the 4-bit SDIO1 peripheral:
+
+======== ========== ==========================================
+Signal   Pin        Description
+======== ========== ==========================================
+SDIO_CMD ``PD2``    Command / Response line
+SDIO_CLK ``PC12``   Clock line
+SDIO_D0  ``PC8``    Data bit 0
+SDIO_D1  ``PC9``    Data bit 1
+SDIO_D2  ``PC10``   Data bit 2
+SDIO_D3  ``PC11``   Data bit 3
+======== ========== ==========================================
+
+USB OTG Full-Speed (OTGFS1)
+---------------------------
+
+The USB OTG Full-Speed peripheral is routed to the onboard micro-USB port:
+
+====== ========== ==========================================
+Signal Pin        Description
+====== ========== ==========================================
+OTG_D- ``PA11``   USB Differential Data Minus
+OTG_D+ ``PA12``   USB Differential Data Plus
+====== ========== ==========================================
+
+External SPI Flash (W25Qxx)
+---------------------------
+
+An external SPI NOR Flash chip is connected to SPI1:
+
+====== ========== ==========================================
+Signal Pin        Description
+====== ========== ==========================================
+CLK    ``PB3``    SPI Serial Clock
+MISO   ``PB4``    Master In / Slave Out
+MOSI   ``PB5``    Master Out / Slave In
+CS     ``PD7``    Active-low Chip Select
+====== ========== ==========================================
+
+Analog Inputs & PWM
+-------------------
+
+* **ADC**: ADC1 Channel 8 is available on pin ``PB0``.
+* **PWM**: Advanced Timer 20 (TIM20) Channel 1 is mapped to pin ``PE2``.
+* **RTC**: Driven by the on-chip Real-Time Clock peripheral.
+
+Configurations
+==============
+
+All configurations are located in ``boards/arm/at32/at32f437-mini/configs/``:
+
+nsh
+---
+
+Basic NuttShell (NSH) interactive command line environment running over the
+primary serial console (USART1 at 115200 baud, 8N1).
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:nsh
+   $ make -j
+
+After flashing, connect a serial terminal (115200 8N1) to PA9/PA10:
+
+.. code-block:: text
+
+   NuttShell (NSH) NuttX-12.2.1
+   nsh> ps
+     PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK           
STACK COMMAND
+       0     0   0 FIFO     Kthread N-- Ready              0000000000000000 
001016 Idle_Task
+       2     2 100 RR       Task    --- Running            0000000000000000 
002016 nsh_main
+   nsh>
+
+adc
+---
+
+Enables the ADC character driver and sample application (``examples/adc``)
+measuring voltage on ADC1 Channel 8 (pin ``PB0``).
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:adc
+   $ make -j
+
+can_char
+--------
+
+Configures CAN1 using the traditional NuttX CAN character device driver
+(``/dev/can0``). Used in conjunction with ``examples/can``.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:can_char
+   $ make -j
+
+can_socket
+----------
+
+Configures CAN1 as a native SocketCAN network interface (``can0``). Allows
+standard POSIX socket programming (``AF_CAN``) and network utilities.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:can_socket
+   $ make -j
+
+eth
+---
+
+Enables the onboard LAN8720A RMII Ethernet transceiver with the NuttX TCP/IP
+network stack, DHCP client, and network utilities (``ping``, ``ifconfig``,
+``netinit``).
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:eth
+   $ make -j
+
+msc
+---
+
+Configures the USB OTG port as a USB Mass Storage Class (MSC) device,
+exposing a block driver (RAM disk or SD card) to a host PC.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:msc
+   $ make -j
+
+pwm
+---
+
+Enables the PWM character driver on TIM20 Channel 1 (pin ``PE2``). Can be
+tested with ``examples/pwm``.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:pwm
+   $ make -j
+
+rtc
+---
+
+Enables the hardware Real-Time Clock (RTC) driver. Provides persistent 
timekeeping
+and alarm functions accessible via standard POSIX time APIs.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:rtc
+   $ make -j
+
+sdcard
+------
+
+Enables 4-bit SDIO driver support with FAT filesystem automounting for the
+onboard MicroSD card slot. The card is accessible at ``/mnt/sdcard``.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:sdcard
+   $ make -j
+
+systemview
+----------
+
+Enables SEGGER SystemView instrumentation for real-time task scheduling and
+interrupt tracing.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:systemview
+   $ make -j
+
+usbnsh
+------
+
+Configures the NuttShell console to communicate over the USB OTG port
+utilizing the USB CDC/ACM serial device profile (``/dev/ttyACM0`` on Linux).
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:usbnsh
+   $ make -j
+
+usbserial
+---------
+
+Configures the USB OTG port as a generic USB CDC/ACM serial communications 
port.
+
+.. code-block:: console
+
+   $ ./tools/configure.sh at32f437-mini:usbserial
+   $ make -j
+
+Building and Flashing
+=====================
+
+Building
+--------
+
+1. Configure the board for the desired target (for example, ``nsh``):
+
+   .. code-block:: console
+
+      $ ./tools/configure.sh at32f437-mini:nsh
+
+2. Compile the NuttX ELF and binary images:
+
+   .. code-block:: console
+
+      $ make -j$(nproc)
+
+Flashing
+--------
+
+The board can be flashed using OpenOCD, J-Link, or pyOCD through the onboard
+SWD debug header:
+
+Using OpenOCD:
+
+.. note::
+
+   The target configuration script ``target/at32f437xx.cfg`` is provided as
+   part of Artery's official OpenOCD release (available in the Artery AT32 BSP
+   and AT-Link utility packages). Upstream OpenOCD requires adding Artery's
+   target script to the OpenOCD scripts path or using the PyOCD / J-Link 
alternatives below.
+
+.. code-block:: console
+
+   $ openocd -f interface/cmsis-dap.cfg -f target/at32f437xx.cfg -c "program 
nuttx.bin 0x08000000 verify reset exit"
+
+Using J-Link:
+
+.. code-block:: console
+
+   $ JLinkExe -device AT32F437VMT7 -if SWD -speed 4000 -autoconnect 1
+   J-Link> loadfile nuttx.hex
+   J-Link> r
+   J-Link> g
+   J-Link> q
+
+Using pyOCD:
+
+.. code-block:: console
+
+   $ pyocd pack install at32f437vmt7
+   $ pyocd flash -t at32f437vmt7 nuttx.bin

Reply via email to