The STM32-Primer embeds the CircleOS operating system. It provides services that will help you develop your STM32-Primer applications:
- Application management,
- LCD graphic functions,
- Mems functions,
- Buzzer and Push Button functions,
- Menu functions,
- Scheduler task,
The small footprint of CircleOS (only 22/128 KB) allows you to keep up to 104/384 KB for the applications. The list of the available applications is stored in a table (FAT) at the top of the memory used by CircleOS.
Each application is run by CircleOS when selected, has the full availability of the CPU and can use the entire RAM which is not used by CircleOS. It will be scheduled by the CircleOS with full privileges on the device, until it explicitly quits.
Unzip in the directory "[Ride7_INSTALL_DIR]\Lib\ARM"
The CircleOS upgrade files are available for Primer's and Evo Primer's as a download in Primer_upgrade.zip, Primer2_upgrade.zip, EvoPrimerSTM32E_upgrade.zip, EvoPrimerSTM32C_upgrade.zip, EvoPrimerSTM3240G_upgrade.zip, and EvoPrimerSTM32G_upgrade.zip
The Doxygen CircleOS documentation is available online or as a download in this ZIP file .
Moreover, a work document describes the internal conception of CircleOS and the use of the API's .
What's new ?
Version V4.62 (27.06.2014)
- Fixed some DMA2D issues
- Compiled with new GCC v4.8.4
- Fixed FPU options issue (STM3220G and STM324x)
Version V4.61 (04.10.2013)
- Added object tranformation DMA-2D functions
- Fixed UTIL_SetTimer function for other platforms than STM32E
(see "DMA2DEMO", "SPACE 2D" and "DMA2D-TR" projects for demo of new DMA-2D functionalites).
Version V4.6 (12.09.2013)
- Support of new Evo Primer target Board STM32F429ZI
- Added DMA-2D functions to easily take advantage of the Chrom-ART Accelerator embedded into the STM32F429 MCU
- Changed FAT structure in order to support application with size > 256Kb (applications max number reduced from 64 to 42)
(New FAT files for application debug : FAT.zip )
Version V4.5 (23.07.2013)
- Changed filesystem to FatFs (faster, long file names support, more functions...)
- Added new file management functions (FS_Tell, FS_Copy, FS_Cmp, FS_Gets, FS_Size...)
- Deployed extension connector management on all platforms (CX functions)
- Added UTIL_SaveScreenBMP function : capture/save the current screen on the SD card
- Added some utilities (UTIL_GetBatStatus, UTIL_SetTimer functions...)
- Added configurable handler dividers managed by scheduler
(see "Cx_Demo" project and "FileSystem demo" project for demo of these new functionalites).
Version V4.4 (11.2012)
- Added extension connector management for STM32G platform (CX functions)
- Fixed extension USART2 bug that would not work properly out of a debug session
Version V4.32 (19.09.2012)
- Fixed battery status bug when USB disconnected
Version V4.31 (26.03.2012)
- Support of new Evo Primer target Board STM32G
- Fixed SDCard write bug due to new ST F2xx library
Version V4.3 (31.10.2011)
- Support of new Evo Primer target Board STM32F20G/STM32F40G
Version V4.2 (27.05.2011)
- Support of new Evo Primer target Board STM32L152,
- Peripheral ST library updated to v3.5.0,
- CMSIS library updated to V1.30,
- Changed TIM2 configuration to avoid conflict with USART2,
- Fixed LCD_SetBackLight functions v4.1 bug for Primer 2,
- Fixed LED0 v4.1 bug for Primer 1,
- Added timeout during audio I2C exchanges.
Version V4.11 (27.01.2011)
- Fix minor bugs,
- Rebuild with new GCC version (Primer2 FLASH exceed error fixed) .
Version V4.1 (06.09.2010)
- Management of user defined fonts up to 16x16 pixels,
- Choice of three different fonts for menu display,
- Management of compressed images (BMP RLE format),
- Added transparence mode for font,
- Added API function for allow application to manage the full screen,
- Changed startup to asm for ST library comptability,
(see "FontExample" project and "Full Screen" project for demo of these new functionalites).
Version V4.03/4.04 (06.2010)
- Global folder structure reorganization,
- Application autorun possibility,
- Fix 32 bits alignment bug for SDcard sectors,
- Add Create Directory functionality for SDCard,
- Fix VBat display bug in Primer1 test.
Version V3.82 (19.05.2010)
- Touchscreen upgraded (precision, calibration procedure)
Thanks to the ntrf.zns !
Version V3.8 (08.09.2009)
- ST library updated to v3.1.0,
- CMSIS updated to V1.20,
- SDcard file update,
- New settings to disable the Buzzer,
- Touchscreen upgraded (precision, use as only input, a new point added for calibration),
- Diagonal joystick implemented,
- Audio I2C interruption moved,
- Reorganization of the project structure,
- shutdown.c was renamed to power.c,
- Fix LCD initialization bug on Primer 1
Version V3.7 (02.04.2009)
- Full audio files support with 8, 16, 22 or 44 KHz, 8 or 16 bits, mono or stereo samples (with DMA tranfer),
- Added FS_SetPathFilter() (path filter function when navigate into SDCard with the explorer),
- Init SDIO IT in FS_Mount() SDCard function,
- Add possibility of manage a popup menu into an application,
- Fixed several minor bugs
Version V3.6 (05.03.2009)
- Added SDCard command menu to navigate and download files from a PC explorer (mass storage mode),
- Added DRAW_Putc and DRAW_Puts functions that implement "C" putc and puts functions,
- Added functions to change the current font and ascii table extended up to character 255 ,
- Added UTIL_GetAppAddress function, in order to get the address of an application.
Thanks to the contributor (Simon Markham) for his character set extension !
Note: this version requires to update the program "Circle_Mgr.exe" : get the file at the root directory of the zip, and copy it to the "~/Ride/bin" directory of your PC.
Version V3.5 (05.02.2009)
- Include File System API,
- Added SDCard command menu to navigate into the SDCard folders.
Thanks to the contributor (Sjoerd) for his file system sources !
Version V3.4 (29.01.2009)
- Added some audio API functions for I2C registers access.
Version V3.3 (15.01.2009)
- Changed home page and toolbar icons with more fun pictures,
- Added scroll application list,
- Changed menu colors, and added touchscreen functionalities.
Version V3.1 (14.11.2008)
- Now supports Primer2 (and Primer1 as well),
- New functions for new features: audio, touchscreen, joystick, etc...
- Improved power management for Primer2,
- Add hardware tests for Primer2.
Version V2.0 (27.07.2008)
- Compiled with the gcc/codesourcery version 4.2.3 to be compatible with RKit-ARM release of the 24.07.2008
- Synchronize with the new version of the STM32 library from STMicroelectronics v2.0.1
- Fix bugs reported in the forum www.STM32Circle.com
Version V1.7 (08.11.2007)
- Vectorize the handlers in the scheduler (allow to disable/modify one of the handlers)
- Added functions to Get/Set Scheduler Handlers
- Add UTIL_GetTemp() function (Get temperature) and UTIL_SetTempMode(mode) to select Celcius(0) or Fahrenheit(1)
- Add DRAW_Line() function (draw a line using the Bresenham algorithm)
- Detect the doubleclick (in fact a "double-shock"), store it in MEMS_Info that has been extended and use it in the menu selection to launch a command. The "double-shock" can be done smoothly with one finger.
- Various fixes in Circle_Api.h
Thanks to the contributors (Dale Wheat, Bob Seabrook, Thomas Scherrer,...) for their sources and their suggestions !
Version V1.6 (17.10.2007)
- Place the vector table in RAM for per-user customization of IRQ Handlers
- Added functions to Get/Set IRQ Handlers
Version V1.5 (12.10.2007)
- Fix various bugs in mems.c and pointer.c (reported by Ron Miller and suggested in CircleOS-1.4rm)
- Pointer stabilization again (jittery ok)
- Better filtering of the MEMS information
- Compiled with GCC version 4.2.1 (overall size is reduced)
WARNING: to fix a bug, the contents of the MEMS_INfo structure has been modified (some s16 types have been extended to s32). Therefore, the application projects must be recompiled.
All the projects available on the site have been recompiled and updated to comply with the release V1.5.
Version V1.4 (31.08.2007)
- Shutting down can be done by holding down the button.
- Pointer stabilization.
- Corrected time display.
- MENU_Quit() restores full context.
Version V1.3a (23.08.2007)
- Removed the WFI mode in the main loop (causing locks when debugging).
Version V1.3 (22.08.2007)
- Optimized time display.
- The MEMS handler is now launched from the TIMER2 interrupt handler instead of the systick interrupt,
- The TIMER2 interrupt priority is higher than the systick interrupt priority (in order to guarantee a fixed frequency for the MEMS acquisition),
- The frequency of the MEMS acquisition is increased (to read as many samples as possible),
- Menu management is smoother and more stable,
- A hardware reset is now performed when initializing the LCD monitor.
- The source files are provided with the complete project.
Version V1.2 (01.08.2007)
- Typing error in Circle_api.h in LCD_SetBackLight define,
- LCD_ReadRect changed in LCD_RectRead in CircleOS sources Circle_api.h definition.
Version V1.1 (30.07.2007)
- Quit option in menu Configuration,
- Bug fixed in LCD_SetScreenOrientation,
- POINTER_Save and POINTER_Restore accept now an height,
- DRAW_SetLogo doesn't smash text color anymore,
- LCD_SetBackLightOff and LCD_SetBackLightOff added.
Version V1.0 (13.07.2007)