All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Installing ChibiOS/RT

Installing ChibiOS is as simple as downloading the archived source and expanding into a suitable location on your hard drive.

ChibiOS version 2.6 is not included as part of the ConVEX download. These instructions are still valid but you can skip this and head straight to the next section. After downloading the ConVEX repo just expand the ChibiOS zip file in the same location next to the vex subdirectory. (edit 28 August 2013, ChibiOS 2.6 is now included as a zip file as part of the convex download)

Installing ConVEX

The ChibiOS homepage is here.
http://www.chibios.org

and can be downloaded from sourceforge from here.
http://sourceforge.net/projects/chibios/

For windows I suggest making a top level directory for all ConVEX development, I would avoid a path with spaces as these always seem to cause problems. I used the following path.
C:/projects

This could also be your eclipse workspace as ChibiOS and the convex files need to be there for the eclipse build to work.

Place the ChibiOS zip file under this directory and unzip. It will create a file hierarchy something like this.

C:/Projects
C:/Projects/ChibiOS_2.6.0
C:/Projects/ChibiOS_2.6.0/boards
C:/Projects/ChibiOS_2.6.0/demos
C:/Projects/ChibiOS_2.6.0/docs
C:/Projects/ChibiOS_2.6.0/ext
C:/Projects/ChibiOS_2.6.0/os
C:/Projects/ChibiOS_2.6.0/test
C:/Projects/ChibiOS_2.6.0/testhal
C:/Projects/ChibiOS_2.6.0/tools
C:/Projects/ChibiOS_2.6.0/documentation.html
C:/Projects/ChibiOS_2.6.0/exception.txt
C:/Projects/ChibiOS_2.6.0/license.txt
C:/Projects/ChibiOS_2.6.0/readme.txt

You can test that ChibiOS and the toolchain are working without installing ConVEX. Choose a demo and compile using make, for example, make the ARMCM3-STM32F103 demo.

$ cd C:/Projects/ChibiOS_2.6.0/demos/ARMCM3-STM32F103

$ make clean
Cleaning
rm -fR .dep build
Done

$ make
Compiler Options
arm-none-eabi-gcc -c -mcpu=cortex-m3 -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -ffunction-sections -fdata-sections -fno-common -Wall -Wextra -Wstrict-prototypes -Wa,-alms=build/lst/ -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -MD -MP -MF .dep/build.d -I. -I../../os/ports/common/ARMCMx/CMSIS/include -I../../os/ports/common/ARMCMx -I../../os/ports/GCC/ARMCMx -I../../os/ports/GCC/ARMCMx/STM32F1xx -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/STM32F1xx -I../../os/hal/platforms/STM32 -I../../os/hal/platforms/STM32/GPIOv1 -I../../os/hal/platforms/STM32/I2Cv1 -I../../os/hal/platforms/STM32/RTCv1 -I../../os/hal/platforms/STM32/SPIv1 -I../../os/hal/platforms/STM32/USARTv1 -I../../os/hal/platforms/STM32/USBv1 -I../../boards/OLIMEX_STM32_P103 -I../../os/various main.c -o main.o

mkdir -p build/obj
mkdir -p build/lst
Compiling crt0.c
Compiling vectors.c
Compiling chcore.c
Compiling chcore_v7m.c
Compiling nvic.c
Compiling chsys.c
Compiling chdebug.c
Compiling chlists.c
Compiling chvt.c
Compiling chschd.c
Compiling chthreads.c
Compiling chdynamic.c
Compiling chregistry.c
Compiling chsem.c
Compiling chmtx.c
Compiling chcond.c
Compiling chevents.c
Compiling chmsg.c
Compiling chmboxes.c
Compiling chqueues.c
Compiling chmemcore.c
Compiling chheap.c
Compiling chmempools.c
Compiling test.c
Compiling testthd.c
Compiling testsem.c
Compiling testmtx.c
Compiling testmsg.c
Compiling testmbox.c
Compiling testevt.c
Compiling testheap.c
Compiling testpools.c
Compiling testdyn.c
Compiling testqueues.c
Compiling testbmk.c
Compiling hal.c
Compiling adc.c
Compiling can.c
Compiling ext.c
Compiling gpt.c
Compiling i2c.c
Compiling icu.c
Compiling mac.c
Compiling mmc_spi.c
Compiling mmcsd.c
Compiling pal.c
Compiling pwm.c
Compiling rtc.c
Compiling sdc.c
Compiling serial.c
Compiling serial_usb.c
Compiling spi.c
Compiling tm.c
Compiling uart.c
Compiling usb.c
Compiling stm32_dma.c
Compiling hal_lld.c
Compiling adc_lld.c
Compiling ext_lld_isr.c
Compiling can_lld.c
Compiling ext_lld.c
Compiling gpt_lld.c
Compiling icu_lld.c
Compiling mac_lld.c
Compiling pwm_lld.c
Compiling sdc_lld.c
Compiling pal_lld.c
Compiling i2c_lld.c
Compiling rtc_lld.c
Compiling spi_lld.c
Compiling serial_lld.c
Compiling uart_lld.c
Compiling usb_lld.c
Compiling board.c
Compiling evtimer.c
Compiling syscalls.c
Compiling main.c
main.c: In function 'Thread1':
main.c:35:1: warning: no return statement in function returning non-void [-Wreturn-type]
Linking build/ch.elf
Creating build/ch.hex
Creating build/ch.bin
Creating build/ch.dmp
Done

Next page