EclipseArmebs4/DemoProjects

From UIT
Revision as of 15:04, 3 December 2014 by Marc.pignat (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Some sample code is available in the subversion repository, please have a look at the First steps page. The sample projects are located in the trunk/demos/PROJECT_NAME directory.

libheivs_stm32

All our sample (and labs) code use the libheivs_stm32 library, it source can be found at svn+https://repos.hevs.ch/svn/armebs4/trunk/libheivs_stm32. This is an eclipse project that must be checked out into the eclipse workspace. This project can't be build, it is linked into other projects and compiled directly into them.

Configurable modules

Several libraries have integrated into our library. The heivs and stm32 parts mostly contain drivers and support code and are therefore mandatory. Each project can configure optional modules by modifying the project's config/config.h file.

Name Version Brief Provider License config/config.h
heivs r640 Board support package and more ARMEBS4 team FIXME (mandatory)
stm32 1.1.0 + custom changes STM32 support ST unkown (mandatory)
ugfx  ? + custom changes µGFX graphics library µGFX GFX License version 1.2 USE_UGFX
freertos 8.0.0 + custom changes FreeRTOS real time kernel FreeRTOS GPLv2 modified license USE_FREERTOS
cmsis 1.4.3 + custom changes CMSIS MCU Software Standard ARM CMSIS license (automatic)
fatfs 0.10a + custom changes Board support package ChaN custom - free software USE_FATFS
lwip 1.4.1 + custom changes A Lightweight TCP/IP stack lwip Modified BSD License USE_LWIP
jpeg 9a + custom changes libjpeg ijg custom - free software USE_LIBJPEG
cyassl 3.2.0 + custom changes Cryptographic and SSL library yassl GPLv2 USE_CYASSL

BOARD_XXX

Several boards are supported (see libheivs/include/heivs/bsp.h). For the ARMEBS4, the BOARD_ARMEBS4 symbol MUST be define in "project properties/C/C++ Build/Cross GCC Compiler/Symbols".

current_project/config/config.h

Each project MUST contain the config/config.h file which can define some compilation options. A complete and commented sample file can be found in libheivs_stm32/include/heivs/samples/config.h.txt

Define Brief Default
USE_UGFX, USE_FREERTOS, USE_FATFS, USE_LWIP, USE_FATFS, USE_LWIP, USE_LIBJPEG, USE_CYASSL See Configurable modules 0 (== desactivated)
USE_STDIO_USART Which serial port will be used for stdio 0 (== use bus_usart[0] for stdio)
USE_SEMIHOSTING stdio using semihosting (over JTAG) 0 (don't use semihosting)
USE_STDIO_NOBUF Disable stdio buffers 1 (buffers disabled)
USE_STDIO_ECHO Echo every char received on stdin to stdout 0 (no echo)
USE_STDIO_AUTO_CR_BEFORE_LF Fix stio line endings for Windows 1 (add CR before LF)
USE_STM32_LIB_ASSERT Check most parameters of stm32 library functions 0 (disabled)
USE_STM32_USB_USE_DEVICE_MODE, USE_STM32_USB_HOST_MODE, USE_STM32_USB_OTG_MODE stm32 USB stack configuration 0 (disabled)

Sample projects

Every project contains:

  • The basic configuration
    • working settings for the compiler/linker
    • BOARD_XXX is defined in properties/C/C++ Build/Cross GCC Compiler/Symbols
  • config/config.h file : the configuration of the project
  • project_name.lauch
  • libheivs_stm32 -> an eclipse link to the libheivs_stm32 library

_MODEL

Sample project, mainly used for storing the default compile and debug configuration. This project is always up to date with the latest and best recommended settings.

Personal tools
Namespaces
Variants
Actions
Navigation
Browse
Toolbox