nuttx/configs/stm32f769i-disco
Gregory Nutt 22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
..
include configs/*/include; Remove prototype of stm32_boardinitialize() from board.h files. The authorative prototype is in arch/arm/src/stm32*/stm32*_start.h 2017-12-16 20:02:03 -06:00
kernel Simple renames as a first step to a separate board config 2017-07-19 19:07:53 +02:00
nsh Minor cosmetic updates from review of last PR. 2017-07-20 07:39:57 -06:00
nsh-ethernet This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE. 2018-07-04 14:10:40 -06:00
scripts configs/: Add definition of strip to many Make.defs files. 2018-03-25 09:25:37 -06:00
src Minor cosmetic updates from review of last PR. 2017-07-20 07:39:57 -06:00
Kconfig Simple renames as a first step to a separate board config 2017-07-19 19:07:53 +02:00
README.txt Remove instructures to CD to tools/ before running ./configure.sh 2018-05-09 11:41:46 -06:00

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
======

  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
  config/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.

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