Release Notes 1.14.4 Print



This is the Linux BSP (Board Support Package) for the Emcraft Systems STM32F7 System-On-Module (SOM) Starter Kit.

The BSP provides a software development environment for evaluation and development of Linux (uClinux) on the Cortex-M7 processor core of the STM32F7 microcontroller using the Emcraft Systems STM32F7 SOM Starter Kit as a hardware platform.

Supported Features

The following list summarizes the features and capabilities of this release of the STM32F7 SOM Starter Kit BSP:

  • U-Boot firmware:
    • U-Boot v2010.03;
    • Target initialization from power-on / reset;
    • Runs from the internal eNVM and internal SRAM (no external memory required for standalone operation);
    • Support for instruction and data caches;
    • Serial console;
    • Ethernet driver for loading images to the target;
    • Serial driver for loading images to the target;
    • Device driver for on-chip Flash and self-upgrade capability;
    • Device driver for storing Linux images in external Flash;
    • Autoboot feature, allowing boot of OS images from Flash or other storage with no operator intervention;
    • Persistent environment in Flash for customization of target operation;
    • LCD driver and splash image capability;
    • Sophisticated command interface for maintenance and development of the target.
  • Linux:
    • uClinux kernel v2.6.33;
    • Serial device driver and Linux console;
    • Ethernet device driver and networking (ping, NFS, Telnet, FTP, NTPD, etc.);
    • busybox v1.17;
    • POSIX pthreads;
    • Hardened exception handling; an exception triggered by a process affects only the offending process;
    • Loadable kernel modules;
    • Secure shell (ssh) daemon;
    • Web server;
    • MTD-based Flash partitioning and persistent JFFS2 Flash file system for external Flash;
    • Device driver for the DMA interface;
    • USB Host device driver;
    • SPI controller master-mode device driver;
    • GPIO device driver;
    • LCD framebuffer device driver.
  • Development tools:
    • ARMv7-optimized GNU toolchain from CodeSourcery (2010q1) is used for development of U-Boot, Linux and user-space applications (toolchain must be downloaded separately from the CodeSourcery web site);
    • Cross GDB for debugging user-space applications;
    • mkimage tool used by the Linux kernel build process to create a Linux image bootable by U-Boot.
  • Development environment:
    • Linux-hosted cross-development environment;
    • Development of multiple projects (embedded applications) from a single installation;
    • hello sample project ("Hello, world!" single-process configuration);
    • networking sample project (basic shell, networking, USB, and Flash management tools demonstration);
    • developer sample project (template project that can be used to jump-start development of custom user-space applications and loadable kernel modules).

New and Changed Features

This section lists new and changed features of this release:

  1. Develop initial support for low-power mode in Linux on STM32F7.
    ID: RM 438.
  2. Provide support for Ethernet gadget in Linux STM32F7.
    ID: RM 482.
  3. Implement stable recovery of TCP/IP after wakeup in Linux STM32F7.
    ID: RM 522.
  4. Fix the 'TX queue full' problem in the STM32 Linux Ethernet driver.
    ID: RM 541.
  5. Fix defect: Switch to low-power mode hangs the system if Ethernet is shut down.
    ID: RM 542.
  6. Add support for UART7/8 ports in STM32 serial device driver.
    ID: RT 112561.
  7. STM32F7: Fix the VBUS UDC configuration in the Linux USB device driver.
    ID: RT 114315.
  8. USBFS: Correct handling of overcurrent events on STM32F7.
    ID: RT 115611.
  9. Fix defect: memory leak on port close in Linux STM32F4 serial device driver.
    ID: RT 118995.
  10. Fix kernel build error on modern Linux hosts.
    ID: RT 121576.

Known Problems & Limitations

This section lists known problems and limitations of this release:

    ID: RT 74683.
    Workaround: When enabling CONFIG_KERNEL_IN_ENVM in the kernel, disable CONFIG_ARM_UNWIND and CONFIG_EARLY_PRINTK.
  2. JTAG debugging rates are limited to 1 KHz.
    : RT 101140.
    Workaround: If you require running JTAG at higher frequencies, interrupt the Linux autoboot sequence by resetting the target and pressing any key on the serial console, thus entering the U-Boot command line interface. The Linux kernel is configured to enter a low-power mode by executing a wfi instructions whenever the system enters the so called idle loop (there are no active tasks to execute), which interferes with running JTAG at high-rate frequencies.