Skip to content

A bare-bones project directory for an STM32. Includes the ST libraries, bootloader code, etc.

Notifications You must be signed in to change notification settings

shawnl33/STM32_SkeletonProject

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update 27 Aug 2013:
These days I would recommend using gcc-arm-embedded [1] with libopenCM3 [2]
to provide everything you need to build projects for STM32 chips! Years ago
all this faffing around was required but today these projects make life
much much happier.

[1] https://launchpad.net/gcc-arm-embedded
[2] http://libopencm3.org/wiki/Main_Page

Original:

This is a skeleton project for an STM32F10x series device, using the
GCC compiler (either vanilla or CodeSourcery).

It is initially configured for a medium density STM32F103.
To change target device, edit:
	
    stm.ld: update RAM and FLASH sizes in the MEMORY section
    makefile: update variables at the top of the file
    lib/CMSIS_CM3/system_stm32f10x.c: set system clock frequency and periphal
                                frequencies as fractions of the system clock

Put interrupt vectors into interrupts.c (and prototypes into .h) or any other
c file which will be compiled into the final binary. Valid interrupt vector
names are given in lib/CMSIS/startup/gcc/startup_stm32f10x_*.s at the bottom.

Update lib/STM32F10x_StdPeriph_Driver/stm32f10x_conf.h to set which peripheral
functions you wish to use from the library.

If using the USB library, you may need to edit lib/STM32_USB-FS-Device_Driver/
usb_conf.h depending on your application. You'll also need the various usb_*
files for USB projects, such as pwr, prop, istr, endp and desc.

A python script to send binary images to an STM32 via the serial bootloader
is also included. Edit appropriate settings in the makefile and make sure BOOT0
is pulled high on reset, then 'make reload'. Change BOOT0 to low to boot from
flash memory after bootloading.

JTAG configuration files are provided but untested and may require modification
for your programmer or device type.


COPYRIGHT/LICENSE DETAILS:

 * STM32 libraries copyright 2009-2011 STMicroelectronics.
   License details given in each source file.

 * CMSIS library and code copyright ARM and STMicroelectronics.
   License details given in each source file.

 * Linker script copyright RAISONANCE S.A.S. 2008 and modified by P. Harrison of
   http://www.micromouseonline.com

 * Makefiles and JTAG configuration based on those released into the public domain
   by Lanchon of the ST forums.

 * stm32loader.py released by Ivan A-R of
   http://tuxotronic.org/wiki/projects/stm32loader and modified by P. Harrison.

 * Compilation by Adam Greig of https://github.com/adamgreig and released into
   the public domain, September 2009.

About

A bare-bones project directory for an STM32. Includes the ST libraries, bootloader code, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.7%
  • Assembly 4.3%
  • C++ 1.2%
  • Other 0.8%