This is the Linux BSP (Board Support Package) for the STMicroelectronics STM32F429 Discovery board.
The BSP provides a software development environment for evaluation and development of Linux on the Cortex-M4 processor core of the STM32F429 microcontroller using the STMicroelectronics STM32F429 Discovery board as a hardware platform.
The following list summarizes the features and capabilities of this release of the STM32F429 Discovery BSP:
- U-Boot firmware:
- U-Boot v2010.03;
- Target initialization from power-on / reset;
- Runs from the internal Flash and internal SRAM (no external memory required for standalone operation);
- Serial console;
- Ethernet driver for loading images to the target;
- Serial driver for loading images to the target;
- Device driver for internal Flash and self-upgrade capability;
- Device driver for storing environment and Linux images in internal Flash;
- Autoboot feature, allowing boot of OS images from Flash or other storage with no operator intervention;
- Persistent environment in internal Flash for customization of target operation;
- Sophisticated command interface for maintenance and development of the target.
- uClinux kernel v2.6.33;
- Ability to run critical kernel code from integrated Flash of STM32F4;
- 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;
- Support for the hardware FPU;
- Secure shell (dropbear) daemon;
- Web server;
- SPI controller master-mode device driver;
- I2C device driver;
- GPIO 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 over TCP/IP or UART;
- 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 and networking 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:
- Support SD Card in Linux STM32F4.
- Improve STM32 I2C driver for errors handling.
- Support hardware FPU code in pthreaded applications in uClinux on Cortex-M.
ID: RT: 110109
- Configure STM32F4-SOM for 180 MHz. Initial support for FDT.
ID: RT: 112561
- Make SPI driver to work in interrupt-driven mode.
ID: RT: 84870
- Support GPIO interrupts for STM32F4.
ID: RT: 106183
- Support Fast Mode in STM32F4 I2C driver.
ID: RT: 104209
- Allow building the STM32F4 kernel if the Ethernet driver puts its buffer descriptors and DMA buffers into on-chip SRAM.
ID: RT: 103656
- Support GPIO Bank I on STM32F4.
ID: RT: 95496
Known Problems & Limitations
This section lists known problems and limitations of this release:
- CONFIG_KERNEL_IN_ENVM requires disabling CONFIG_ARM_UNWIND and CONFIG_EARLY_PRINTK .
ID: RT 74683.
Workaround: When enabling CONFIG_KERNEL_IN_ENVM in the kernel, disable CONFIG_ARM_UNWIND and CONFIG_EARLY_PRINTK .