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/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 6633f9d907 boards/arm/nucleo-f429zi: Add example trace 6633f9d907 is described below commit 6633f9d907c3d88b0a9d98f414408a38b8f84071 Author: William Yang <yangw...@lixiang.com> AuthorDate: Wed May 14 20:00:55 2025 +0800 boards/arm/nucleo-f429zi: Add example trace Add example trace for board nucleo-f429zi Signed-off-by: yangwei-x <yangw...@lixiang.com> --- .../arm/stm32f4/boards/nucleo-f429zi/index.rst | 210 +++++++++++++++++++++ .../stm32/nucleo-f429zi/configs/trace/defconfig | 90 +++++++++ 2 files changed, 300 insertions(+) diff --git a/Documentation/platforms/arm/stm32f4/boards/nucleo-f429zi/index.rst b/Documentation/platforms/arm/stm32f4/boards/nucleo-f429zi/index.rst index 9aac7d1b7d..6cd589ae3e 100644 --- a/Documentation/platforms/arm/stm32f4/boards/nucleo-f429zi/index.rst +++ b/Documentation/platforms/arm/stm32f4/boards/nucleo-f429zi/index.rst @@ -5,3 +5,213 @@ ST Nucleo F429ZI .. tags:: chip:stm32, chip:stm32f4, chip:stm32f429 The Nucleo F429ZI is a member of the Nucleo-144 board family. + +This page discusses issues unique to NuttX configurations for the ST +Nucleo F429ZI board from ST Micro. See + + http://www.st.com/en/evaluation-tools/nucleo-f429zi.html + +NucleoF429ZI: + +- Microprocessor: 32-bit ARM Cortex M4 with 180 MHz max CPU frequency +- Memory: 2 MB Flash and 256+4 KB SRAM including 64-Kbyte of core coupled memory +- ADC: 3x12-bit ADC with 24 channels +- DMA: 16-stream DMA controller with FIFOs and burst support +- Timers: Up to 17 timers: up to 12 16-bit, 2 32-bit timers, two + watchdog timers, and a SysTick timer +- GPIO: Up to 168 I/O ports with interrupt capability +- I2C: Up to 3 I2C interfaces +- USARTs: Up to 4 USARTs +- SPIs: Up to 6 SPIs (45 Mbit/s) + + +See: + https://www.st.com/en/microcontrollers-microprocessors/stm32f429zi.html + + +Hardware +======== + +Buttons +------- + +B1 USER: the user button is connected to the I/O PC13 (pin 2) of the STM32 +microcontroller. + +LEDs +---- + +The Nucleo F410RB provide a single user LED, LD2. LD2 +is the green LED connected to Arduino signal D13 corresponding to MCU I/O +PA5 (pin 21) or PB13 (pin 34) depending on the STM32target. + +- When the I/O is HIGH value, the LED is on. +- When the I/O is LOW, the LED is off. + +These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is +defined. In that case, the usage by the board port is defined in +include/board.h and src/sam_leds.c. The LEDs are used to encode OS-related +events as follows when the red LED (PE24) is available:: + + SYMBOL Meaning LD2 + ------------------- ----------------------- ----------- + LED_STARTED NuttX has been started OFF + LED_HEAPALLOCATE Heap has been allocated OFF + LED_IRQSENABLED Interrupts enabled OFF + LED_STACKCREATED Idle stack created ON + LED_INIRQ In an interrupt No change + LED_SIGNAL In a signal handler No change + LED_ASSERTION An assertion failed No change + LED_PANIC The system has crashed Blinking + LED_IDLE MCU is is sleep mode Not used + +Thus if LD2, NuttX has successfully booted and is, apparently, running +normally. If LD2 is flashing at approximately 2Hz, then a fatal error +has been detected and the system has halted. + +Serial Consoles +=============== + +USART1 +------ + +Pins and Connectors:: + + RXD: PA11 CN10 pin 14 + PB7 CN7 pin 21 + TXD: PA10 CN9 pin 3, CN10 pin 33 + PB6 CN5 pin 3, CN10 pin 17 + + NOTE: You may need to edit the include/board.h to select different USART1 + pin selections. + +TTL to RS-232 converter connection:: + + Nucleo CN10 STM32F429ZI + ----------- ------------ + Pin 21 PA9 USART1_RX *Warning you make need to reverse RX/TX on + Pin 33 PA10 USART1_TX some RS-232 converters + Pin 20 GND + Pin 8 U5V + +To configure USART1 as the console:: + + CONFIG_STM32_USART1=y + CONFIG_USART1_SERIALDRIVER=y + CONFIG_USART1_SERIAL_CONSOLE=y + CONFIG_USART1_RXBUFSIZE=256 + CONFIG_USART1_TXBUFSIZE=256 + CONFIG_USART1_BAUD=115200 + CONFIG_USART1_BITS=8 + CONFIG_USART1_PARITY=0 + CONFIG_USART1_2STOP=0 + +USART2 +------ + +Pins and Connectors:: + + RXD: PA3 CN9 pin 1 (See SB13, 14, 62, 63). CN10 pin 37 + PD6 + TXD: PA2 CN9 pin 2(See SB13, 14, 62, 63). CN10 pin 35 + PD5 + + UART2 is the default in all of these configurations. + +TTL to RS-232 converter connection:: + + Nucleo CN9 STM32F429ZI + ----------- ------------ + Pin 1 PA3 USART2_RX *Warning you make need to reverse RX/TX on + Pin 2 PA2 USART2_TX some RS-232 converters + +Solder Bridges. This configuration requires: + +- SB62 and SB63 Closed: PA2 and PA3 on STM32 MCU are connected to D1 and D0 + (pin 7 and pin 8) on Arduino connector CN9 and ST Morpho connector CN10 + as USART signals. Thus SB13 and SB14 should be OFF. + +- SB13 and SB14 Open: PA2 and PA3 on STM32F103C8T6 (ST-LINK MCU) are + disconnected to PA3 and PA2 on STM32 MCU. + +To configure USART2 as the console:: + + CONFIG_STM32_USART2=y + CONFIG_USART2_SERIALDRIVER=y + CONFIG_USART2_SERIAL_CONSOLE=y + CONFIG_USART2_RXBUFSIZE=256 + CONFIG_USART2_TXBUFSIZE=256 + CONFIG_USART2_BAUD=115200 + CONFIG_USART2_BITS=8 + CONFIG_USART2_PARITY=0 + CONFIG_USART2_2STOP=0 + +USART6 +------ + +Pins and Connectors:: + + RXD: PC7 CN5 pin2, CN10 pin 19 + PA12 CN10, pin 12 + TXD: PC6 CN10, pin 4 + PA11 CN10, pin 14 + +To configure USART6 as the console:: + + CONFIG_STM32_USART6=y + CONFIG_USART6_SERIALDRIVER=y + CONFIG_USART6_SERIAL_CONSOLE=y + CONFIG_USART6_RXBUFSIZE=256 + CONFIG_USART6_TXBUFSIZE=256 + CONFIG_USART6_BAUD=115200 + CONFIG_USART6_BITS=8 + CONFIG_USART6_PARITY=0 + CONFIG_USART6_2STOP=0 + +Virtual COM Port +---------------- + +Yet another option is to use UART2 and the USB virtual COM port. This +option may be more convenient for long term development, but is painful +to use during board bring-up. + +Solder Bridges. This configuration requires: + +- SB62 and SB63 Open: PA2 and PA3 on STM32 MCU are disconnected to D1 + and D0 (pin 7 and pin 8) on Arduino connector CN9 and ST Morpho + connector CN10. + +- SB13 and SB14 Closed: PA2 and PA3 on STM32F103C8T6 (ST-LINK MCU) are + connected to PA3 and PA2 on STM32 MCU to have USART communication + between them. Thus SB61, SB62 and SB63 should be OFF. + +Configuring USART2 is the same as given above. + +Question: What BAUD should be configure to interface with the Virtual +COM port? 115200 8N1? + +Default: +As shipped, SB62 and SB63 are open and SB13 and SB14 closed, so the +virtual COM port is enabled. + +Configurations +============== + +trace +--- + +Configures the trace located at apps/system/trace for the +Nucleo-F429ZI board. The Configuration enables the serial interfaces +on UART2. Support for builtin applications is enabled, and selected +application trace. + +NOTES: + +1. This configuration uses the mconf-based configuration tool. To + change this configuration 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. diff --git a/boards/arm/stm32/nucleo-f429zi/configs/trace/defconfig b/boards/arm/stm32/nucleo-f429zi/configs/trace/defconfig new file mode 100644 index 0000000000..3e373893ad --- /dev/null +++ b/boards/arm/stm32/nucleo-f429zi/configs/trace/defconfig @@ -0,0 +1,90 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +# CONFIG_ARCH_FPU is not set +# CONFIG_STM32_FLASH_PREFETCH is not set +# CONFIG_STM32_USE_LEGACY_PINMAP is not set +CONFIG_ARCH="arm" +CONFIG_ARCH_BOARD="nucleo-f429zi" +CONFIG_ARCH_BOARD_NUCLEO_F429ZI=y +CONFIG_ARCH_BUTTONS=y +CONFIG_ARCH_CHIP="stm32" +CONFIG_ARCH_CHIP_STM32=y +CONFIG_ARCH_CHIP_STM32F429Z=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_BOARD_LOOPSPERMSEC=16717 +CONFIG_BUILTIN=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DRIVERS_NOTE=y +CONFIG_DRIVERS_NOTECTL=y +CONFIG_ETH0_PHY_LAN8742A=y +CONFIG_FS_PROCFS=y +CONFIG_FS_PROCFS_REGISTER=y +CONFIG_FS_TMPFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INTELHEX_BINARY=y +CONFIG_LINE_MAX=64 +CONFIG_MM_REGIONS=2 +CONFIG_NET=y +CONFIG_NETDB_DNSCLIENT=y +CONFIG_NETINIT_DHCPC=y +CONFIG_NETINIT_NOMAC=y +CONFIG_NETUTILS_DISCOVER=y +CONFIG_NETUTILS_TELNETD=y +CONFIG_NETUTILS_WEBCLIENT=y +CONFIG_NET_ARP_IPIN=y +CONFIG_NET_BROADCAST=y +CONFIG_NET_ETH_PKTSIZE=1500 +CONFIG_NET_ICMP_SOCKET=y +CONFIG_NET_IGMP=y +CONFIG_NET_LOOPBACK=y +CONFIG_NET_ROUTE=y +CONFIG_NET_STATISTICS=y +CONFIG_NET_TCP=y +CONFIG_NET_UDP=y +CONFIG_NET_UDP_CHECKSUMS=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_READLINE=y +CONFIG_NUCLEO_F429ZI_CONSOLE_VIRTUAL=y +CONFIG_PREALLOC_TIMERS=4 +CONFIG_RAM_SIZE=114688 +CONFIG_RAM_START=0x20000000 +CONFIG_RAW_BINARY=y +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_INSTRUMENTATION=y +CONFIG_SCHED_INSTRUMENTATION_DUMP=y +CONFIG_SCHED_INSTRUMENTATION_FILTER=y +CONFIG_SCHED_LPWORK=y +CONFIG_SCHED_WAITPID=y +CONFIG_SPI=y +CONFIG_STACK_USAGE=y +CONFIG_START_DAY=6 +CONFIG_START_MONTH=12 +CONFIG_START_YEAR=2011 +CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG=y +CONFIG_STM32_ETHMAC=y +CONFIG_STM32_FLASH_CONFIG_I=y +CONFIG_STM32_PHYADDR=0 +CONFIG_STM32_PHYSR=31 +CONFIG_STM32_PHYSR_100FD=0x0018 +CONFIG_STM32_PHYSR_100HD=0x0008 +CONFIG_STM32_PHYSR_10FD=0x0014 +CONFIG_STM32_PHYSR_10HD=0x0004 +CONFIG_STM32_PHYSR_ALTCONFIG=y +CONFIG_STM32_PHYSR_ALTMODE=0x001c +CONFIG_STM32_RMII_EXTCLK=y +CONFIG_SYSTEM_DHCPC_RENEW=y +CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_PING=y +CONFIG_SYSTEM_TRACE=y +CONFIG_SYSTEM_TRACE_STACKSIZE=8192 +CONFIG_TASK_NAME_SIZE=32 +CONFIG_USART3_SERIAL_CONSOLE=y