Login

Why register?

  • Download software and technical materials
  • Purchase products at our on-line shop
  • Receive design news to stay up-to-date with Emcraft's new solutions

 

 

Release Notes Print

 

Overview

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

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

Supported Features

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

  • Linux:
    • Kernel v4.2;
    • Serial Linux console;
    • Ethernet device driver and Linux TCP/IP networking (ping, NFS, Telnet, FTP, NTPD, etc);
    • WiFi connectivity with security;
    • PPP-based TCP/IP connectivity over GSM/3G modems;
    • Bluetooth support using bluez;
    • 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) and secure copy (scp);
    • Web server;
    • MTD-based Flash partitioning and persistent Flash file system in external Flash;
    • Multi-port serial UART driver;
    • USB Host and Device (widget) device drivers for both the USB HS (High Speed) and USB FS (Full Speed) interfaces;
    • SD Card device driver;
    • I2C master-mode device driver;
    • SPI master-mode device driver;
    • GPIO device driver.
  • 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);
    • Serial console;
    • Ethernet driver for loading images to the target;
    • Device driver for built-in Flash (eNVM) and self-upgrade capability;
    • Device driver for storing environment and 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;
    • Sophisticated command interface for maintenance and development of the target.
  • Development tools:
    • Linux-hosted cross-development environment;
    • 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;
    • Integration with Eclipse IDE;
    • mkimage tool used by the Linux kernel build process to create a bootable Linux image.

New and Changed Features

This section lists new and changed features of this release:

  1. Move STM32F4 SOM to Linux kernel v.4.2.
    ID: RM 137.
  2. Merge inittab in uClinux.
    ID: RM 139.
  3. Create consolidated rootfs project for STM32F4 SOM.
    ID: RM 142.
  4. Merge Emcraft exception-handling code into the baseline kernel.
    ID: RM 149.
  5. Port SFTP to uClinux.
    ID: RM 205.
  6. Support USB device (gadget) in linux-4.2.
    ID: RM 259.
  7. Allow debugging user-space applications using Eclipse IDE.
    ID: RM 262.
  8. Enable and validate I2C, SPI, SD Card, UART, GPIO, USB FS/HS Host/Target.
    ID: RM 272.
  9. Enable bluez in the rootfs project for STM32F4 SOM.
    ID: RM 275.
  10. Add scp and ssh clients.
    ID: RM 305.
  11. Enable support for USB WiFi in rootfs.
    ID: RM 308.
  12. Support PPP over USB modem.
    ID: RM 342.

Known Problems & Limitations

This section lists known problems and limitations of this release:

  1. JTAG debugging rates are limited to 1 KHz.
    ID
    : 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.