mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 23:40:19 +08:00
Documentation: migrate STM32U5
This commit is contained in:
@@ -0,0 +1,138 @@
|
|||||||
|
==============
|
||||||
|
B-U585I-IOT02A
|
||||||
|
==============
|
||||||
|
|
||||||
|
This README file discusses the port of NuttX to the STMicroelectronics
|
||||||
|
B-U585I-IOT02A board. That board features the STM32U585AII6QU MCU with 2MiB
|
||||||
|
of Flash and 768KiB of SRAM.
|
||||||
|
|
||||||
|
Status
|
||||||
|
======
|
||||||
|
2022-02-13: With TrustedFirmware-M from STM32CubeU5 and signing the Apache
|
||||||
|
NuttX binary image to get a tfm_ns_init.bin, the board now boots and the
|
||||||
|
basic NSH configuration works with Apache NuttX as the OS running in the
|
||||||
|
non-secure world.
|
||||||
|
|
||||||
|
2022-04-03: The dependency on TrustedFirmware-M was dropped. I.e. the
|
||||||
|
b-u585i-iot02a:nsh configuration now runs standalone.
|
||||||
|
|
||||||
|
Clock Source
|
||||||
|
============
|
||||||
|
|
||||||
|
Only the low speed external (LSE) 32.768kHz crystal (X2) is installed in
|
||||||
|
default configurations.
|
||||||
|
|
||||||
|
========= ====
|
||||||
|
FUNC GPIO
|
||||||
|
========= ====
|
||||||
|
OSC32_IN PC14
|
||||||
|
OSC32_OUT PC15
|
||||||
|
========= ====
|
||||||
|
|
||||||
|
Arduino Connector
|
||||||
|
=================
|
||||||
|
|
||||||
|
CN13 / SPI1 / D10 - D13
|
||||||
|
|
||||||
|
========= ====
|
||||||
|
FUNC GPIO
|
||||||
|
========= ====
|
||||||
|
SPI1_NSS PE12
|
||||||
|
SPI1_SCK PE13
|
||||||
|
SPI1_MISO PE14
|
||||||
|
SPI1_MOSI PE15
|
||||||
|
========= ====
|
||||||
|
|
||||||
|
Serial Consoles
|
||||||
|
===============
|
||||||
|
|
||||||
|
Virtual COM Port on USART1
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
Default board is configured to use USART1 as console. USART1 is connected
|
||||||
|
to the ST-LINKV3E Virtual COM port as well as made available on connector
|
||||||
|
CN9.
|
||||||
|
|
||||||
|
Pins and Connectors:
|
||||||
|
|
||||||
|
==== ==== ====== ========
|
||||||
|
FUNC GPIO Pin NAME
|
||||||
|
==== ==== ====== ========
|
||||||
|
TXD: PA9 CN9 14 T.VCP_TX
|
||||||
|
RXD: PA10 CN9 13 T.VCP_RX
|
||||||
|
==== ==== ====== ========
|
||||||
|
|
||||||
|
Configurations
|
||||||
|
==============
|
||||||
|
|
||||||
|
Information Common to All Configurations
|
||||||
|
----------------------------------------
|
||||||
|
Each configuration is maintained in a sub-directory and can be
|
||||||
|
selected as follow::
|
||||||
|
|
||||||
|
tools/configure.sh b-u585i-iot02a:<subdir>
|
||||||
|
|
||||||
|
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 oldconfig
|
||||||
|
make
|
||||||
|
|
||||||
|
The <subdir> that is provided above as an argument to the tools/configure.sh
|
||||||
|
must be is one of the following.
|
||||||
|
|
||||||
|
NOTES:
|
||||||
|
|
||||||
|
1. These configurations use the mconf-based configuration tool. To
|
||||||
|
change any of these 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. Unless stated otherwise, all configurations generate console
|
||||||
|
output on USART3, as described above under "Serial Console". The
|
||||||
|
elevant configuration settings are listed below::
|
||||||
|
|
||||||
|
CONFIG_STM32L5_USART3=y
|
||||||
|
CONFIG_STM32L5_USART3_SERIALDRIVER=y
|
||||||
|
CONFIG_STM32L5_USART=y
|
||||||
|
|
||||||
|
CONFIG_USART3_SERIALDRIVER=y
|
||||||
|
CONFIG_USART3_SERIAL_CONSOLE=y
|
||||||
|
|
||||||
|
CONFIG_USART3_RXBUFSIZE=256
|
||||||
|
CONFIG_USART3_TXBUFSIZE=256
|
||||||
|
CONFIG_USART3_BAUD=115200
|
||||||
|
CONFIG_USART3_BITS=8
|
||||||
|
CONFIG_USART3_PARITY=0
|
||||||
|
CONFIG_USART3_2STOP=0
|
||||||
|
|
||||||
|
3. All of these configurations are set up to build under Linux using the
|
||||||
|
"GNU Tools for ARM Embedded Processors" that is maintained by ARM
|
||||||
|
(unless stated otherwise in the description of the configuration).
|
||||||
|
|
||||||
|
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
||||||
|
|
||||||
|
That toolchain selection can easily be reconfigured using
|
||||||
|
'make menuconfig'. Here are the relevant current settings:
|
||||||
|
|
||||||
|
Build Setup::
|
||||||
|
CONFIG_HOST_LINUX=y : Linux environment
|
||||||
|
|
||||||
|
System Type -> Toolchain::
|
||||||
|
CONFIG_ARM_TOOLCHAIN_GNU_EABI=y : GNU ARM EABI toolchain
|
||||||
|
|
||||||
|
Configuration sub-directories
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
nsh:
|
||||||
|
----
|
||||||
|
|
||||||
|
Configures the NuttShell (nsh) located at examples/nsh. This
|
||||||
|
configuration is focused on low level, command-line driver testing.
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
===============
|
||||||
|
NUCLEO-U5A5ZJ-Q
|
||||||
|
===============
|
||||||
|
|
||||||
|
This README file discusses the port of NuttX to the STMicroelectronics
|
||||||
|
NUCLEO-U5A5ZJ-Q board. That board features the STM32U5A5ZJT6Q MCU with 4MiB
|
||||||
|
of Flash and 2500KiB of SRAM.
|
||||||
|
|
||||||
|
Status
|
||||||
|
======
|
||||||
|
|
||||||
|
2023-07-16: Initial port - works all ram memory and i2c(not extensively tested)
|
||||||
|
The i2c driver is based on stm32l4 one
|
||||||
|
|
||||||
|
Clock Source
|
||||||
|
============
|
||||||
|
|
||||||
|
Only the low speed external (LSE) 32.768kHz crystal (X2) is installed in
|
||||||
|
default configurations.
|
||||||
|
|
||||||
|
========= ====
|
||||||
|
FUNC GPIO
|
||||||
|
========= ====
|
||||||
|
OSC32_IN PC14
|
||||||
|
OSC32_OUT PC15
|
||||||
|
========= ====
|
||||||
|
|
||||||
|
Serial Consoles
|
||||||
|
===============
|
||||||
|
|
||||||
|
Virtual COM Port on USART1
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
Default board is configured to use USART1 as console. USART1 is connected
|
||||||
|
to the ST-LINKV3E Virtual COM port as well as made available on connector
|
||||||
|
CN10 (need some rework on PCB).
|
||||||
|
|
||||||
|
Pins and Connectors:
|
||||||
|
|
||||||
|
==== ==== ======= ========
|
||||||
|
FUNC GPIO Pin NAME
|
||||||
|
==== ==== ======= ========
|
||||||
|
TXD: PA9 CN10 14 T.VCP_TX
|
||||||
|
RXD: PA10 CN9 13 T.VCP_RX
|
||||||
|
==== ==== ======= ========
|
||||||
|
|
||||||
|
Configurations
|
||||||
|
==============
|
||||||
|
|
||||||
|
Information Common to All Configurations
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
There is only one configuration which can be selected as follow::
|
||||||
|
|
||||||
|
tools/configure.sh nucleo-u5a5zj-q:nsh
|
||||||
|
|
||||||
|
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 menuconfig
|
||||||
|
make
|
||||||
|
|
||||||
|
The <subdir> that is provided above as an argument to the tools/configure.sh
|
||||||
|
must be is one of the following.
|
||||||
|
|
||||||
|
NOTES:
|
||||||
|
|
||||||
|
1. These configurations use the mconf-based configuration tool. To
|
||||||
|
change any of these 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. All of these configurations are set up to build under Linux using the
|
||||||
|
"GNU Tools for ARM Embedded Processors" that is maintained by ARM
|
||||||
|
(unless stated otherwise in the description of the configuration).
|
||||||
|
|
||||||
|
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
==========
|
||||||
|
ST STM32U5
|
||||||
|
==========
|
||||||
|
|
||||||
|
The STM32U5 is a chip based on ARM Cortex-M33.
|
||||||
|
|
||||||
|
Supported MCUs
|
||||||
|
==============
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
Peripheral Support
|
||||||
|
==================
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
Supported Boards
|
||||||
|
================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:glob:
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
boards/*/*
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
B-U585I-IOT02A README
|
|
||||||
======================
|
|
||||||
|
|
||||||
This README file discusses the port of NuttX to the STMicroelectronics
|
|
||||||
B-U585I-IOT02A board. That board features the STM32U585AII6QU MCU with 2MiB
|
|
||||||
of Flash and 768KiB of SRAM.
|
|
||||||
|
|
||||||
Contents
|
|
||||||
========
|
|
||||||
|
|
||||||
- Status
|
|
||||||
- Serial Console
|
|
||||||
- Configurations
|
|
||||||
|
|
||||||
Status
|
|
||||||
======
|
|
||||||
2022-02-13: With TrustedFirmware-M from STM32CubeU5 and signing the Apache
|
|
||||||
NuttX binary image to get a tfm_ns_init.bin, the board now boots and the
|
|
||||||
basic NSH configuration works with Apache NuttX as the OS running in the
|
|
||||||
non-secure world.
|
|
||||||
|
|
||||||
2022-04-03: The dependency on TrustedFirmware-M was dropped. I.e. the
|
|
||||||
b-u585i-iot02a:nsh configuration now runs standalone.
|
|
||||||
|
|
||||||
Clock Source
|
|
||||||
============
|
|
||||||
|
|
||||||
Only the low speed external (LSE) 32.768kHz crystal (X2) is installed in
|
|
||||||
default configurations.
|
|
||||||
|
|
||||||
FUNC GPIO
|
|
||||||
--------- ----
|
|
||||||
OSC32_IN PC14
|
|
||||||
OSC32_OUT PC15
|
|
||||||
--------- ----
|
|
||||||
|
|
||||||
Arduino Connector
|
|
||||||
=================
|
|
||||||
|
|
||||||
CN13 / SPI1 / D10 - D13
|
|
||||||
|
|
||||||
FUNC GPIO
|
|
||||||
--------- ----
|
|
||||||
SPI1_NSS PE12
|
|
||||||
SPI1_SCK PE13
|
|
||||||
SPI1_MISO PE14
|
|
||||||
SPI1_MOSI PE15
|
|
||||||
--------- ----
|
|
||||||
|
|
||||||
Serial Consoles
|
|
||||||
===============
|
|
||||||
|
|
||||||
Virtual COM Port on USART1
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Default board is configured to use USART1 as console. USART1 is connected
|
|
||||||
to the ST-LINKV3E Virtual COM port as well as made available on connector
|
|
||||||
CN9.
|
|
||||||
|
|
||||||
Pins and Connectors:
|
|
||||||
|
|
||||||
FUNC GPIO Connector
|
|
||||||
Pin NAME
|
|
||||||
---- ---- ------ --------
|
|
||||||
TXD: PA9 CN9 14 T.VCP_TX
|
|
||||||
RXD: PA10 CN9 13 T.VCP_RX
|
|
||||||
---- ---- ------ --------
|
|
||||||
|
|
||||||
Configurations
|
|
||||||
==============
|
|
||||||
|
|
||||||
Information Common to All Configurations
|
|
||||||
----------------------------------------
|
|
||||||
Each configuration is maintained in a sub-directory and can be
|
|
||||||
selected as follow:
|
|
||||||
|
|
||||||
tools/configure.sh b-u585i-iot02a:<subdir>
|
|
||||||
|
|
||||||
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 oldconfig
|
|
||||||
make
|
|
||||||
|
|
||||||
The <subdir> that is provided above as an argument to the tools/configure.sh
|
|
||||||
must be is one of the following.
|
|
||||||
|
|
||||||
NOTES:
|
|
||||||
|
|
||||||
1. These configurations use the mconf-based configuration tool. To
|
|
||||||
change any of these 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. Unless stated otherwise, all configurations generate console
|
|
||||||
output on USART3, as described above under "Serial Console". The
|
|
||||||
elevant configuration settings are listed below:
|
|
||||||
|
|
||||||
CONFIG_STM32L5_USART3=y
|
|
||||||
CONFIG_STM32L5_USART3_SERIALDRIVER=y
|
|
||||||
CONFIG_STM32L5_USART=y
|
|
||||||
|
|
||||||
CONFIG_USART3_SERIALDRIVER=y
|
|
||||||
CONFIG_USART3_SERIAL_CONSOLE=y
|
|
||||||
|
|
||||||
CONFIG_USART3_RXBUFSIZE=256
|
|
||||||
CONFIG_USART3_TXBUFSIZE=256
|
|
||||||
CONFIG_USART3_BAUD=115200
|
|
||||||
CONFIG_USART3_BITS=8
|
|
||||||
CONFIG_USART3_PARITY=0
|
|
||||||
CONFIG_USART3_2STOP=0
|
|
||||||
|
|
||||||
3. All of these configurations are set up to build under Linux using the
|
|
||||||
"GNU Tools for ARM Embedded Processors" that is maintained by ARM
|
|
||||||
(unless stated otherwise in the description of the configuration).
|
|
||||||
|
|
||||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
|
||||||
|
|
||||||
That toolchain selection can easily be reconfigured using
|
|
||||||
'make menuconfig'. Here are the relevant current settings:
|
|
||||||
|
|
||||||
Build Setup:
|
|
||||||
CONFIG_HOST_LINUX=y : Linux environment
|
|
||||||
|
|
||||||
System Type -> Toolchain:
|
|
||||||
CONFIG_ARM_TOOLCHAIN_GNU_EABI=y : GNU ARM EABI toolchain
|
|
||||||
|
|
||||||
Configuration sub-directories
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
nsh:
|
|
||||||
|
|
||||||
Configures the NuttShell (nsh) located at examples/nsh. This
|
|
||||||
configuration is focused on low level, command-line driver testing.
|
|
||||||
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
NUCLEO-U5A5ZJ-Q README
|
|
||||||
======================
|
|
||||||
|
|
||||||
This README file discusses the port of NuttX to the STMicroelectronics
|
|
||||||
NUCLEO-U5A5ZJ-Q board. That board features the STM32U5A5ZJT6Q MCU with 4MiB
|
|
||||||
of Flash and 2500KiB of SRAM.
|
|
||||||
|
|
||||||
Contents
|
|
||||||
========
|
|
||||||
|
|
||||||
- Status
|
|
||||||
- Serial Console
|
|
||||||
- Configurations
|
|
||||||
|
|
||||||
Status
|
|
||||||
======
|
|
||||||
2023-07-16: Initial port - works all ram memory and i2c(not extensively tested)
|
|
||||||
The i2c driver is based on stm32l4 one
|
|
||||||
|
|
||||||
Clock Source
|
|
||||||
============
|
|
||||||
|
|
||||||
Only the low speed external (LSE) 32.768kHz crystal (X2) is installed in
|
|
||||||
default configurations.
|
|
||||||
|
|
||||||
FUNC GPIO
|
|
||||||
--------- ----
|
|
||||||
OSC32_IN PC14
|
|
||||||
OSC32_OUT PC15
|
|
||||||
--------- ----
|
|
||||||
|
|
||||||
Serial Consoles
|
|
||||||
===============
|
|
||||||
|
|
||||||
Virtual COM Port on USART1
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Default board is configured to use USART1 as console. USART1 is connected
|
|
||||||
to the ST-LINKV3E Virtual COM port as well as made available on connector
|
|
||||||
CN10 (need some rework on PCB).
|
|
||||||
|
|
||||||
Pins and Connectors:
|
|
||||||
|
|
||||||
FUNC GPIO Connector
|
|
||||||
Pin NAME
|
|
||||||
---- ---- ------ --------
|
|
||||||
TXD: PA9 CN10 14 T.VCP_TX
|
|
||||||
RXD: PA10 CN9 13 T.VCP_RX
|
|
||||||
---- ---- ------ --------
|
|
||||||
|
|
||||||
Configurations
|
|
||||||
==============
|
|
||||||
|
|
||||||
Information Common to All Configurations
|
|
||||||
----------------------------------------
|
|
||||||
There is only one configuration which can be selected as follow:
|
|
||||||
|
|
||||||
tools/configure.sh nucleo-u5a5zj-q:nsh
|
|
||||||
|
|
||||||
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 menuconfig
|
|
||||||
make
|
|
||||||
|
|
||||||
The <subdir> that is provided above as an argument to the tools/configure.sh
|
|
||||||
must be is one of the following.
|
|
||||||
|
|
||||||
NOTES:
|
|
||||||
|
|
||||||
1. These configurations use the mconf-based configuration tool. To
|
|
||||||
change any of these 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. All of these configurations are set up to build under Linux using the
|
|
||||||
"GNU Tools for ARM Embedded Processors" that is maintained by ARM
|
|
||||||
(unless stated otherwise in the description of the configuration).
|
|
||||||
|
|
||||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user