Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STM32L4: Support all STM32L4 MCUs with all features. Add NUCLEO boards. #7123

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Commits on Apr 15, 2021

  1. STM32L4: Support all STM32L4 MCUs with all features.

    Add support for all STM32L4 MCUs with at least 256KB Flash,
      except L4+ series.
    Add missing features to already supported MCUs.
    
    adc.c: VBAT_DIV add all STM32L4.
    boards/stm32l432.ld: Fix error in ORIGIN(FLASH_FS).
    boards/stm32l452_af.csv: Fix missing EVENTOUT on PH3.
    flashbdev.c: Add all STM32L4.
    mpconfigboard_common.h: Add support for all MCUs with only USB_FS.
    stm32_it.c: Add support for all MCUs with only USB_FS.
    usbd_conf.c: Add support for all MCUs with only USB_FS.
    boards/stm32l433_af.csv: Added.
    
    Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
    chrismas9 committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    5757cd5 View commit details
    Browse the repository at this point in the history
  2. stm32/boards/*.ld: Support all STM32L4 MCUs, simplify memory config.

    boards/stm32l4*.ld: Add all MCU names and sizes to linker scripts.
                       Calculate ORIGIN(FLASH_FS) to simplify changing FS size.
                       no need for duplicate values or hex entries.
    
    The STM32L43x series with 256KB Flash have limited space for a file system.
      Depending on options (FRAMEBUF 4KB, CANbus 6KB, USB 10KB, etc) the file
      system space using LittleFS1 is typically between 14KB and 28KB.
      This needs to be tuned on a board by board basis. The linker script is
      split into a generic stm32l4xx.ld and board specific stm32l43x.ld.
      The stack / heap trade-off can also be tuned in the board linker script.
    
    boards/stm32l4xx.ld: Generic STM32L4 linker script for RAM,
                         except L47x which does not have contiguous RAM.
    boards/NUCLEO_L432KC/stm32l43x.ld: Define FLASH and stack for board.
    boards/NUCLEO_L432KC/mpconfigboard.mk: Use new linker scripts.
    boards/NUCLEO_L432KC/mpconfigboard.h: Cleanup and add comments on memory
        usage of modules to help optimise file system size.
    
    Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
    chrismas9 committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    3dd65e0 View commit details
    Browse the repository at this point in the history
  3. stm32/boards: Add new NUCLEO ports.

    NUCLEO_L432KC_LFS1: With 28KB LFS1 file system.
    NUCLEO_L433RC-P: No file system. Does not support low power SMPS.
    NUCLEO_L433RC-P_LFS1: With 28KB LFS1 file system.
    NUCLEO_L433RC-P_USB_LFS1: With USB and 16KB LFS1 file system.
    NUCLEO_L452RE-P: Does not support low power SMPS.
    
    The L433 ports show how to fine tune the file system size
      depending on options.
    The -P boards have a low power mode with SMPS,
      but low mode power is not supported.
    
    Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
    chrismas9 committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    12fdee4 View commit details
    Browse the repository at this point in the history