25eb09c3bb
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> |
||
---|---|---|
.. | ||
configs | ||
include | ||
kernel | ||
scripts | ||
src | ||
CMakeLists.txt | ||
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.