Discovering the STM32 microcontroller Sách cơ sở lý thuyết dòng stm32 lập trình cho vi điều khiển họ STM32 This book is intended as a handson manual for learning how to design systems using the STM32 F1 family of microcontrollers. It was written to support a juniorlevel computer science course at Indiana University. The focus of this book is on developing code to utilize the various peripherals available in STM32 F1 microcontrollers and in particular the STM32VL Discovery board. Because there are other fine sources of information on the CortexM3, which is the core processor for the STM32 F1 microcontrollers, we do not examine this core in detail; an excellent reference is “The Definitive Guide to the ARM CORTEXM3.”
[...]... Architecture The STM32, illustrated in Figure 2.3 connects the three buses defined by the Cortex-M3 through a micro-controller level bus matrix In the STM32, the ICode bus connects the CM3 instruction interface to Flash Memory, the DCode bus connects to Flash memory for data fetch and the System bus provides read/write access to SRAM and the STM32 peripherals The peripheral sub-system is supported by the AHB... board The STM32 VL Discovery board is distributed with complete documentation including schematics [14] In the photograph, there is a vertical white line slightly to the left of the midpoint To the right of the line are the STM32 F100, crystal oscillators, two user accessible LEDs, a user accessible push-button and a reset push button To the left is the hardware debugger interface including an STM32. .. and other components The regulator converts the 5V supplied by the USB connection to 3.3V for the processors and also available at the board edge connectors This regulator is capable of sourcing sufficient current to support the additional hardware used for the tutorials All of the pins of the STM32 F100 are brought out to well labeled headers – as we shall see the pin labels directly correspond to the. .. initial shortcuts The advantages to the using these firmware libraries are that they abstract much of the bit-level detail required to program the STM32, they are relatively mature and have been thoroughly tested, and they enable the development of application code that is portable across the STM32 family In contrast, we have examined the sample code distributed with the NXP LPC13xx Cortex-M3 processors... contains the code and example specific makefile The directory includes a working binary for the STM32 VL Discovery The Demo program is discussed further in Chapter 3 GDB Server In order to download and debug code on the STM32 VL Discovery board we can exploit the built-in USB debugger interface called stlink which communicates with the STM32 on-chip debug module The stlink interface can be used both for the. .. micro-controllers A block diagram of the STM32F100 processor used on the value line discovery board is illustrated in Figure 2.1 The Cortex-M3 CPU is shown in the upper left corner The value line components have a maximum frequency of 24 MHz – other STM32 processors can support a 72 MHz clock The bulk of the figure illustrates the peripherals and their interconnection The discovery processor has 8K bytes... using the STM32 F1 family of micro-controllers It was written to support a junior-level computer science course at Indiana University The focus of this book is on developing code to utilize the various peripherals available in STM32 F1 micro-controllers and in particular the STM32VL Discovery board Because there are other fine sources of information on the Cortex-M3, which is the core processor for the STM32. .. I/O horsepower than is required for the tutorials described in this book Furthermore, all of the peripherals provided by the STM32 F100 are common to the other members of the STM32 family and, the code developed on this component is completely portable across the micro18 Revision: 1396a85 (2013-01-07) 1.1 REQUIRED HARDWARE controller family Asynchronous Serial One of the most useful techniques for debugging... processing takes place in these registers Three of these registers have dedicated functions including the program counter (PC), which holds the address of the next instruction to execute, the link register (LR), which holds the address from which the current procedure was called, and the stack pointer (SP) which holds the address of the current stack top (as we shall discuss in Chapter 11, the CM3 supports... pin labels directly correspond to the logical names used throughout the STM32 documentation rather than the physical pins associated with the particular part/package used This use of logical names is consistent across the family and greatly simplifies the task of designing portable software The STM32 F100 is a member of the value line STM32 processors and executes are a relatively slow (for Cortex-M3 . is required for the tutorials described in this book. Furthermore, all of the peripherals provided by the STM32 F100 are common to the other members of the STM32 family and, the code developed. avail- able in STM32 F1 micro-controllers and in particular the STM32VL Discovery board. Because there are other fine sources of information on the Cortex-M3, which is the core processor for the STM32. quickly to any request that I made. STM32 F1, STM32 F2, STM32 F3, STM32 F4, STM32 L1, Discovery Kit, Cortex, ARM and others are trademarks and are the property of their owners. Revision: 1396a85