nuttx/boards/arm/stm32f7/stm32f769i-disco
cuiziwei 25eb09c3bb nuttx/boards:add KEEP to *(.init_array .init_array.*)
replace *(.init_array .init_array.*) with KEEP(*(.init_array .init_array.*)).

The KEEP statement within a linker script will instruct the linker to keep the specified section, even if no symbols inside it are referenced. This statement is used within the SECTIONS section of the linker script. This becomes relevant when garbage collection is performed at link time, enabled by passing the --gc-sections switch to the linker. The KEEP statement instructs the linker to use the specified section as a root node when creating a dependency graph, looking for unused sections. Essentially forcing the section to be marked as used.

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2023-08-05 05:02:25 -07:00
..
configs boards/stm32f7: rework boards to not use CONFIG_STM32F7_USE_LEGACY_PINMAP=y 2023-05-12 11:43:08 +08:00
include Fix nuttx coding style 2023-07-11 23:32:17 +08:00
kernel Remove the unnecessary cast for main_t, NULL and argv 2022-10-18 08:51:45 +02:00
scripts nuttx/boards:add KEEP to *(.init_array .init_array.*) 2023-08-05 05:02:25 -07:00
src cmake: add support for stm32f7 2023-07-11 15:52:56 -03:00
CMakeLists.txt cmake: add support for stm32f7 2023-07-11 15:52:56 -03:00
Kconfig
README.txt

README
======

This README discusses issues unique to NuttX configurations for the
STMicro STM32F769I-DISCO development board featuring the STM32F769NIH6
MCU. The STM32F769NIH6 is a 216MHz Cortex-M7 operating with 2048K Flash
memory and 512Kb SRAM. The board features:

  - On-board ST-LINK/V2 for programming and debugging,
  - Mbed-enabled (mbed.org)
  - 4-inch 800x472 color LCD-TFT with capacitive touch screen
  - SAI audio codec
  - Audio line in and line out jack
  - Two ST MEMS microphones
  - SPDIF RCA input connector
  - Two pushbuttons (user and reset)
  - 512-Mbit Quad-SPI Flash memory
  - 128-Mbit SDRAM
  - Connector for microSD card
  - RF-EEPROM daughterboard connector
  - USB OTG HS with Micro-AB connectors
  - Ethernet connector compliant with IEEE-802.3-2002 and PoE

Refer to the http://www.st.com website for further information about this
board (search keyword: stm32f769i-disco)

Contents
========

  - STATUS
  - Development Environment
  - LEDs and Buttons
  - Serial Console
  - Configurations

STATUS
======

  2019-06: PWM support has been tested as working.

  2017-07:  The basic NSH configuration is functional using a serial
    console on USART1, which is connected to the "virtual com port"
    of the ST/LINK USB adapter.

  2017-07:  STM32 F7 Ethernet appears to be functional, but has had
    only light testing.

  Work in progress: Use LCD over DSI interface, rest of board.

Development Environment
=======================

  The Development environments for the STM32F769I-DISCO board are identical
  to the environments for other STM32F boards.  For full details on the
  environment options and setup, see the README.txt file in the
  boards/arm/stm32f7/stm32f769i-disco directory.

LEDs and Buttons
================

  LEDs
  ----
  The STM32F769I-DISCO board has numerous LEDs but only one, LD3 located
  near the reset button, that can be controlled by software.

  LD3 is controlled by PI1 which is also the SPI2_SCK at the Arduino
  interface.  One end of LD3 is grounded so a high output on PI1 will
  illuminate the LED.

  This LED is 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/stm32_leds.c. The LEDs are used to encode OS-related events as
  follows:

    SYMBOL              Meaning                 LD3
    ------------------- ----------------------- ------
    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         N/C
    LED_SIGNAL          In a signal handler     N/C
    LED_ASSERTION       An assertion failed     N/C
    LED_PANIC           The system has crashed  FLASH

  Thus is LD3 is statically on, NuttX has successfully  booted and is,
  apparently, running normally.  If LD3 is flashing at approximately
  2Hz, then a fatal error has been detected and the system has halted.

  Buttons
  -------
  Pushbutton B1, labelled "User", is connected to GPIO PI11.  A high
  value will be sensed when the button is depressed.

Serial Console
==============

  Use the serial interface the ST/LINK provides to the USB host.

Configurations
==============

  Common Configuration Information
  --------------------------------
  Each STM32F769I-DISCO configuration is maintained in a sub-directory and
  can be selected as follow:

    tools/configure.sh stm32f769i-disco:<subdir>

  Where <subdir> is one of the sub-directories listed below.

Configuration Directories
-------------------------

  nsh:
  ---
    Configures the NuttShell (NSH) located at apps/examples/nsh.  The
    Configuration enables the serial interfaces on UART1.
    Otherwise nothing is enabled, so that config is a starting point
    for initial testing.
    Support for builtin applications is enabled, but in the base
    configuration no builtin applications are selected.

    1. This config supports the PWM test (apps/examples/pwm) but this must
       be manually enabled by selecting:

       CONFIG_PWM=y              : Enable the generic PWM infrastructure
       CONFIG_EXAMPLES_PWM=y     : Enable the PWM example app

       And these for enabling the STM32 timer PWM channel:

       CONFIG_STM32F7_TIM1=y
       CONFIG_STM32F7_TIM1_PWM=y
       CONFIG_STM32F7_TIM1_CHANNEL=4

  nsh-ehternet:
  ---
    Same as above but a lot more hardware peripherals enabled,
    in particular ethernet, as well as networking stuff.