1/27
www.embedinfo.com/en
STM32F107 ARM-CM3 Board
User Guide
Rev. 1.0
Release: 4/20/2010
EMBEST CO., LIMITED
Address: Room 509, Luohu Science & Technology Building,
No.85, Taining Road, Shenzhen, Guangdong, China 518020
Telephone: +86-755-25621715
Fax: +86-755-25616057
Sales Email: sales.en@embedinfo.com
Support Email: support.en@embedinfo.com
Website: http://www.embedinfo.com/en
2/27
www.embedinfo.com/en
Revision history
Rev Date Description
1.0 4/20/2010 Initial version
3/27
www.embedinfo.com/en
Catalog
CHAPTER 1 OVERVIEW....................................................................................................................................4
1.1 The Microcontroller Introduction......................................................................................................4
1.2 Hardware resources list.......................................................................................................................4
1.3 Software resources list ........................................................................................................................5
CHAPTER 2 GETTING STARTED ....................................................................................................................7
2.1 Documents Description .......................................................................................................................7
2.2 Version Information ..............................................................................................................................7
2.3 Hardware resource requirements....................................................................................................7
2.4 Preparations.............................................................................................................................................7
CHAPTER 3 STM32F107 BOARD INTRODUCTION.....................................................................................9
3.1 Board Interface Overview...................................................................................................................9
3.2 Jumpers Settings .................................................................................................................................10
3.3 Hardware Interface Introduction ...................................................................................................10
3.3.1 JTAG..................................................................................................................................................10
3.3.2 Micro SD Card...............................................................................................................................10
3.3.3 Ethernet...........................................................................................................................................10
3.3.4 Audio.................................................................................................................................................10
3.3.5 CAN ...................................................................................................................................................11
3.3.6 UART.................................................................................................................................................11
3.3.7 LCD & Touch Screen Controller..............................................................................................11
3.3.8 Mini USB Port.................................................................................................................................11
3.3.9 EEPROM...........................................................................................................................................11
3.3.10 MEMS motion sensor................................................................................................................11
3.3.11 JoyStick Button & others Buttons....................................................................................... 11
3.3.12 7 sections of numerical code tubes....................................................................................11
3.3.13 LED..................................................................................................................................................12
CHAPTER 4 SOFTWARE RESOURCES INTRODUCTION........................................................................13
CHAPTER 5 SOFTWARE DEVELOPMENT AND EXAMPLES .................................................................14
5.1 MDK Introduction.................................................................................................................................14
5.2 Compiler routine ..................................................................................................................................14
5.2.1 Open a routine..............................................................................................................................14
5.2.2 Compiler the routine...................................................................................................................15
5.3 Debug and Download the routine using Emulator ..................................................................16
5.3.1 Debug and Download the routine using ULINK2.............................................................16
5.3.2 Download and Debug the routine using Emlink JTAG Emulator................................21
APPENDIX A: AFTER-SALE SERVICE..........................................................................................................27
4/27
www.embedinfo.com/en
Chapter 1 Overview
1.1 The Microcontroller Introduction
The STM32F107 incorporates the high performance ARM® Cortex™-M3 32-bit RISC core
operating at a 72 MHz frequency, high speed embedded memories (Flash memory up to 256
Kbytes and SRAM up to 64 Kbytes), and an extensive range of enhanced I/Os and
peripherals connected to two APB buses. All devices offer two 12-bit ADCs, four
general-purpose 16-bit timers plus a PWM timer, as well as standard and advanced
communication interfaces: up to two I2Cs, three SPIs, two I2Ss, five USARTs, an USB OTG
FS and two CANs. Ethernet is available on the STM32F107.
The STM32F107 operates in the –40 to +105 °C temperature range, from a 2.0 to 3.6 V
power supply. A comprehensive set of power-saving mode allows the design of low-power
applications.
1.2 Hardware resources list
z STM32F107 ARM 32-bit Cortexâ„¢-M3
CPU, 72 MHz maximum frequency
z An Ethernet interface
z A 3.2-inch large-screen 320 * 240
z An RS232 connection socket (DB9)
z SPI interface
z IIC interface
z LCD interface
5/27
www.embedinfo.com/en
TFT-LCD
z Resistive touch screen , with
professional high-precision touch
screen controller chip
z 4 LED light tube, a power supply LED
z Low Power, Stereo CODEC
w/Headphone & Speaker Amps
z A speaker
z A standard 3.5mm headphone jack
z A five-way joystick
z A mini-type USB socket, support fo
r
USB OTG
z Three GPIO buttons
z A RESET button
z 2 CAN connection sockets
z A Micro SD card connector
z IIC interface connects to external EEPROM
z ADC and DAC Module
z One way analog input potentiometer
z Four 7 sections of numerical code tubes
z An ultra compact low-power three axes
linear accelerometer
z Support Touch Screen Controller Port
expansion
z A JTAG/SWD debug interface(20pin)
z Own CPU power measurement circuit
specifically designed for low-powe
applications
z Power Supply: USB powered
1.3 Software resources list
Project Name Function Description
8leds Use the 8leds to display different digital.
ADC1_DMA Use the ADC1 and DMA to transfer continuously converted
data from ADC1 to memory.
BKP_Backup_Data This example shows how to store user data in the Backup
data registers.
CAN_Normal_single_board
Configure CAN2 to send and CAN1 to receive CAN frames
in normal mode. The sent frames are used to control LEDs
by pressing key push button.
CAN_Normal_two_board CAN peripheral to send and receive frames in normal
mode(need two boards).
DAC_TwoChannels_Triangle
Wave
This example describes how to use two DAC channels to
generate two different signals with triangle waves on each
DAC Channel output.
EMAC_Test Network interface functional test
EXTI This example shows how to configure an external
interrupt line.
FLASH_Program This example provides a description of how to program the
STM32F10x FLASH.
GPIO_IOToggle
This example describes how to use GPIO BSRR (Port bit
set/reset register) and BRR (Port bit reset register) for IO
toggling.
I2C_EEPROM
This example provides a basic example of how to use the
I2C software library and an associate I2C EEPROM driver
to communicate with an I2C EEPROM device
6/27
www.embedinfo.com/en
IWDG This example shows how to reload at regulate period the
IWDG counter using the SysTick interrupt.
LCD Using the LCD display pictures and test touchscreen
Lib_DEBUG This example demonstrates how to declare dynamic
peripherals pointers used for Debug mode.
NVIC_VectorTable_Relocatio
n
This example describes how to set the CortexM3 vector
table in a specific address other than default using the
NVIC_SetVectorTable function
PWR_STANDBY
This example shows how to enter the system to STANDBY
mode and wake-up from this mode using: external RESET,
RTC Alarm or WKUP pin.
RCC
This example shows how to configure the System
clock(SYSCLK) to have different frequencies:24MHz,
36MHz, 48MHz, 56MHz and 72MHz
RTC_Calendar
it demonstrates how to setup the RTC peripheral, in terms
of prescale and interrupts, to be used to keep time and to
generate Second interrupt.
Traffic program based on a RTX Kernel that controls a
traffic light.
OS_Test
UCOSII 2.8.6
SDcard
This example provides a description of how to initialize the
SD card on Embest_STM3210C board then write and read
512 bytes from the SD card, then verify them.
SysTick
This example shows how to configure the SysTick to
generate a time base equal to 1 ms. The system clock is
set to 72 MHz, the SysTick is clocked by the AHB clock
(HCLK).
USART_HyperTerminal_Inte
rrupt
This example provides a description of how to use the
EVAL_COM1 transmit and receive interrupts to
communicate with the Hyper Terminal.
USB_Test It Contains four sub-routines, Audio_Streaming
JoyStickMouse, Mass_Storage and Virtual_COM_Port
WWDG This example shows how to update at regulate period the
WWDG counter using the Early Wakeup interrupt (EWI).
7/27
www.embedinfo.com/en
Chapter 2 Getting Started
2.1 Documents Description
File name / Item Description Attribute
STM32F107_Board_
UserManualV1.0.pdf This document 671KB
EM_STM3210C Board
Schematic.pdf Development board schematic 128KB
STM32F105_107xx
Datasheet.pdf Datasheet of STM32F105_107xx 981KB
STM32F105_107xx Reference
Manual.pdf Reference Manual of STM32F105_107xx 1.05MB
Other PDF documents Introduce other modules in the board,
such as Audio, CAN… 1.8MB
2.2 Version Information
¾ The version of the development tools: MDK4.01
¾ The version of the ST Library: V3.1.2
2.3 Hardware resource requirements
When we test STM32F107 BOARD, PC recommended the following configuration:
z 2.0GHz (or higher) of the CPU
z 512M RAM
z 2 USB interfaces
z A serial interface
z Windows XP operating system
z KEIL Integrated Development Environment installed
2.4 Preparations
¾ Jumper Settings: Jumper use the default sets, no need to change.
¾ Serial Connection: Connect com of board and the com of PC through serial port cable.
¾ LCD Connection: The LCD screen inserted in the LCD interface of board.
¾ USB Connection: Using USB cable, one end plugged into the USB port on the board, the
other end connected to PC.
¾ SD Card Connection: Connect Micro SD to SD socket on the board.
¾ JTAG Debugger Connection:One end connected to JTAG interface on the board,the
other end connected to PC.
¾ Serial Port Receive Settings: In the PC, run HyperTerminal serial communication
8/27
www.embedinfo.com/en
program, select the serial port used and set the following parameters (to set status:
Baud rate (115200), data bits (8 bits), stop bits (1 bit), parity bit (no ), data flow control
(no)).
¾ Network Connection: Through the crossover cable provided connect J3 interface on the
board and the network interface of PC side.
9/27
www.embedinfo.com/en
Chapter 3 STM32F107 Board Introduction
3.1 Board Interface Overview
J1 Micro SD Card U6 Lower-power CODEC chip
J2 JTAG Interface U7 CAN Transceivers
J3 NET Interface U8 CAN Transceivers
J4 Audio Line Out U9 USB very low capacitance ESD
protection
J5 Audio Analog IN U10 Enhanced single channel power
switches
J6 CAN1 U11 Touch Screen Controller
J7 UART U12 2.5V Voltage adjustor
J8 CAN2 U13 3.3V Voltage adjustor
J9 LCD U14 7 sections of numerical code tubes
J10 USB MINI AB Interface D1 LED1
J11 Processor External Round
Cable
D2 LED2
J12 Processor External Round
Cable
D3 LED3
Micro SD
Card (under
the
STM32F10
7 sections of
numerical
code tubes
Potentiomet
CAN2
CAN1
JTAG
Audio
(under
the LCD)
TFT
LCD
NET UART
USB Supply
10/27
www.embedinfo.com/en
J13 Control GND Jumper D4 LED4
U1 STM32F107 Chip K1 User Button
U2 Serial I2C BUS EEPROM K2 Tamper Button
U3 MEMS motion sensor K3 Wakeup Button
U4 JoyStick Button K4 Reset Button
U5 Ethernet Transceiver
3.2 Jumpers Settings
ID Name Default
Settings
Note
JP1 BOOT0 Close (1-2) Choose Start-up mode cooperating with JP2
JP2 BOOT0 Close (1-2) Choose Start-up mode cooperating with JP1
JP3 MICBIAS Close Microphone DC bias voltage control signal
corresponding to AIN3A
JP4 MICBIAS Close Microphone DC bias voltage control signal
corresponding to AIN3B
JP5 SPKR/HP Close Speaker / Headphone output options
3.3 Hardware Interface Introduction
3.3.1 JTAG
A standard 20-pin JTAG connector is implemented on the STM32F107 BOARD for any ARM
JTAG Emulator, such as ULINIK2, JLink, CoLink…
3.3.2 Micro SD Card
A Mini SD Card Interface is implemented on this Board; it can only be used by Mini SD Card
and it transports data with SPI mode.
3.3.3 Ethernet
A Physical Layer Transceiver DP83848J (U5) and an integrated RJ45 interface are
implemented in this Board, and it supports both 10BASE-T and 100BASE-TX Ethernet
protocol, which ensures compatibility and interoperability with all other standard based
Ethernet solutions.
3.3.4 Audio
The STM32F107 Board through a CS42L52 low-power stereo audio codec chip to connect
the I2C port and a DAC channel in STM32F107. The CS42L52 is a highly integrated, low
power stereo CODEC with headphone and Class D speaker amplifiers.
STM32F107 BOARD supports stereo audio playback, and CS42L52 sets the parameters
through I2C bus. The speaker and headphone can automatically switch between through
corresponding pin.
11/27
www.embedinfo.com/en
In addition, CS42L52 can also support the MIC input, encodes the input sound signal into
the digital signal microcontroller can identify.
3.3.5 CAN
There are 2 controller area network (CAN) transceivers in this board, and they both use
SN65HVD230D controller chip. Each CAN transceiver is designed to provide differential
transmit capability to the bus and differential receive capability to a CAN controller a speeds
up to 1 Mbps.
3.3.6 UART
The Universal Asynchronous Receiver Transmitter features a 9-pin UART that can be used
for communication and trace purposes. It offers an ideal channel for ISP downloading.
3.3.7 LCD & Touch Screen Controller
STM32F107 BOARD provides a 320*240 size TFT LCD with a Touch Screen Controller. This
LCD uses a ILI9325 driver IC and represents a pixel with 16 bits. Touch Screen uses a 8-bit
STMPE811 control chip and we can get the touch-screen data through I2C interface.
3.3.8 Mini USB Port
A USB Mini AB interface is implemented to transport USB data, and it also supports
USB-OTG full speed.
In addition, supply 5V voltage to the Board through this USB port.
3.3.9 EEPROM
A 64kbit EEPROM is connected to the I2C bus in STM32F107 BOARD.
3.3.10 MEMS motion sensor
There is a MEMS motion sensor which uses the LIS302DL chip. The LIS302DL is an ultra
compact low-power three axes linear accelerometer. It includes a sensing element and an
IC interface able to provide the measured acceleration to the external world through I2C
serial interface.
3.3.11 JoyStick Button & others Buttons
STM32F107 BOARD provides a JoyStick button, and it has the UP, DOWN, LEFT, RIGHT and
ENSURE function.
In addition, the board also provides RESET, WAKEUP, TAMPER and USER buttons. RESET
button is used to reset the processor; WAKEUP connects with PA0 pin, it is used to wakeup
the processor when it is sleep; TAMPER and USER respectively connect with PC13 and PB7
pins, they can be used for user input.
3.3.12 7 sections of numerical code tubes
The Board has four 7 sections of numerical code tubes. They can be used to display time,
data or other numbers.
12/27
www.embedinfo.com/en
3.3.13 LED
STM32F107 BOARD provides 4 LEDs D1, D2, D3 and D4, they respectively connect with PE2,
PE3, PE4 and PE5 IO pins, and they can be used for user output.
13/27
www.embedinfo.com/en
Chapter 4 Software Resources Introduction
There are 25 test examples in the CD-ROM provided which are built under the Keil RealView
MDK environment. The directory of storing these test examples is 03-software\examples.
You can find 27 folders in this directory. The Libraries and Utilities are common source files
and head files. The other 25 items are all test cases used to test the peripherals or functions
of the STM32F107 Board.
Test cases’ functions, most of those are easy to understand, but need to explain just that
24-USB_Test. There are four projects in the directory
03-software\Examples\24-USB_Test\USB_DEVICE\Project. They are Audio Streaming,
JoyStick Mouse, Mass Storage and Virtual COM Port, all of which are used to test USB
function of STM32F107 Board. You can get the details about testing introductions and
phenomenon from the readme.txt files in the projects or get them by view the STM32F107
BOARD UserManual V1.0.doc documents.
Note: The evaluation edition of RealView MDK we provided in the CD-ROM of the board
might be not able to compile all of test programs we offer, because it has only 32KB code
limitation. If you would like to purchase the authorized edition of RealView MDK of Keil,
please contact Keil Inc. directly or his distributors in the world.
14/27
www.embedinfo.com/en
Chapter 5 Software development and examples
5.1 MDK Introduction
RealView MDK Development Suite is the latest software development tool of ARM Limited
Corporation for Embedded Processors. MDK4.01 integrates the most advanced technology
in this industry, including μVision4 IDE and RealView RVCT4.0 Compiler; RealView MDK
supports ARM7, ARM9 and the latest Cortex-M3 Core Processor. It has a configuration
wizard for startup code and integrates flash program module, powerful device simulation,
performance analyzer and so on. You can obtain the free evaluation edition of MDK software
from the CD released with STM32F107 Board in the directory of 04-tools\RealviewMDK, or
you can download the latest evaluation version of RealView MDK for free of charge from Keil
website www.keil.com. Double click the installation file setup.exe; finish Keil μVision4
installation under the guidance of the installation wizard.
Note: If you want to purchase the authorized RealView MDK, please contact Keil Inc. directly
or his distributors in the world.
The installation interface as follows:
5.2 Compiler routine
5.2.1 Open a routine
Enter in the folder of 03-software\Examples; Open the Embest_STM3210C.uvproj file in the
project directory of one routine. For example:
\03-software\Examples\01-8leds\project\Embest_STM3210C.uvproj.
15/27
www.embedinfo.com/en
5.2.2 Compiler the routine
1) If you need the .hex format file, then you can configure MDK to build the hex file, Click
Select Folder for Object… to specify the hex file’s output directory. Or you can skip this step.
2) If you need the .bin format file, then you can configure MDK to build the bin file. Or you
can skip this step.
16/27
www.embedinfo.com/en
¾ D:\Keil\ARM\BIN40\fromelf.exe specify the path of fromelf.exe, it will convert axf file
to bin file
¾ --bin –o export bin file
¾ ./obj/Embest_STM3210C.bin the directory and file name of the bin file you want to
create
¾ ./obj/Embest_STM3210C.axf the directory and file name of the axf file you want to
convert
3) Click project->build, or click the shortcut button to build the routine.
5.3 Debug and Download the routine using Emulator
The precondition for the next steps is that you have bought or owned a corresponding
hardware Emulator.
5.3.1 Debug and Download the routine using ULINK2
1. Debug the routin using ULINK2
1) Choose Emulator
17/27
www.embedinfo.com/en
2) Check the ULINK2, optional.
When ULINK2 connects to the Development Board, if the RUN and COM indicator lights first
change to blue and then go out, and the USB indicator light has always been red, this proves
that ULINK2 is no problem.
In addition, you can use the next way to check ULINK2. Click the Settings button in the
Debug TAB, if the red marked part appears, it proves that ULINK2 is no problem.
3) Check that whether ULINK2 can detect the development board or not, optional.
Click the Settings button in the Debug TAB, if the red marked part appears, it proves that
18/27
www.embedinfo.com/en
ULINK2 has detected the development board.
4) Set the Flash Programmer, configure the Utilities TAB.
Then click Settings button, it appears:
19/27
www.embedinfo.com/en
If nothing is in the Programming Algorithm, then you should add the corresponding Flash
programming algorithm by clicking the Add button, as follows:
After you choose a Flash Programming Algorithm, then Click Add button.
5) Start to Debug the routine by clicking shortcut button or clicking
Debug->Start/Stop Debug Session, the status of the debug as follows:
20/27
www.embedinfo.com/en
2. Download the routine using ULINK2
1) Check the Flash Programmer’s setting
21/27
www.embedinfo.com/en
2) Start to Download by click Flash->Download or the shortcut button as follows:
5.3.2 Download and Debug the routine using Emlink JTAG Emulator
1. Debug the routine using Emlink JTAG Emulator
1) Install the Emlink for MDK driver.
2) Choose the Emulator.
22/27
www.embedinfo.com/en
3) Click the Settings button to configure Emlink, as follows:
4) Set the Flash Programmer.
Configure the Utilities TAB, as follows:
23/27
www.embedinfo.com/en
Then click the Settings buttons, it will show the next Dialog.
If nothing is in the Programming Algorithm, then you should add the corresponding Flash
programming algorithm by clicking the Add button, as follows:
24/27
www.embedinfo.com/en
5) Start to debug the routine by clicking the shortcut button or clicking
Debug->Start/Stop Debug Session, the status of the debug is as follows:
2. Download the routine using Emlink
1) Check the Flash Programmer’s setting.
25/27
www.embedinfo.com/en
2) Start to download by clicking Flash->Download or the shortcut button, as follows:
26/27
www.embedinfo.com/en
27/27
www.embedinfo.com/en
Appendix A: After-sale Service
Embest is at your service, and we have special Technical Support Engineers to provide
support and consultation of our products and services in forms of telephone, E-mail, Fax and
website.
y TEL: +86-755-25621715
y FAX: +86-755-25616057
y E-mail for Technical Support: support.en@embedinfo.com
Website: you can leave your questions at http://www.embedinfo.com/en/Request.asp, and
then our technical support engineers will get back to you as soon as possible.