uClinux, pronounced “you-see-Linux”, literally means “microcontroller (µC) Linux®”.
uClinux is a Linux kernel fork for microcontrollers (MCUs, embedded systems). It does not
have a memory management unit (MMU). Originally derived from version 2.0 (1996) of the
Linux kernel, it now has ports based on Linux 2.6. Since version 2.6, the major parts of
uClinux have been integrated with the mainline kernel for a number of processor
architectures. The project continues to develop patches and supporting tools to use Linux
on microcontrollers. uClinux supports many architectures, and this new version supports the
STM3210E-EVAL evaluation board.
The purpose of this application note is to explain you how to:
1.Install the uClinux operating system, the toolchain, and configure the kernel for the
STM3210E-EVAL board
2. Build a uClinux image and download it to the STM3210E-EVAL board
This section presents all the files in the package, that are needed to get started with uClinux
on STM32F101xC/D/E and STM32F103xC/D/E devices.
●uClinux_on_stm32.patch.gz: the uClinux patch, using which the ARM Cortex-M3 CPU
and STM3210E-EVAL board are supported.
●AN3012.pdf: the purpose of this guide is to show all the steps necessary to
successfully configure, build and run uClinux on the board. It also presents the
procedure to add new hardware driver and applications to the kernel.
●Tiny_kernel_boot_loader.hex / kernel_boot_loader.hex: these are the boot loaders
required to boot up the board and load uClinux (kernel loader / firmware updater).
●uClinux_on_stm32-jffs.dfu / uClinux_on_stm32-MCU_Flash.dfu: these are the binary
image files that can immediately be downloaded to the board to get uClinux running.
6/36Doc ID 16051 Rev 2
AN3012Hardware description
2 Hardware description
The STM3210E-EVAL evaluation board is designed as a complete development platform for
STMicroelectronics's ARM™ Cortex
delivered in 144-pin packages. This device features: full speed USB2.0, CAN2.0A/B
compliant interface, two I
2
S channels, two I2C channels, five USART channels with
®
-M3 core-based STM32F103xx microcontrollers
Smartcard support, three SPI channels, two DAC channels, FSMC interface, SDIO, 64
Kbyte of internal SRAM and 512 Kbyte of Flash memory, JTAG and SWD debug support.
The STM3210E-EVAL has the following onboard hardware features:
●Three 5 V power supply options: power jack, USB connector or daughterboard
●Boot from user Flash memory, system memory or SRAM
●I2S audio DAC, stereo audio jack
●128 Mbyte MicroSD card
●A- and B-type Smartcard support
●64 or 128 Mbit serial Flash memory, 512 Kbit × 16 SRAM, 512 Mbit or 1 Gbit NAND
Flash and 128 Mbit NOR Flash memory
● I2C/SMBus compatible serial interface temperature sensor
● Two RS-232 channels with RTS/CTS handshake support on one channel
● IrDA transceiver
● USB2.0 full speed connection
● CAN2.0A/B compliant connection
● Inductor motor control connector
● JTAG and trace debug support
● 240 × 320 TFT color LCD
● Joystick with 4-direction control and selector
● Reset, wakeup, tamper and user buttons
● 4 color LEDs
● RTC with backup battery
Doc ID 16051 Rev 27/36
Hardware descriptionAN3012
Figure 1.STM3210E-EVAL board
8/36Doc ID 16051 Rev 2
AN3012Getting the tools
3 Getting the tools
This section explains how to get the software tools that are required to build and run uClinux
on the STM3210E-EVAL evaluation board.
3.1 uClinux package
3.1.1 Standard distribution
You should first download the original uClinux source files from the uClinux project page
(http://www.uclinux.org/), or simply follow the following direct link:
This package contains the kernel patch (update of 399 files) and the kernel boot loader (see
Section 1: Package description). The package is available from http://www.st.com/stm32.
3.2 GNU toolchain
A toolchain known to successfully build the kernel for ARM Cortex-M3 targets can be
downloaded from the CodeSourcery web site http://www.codesourcery.com/, or using the
following link: http://www.codesourcery.com/sgpp/lite/arm/portal/release827
The G++ Lite 2009q1 toolchain is a free version of the CodeSourcery G++ toolchain, which
is an improvement of the GNU toolchain for ARM processors. It supports ARM, thumb and
thumb-2 compilation for all architectures, including Version 7 of the ARM Architecture.
Note:1This application note only shows how to Install the “easy-to-install recommended
packages”.
2You need a PC running on the Linux operating system to be able to install and compile
uClinux. The Linux distribution (Fedora, Mandriva, Ubuntu, etc.) should have the kernel
development kit.
3.3 DFuSe & Flash loader demonstrator
These two tools are needed to load the final binary images to the board.
Doc ID 16051 Rev 29/36
Getting the toolsAN3012
3.3.1 DFuSe applet
DFuSe stands for Device firmware upgrade application. This applet, coupled to the kernel
boot loader firmware, allows the upgrade of the final .dfu file to the on-board Flash memory.
It can be downloaded from the STMicroelectronics website or directly, using the following
link: http://www.st.com/stonline/products/support/micro/files/um0412.zip.
3.3.2 Flash loader demonstrator
This applet, together with the System memory boot loader capabilities, is used to upgrade
kernel_boot_loader.hex to the STM32F101/103xC/D/E’s 512-Kbyte internal Flash memory.
The Flash loader demonstrator is available from st.com at:
This section shows the kernel building process from scratch; to successfully build the
uClinux image, you have to Install GNU toolchain, extract the uClinux source files, apply the
path to the source, configure uClinux for the STM3210E-EVAL board and finally run the
build process.
4.1 Installing the toolchain
On a host PC running with the Linux OS:
1.Move to the directory containing the previously downloaded arm-2009q1-163-arm-uclinuxeabi.bin file.
2. Execute the installer by double clicking on the bin file or from the command line by
typing:
#./arm-2009q1-163-arm-uclinuxeabi.bin
3. Follow the installer Wizard to install the typical toolchain settings.
Figure 2.Configuring the installation parameters
Note:When no windowing server is running you can use the console installation mode, which is
enabled with the “-i console” parameter:
# ./arm-2009q1-163-arm-uclinuxeabi.bin -i console
Doc ID 16051 Rev 211/36
Loading...
+ 25 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.