2010-01-06 13:25:44 +00:00
|
|
|
|
*****************************************************************************
|
|
|
|
|
*** Files Organization ***
|
|
|
|
|
*****************************************************************************
|
|
|
|
|
|
|
|
|
|
--{root} - ChibiOS/RT directory.
|
|
|
|
|
+--readme.txt - This file.
|
2010-10-03 13:45:52 +00:00
|
|
|
|
+--documentation.html - Shortcut to the web documentation page.
|
2010-01-06 13:25:44 +00:00
|
|
|
|
+--todo.txt - Current plan (development/unstable versions only).
|
|
|
|
|
+--license.txt - GPL license text.
|
|
|
|
|
+--exception.txt - GPL exception text (stable releases only).
|
|
|
|
|
+--boards/ - Board support files.
|
|
|
|
|
+--demos/ - Demo projects.
|
|
|
|
|
+--docs/ - Documentation.
|
2010-10-25 18:48:13 +00:00
|
|
|
|
| +--html/ - Local HTML documentation (after rebuild).
|
2010-01-06 13:25:44 +00:00
|
|
|
|
| +--reports/ - Test reports.
|
|
|
|
|
| +--src/ - Documentation source files (required for rebuild).
|
|
|
|
|
| +--rsc/ - Documentation resource files (required for rebuild).
|
2010-10-25 18:48:13 +00:00
|
|
|
|
| +--Doxyfile - Doxygen project file (required for rebuild).
|
|
|
|
|
| +--index.html - Local documentation access (after rebuild).
|
2010-01-06 13:25:44 +00:00
|
|
|
|
+--ext/ - External libraries, not part of ChibiOS/RT.
|
|
|
|
|
+--os/ - ChibiOS/RT files.
|
|
|
|
|
| +--hal/ - Hardware Abstraction Layer.
|
|
|
|
|
| | +--include/ - HAL high level headers.
|
|
|
|
|
| | +--src/ - HAL high level source.
|
|
|
|
|
| | +--platforms/ - HAL low level drivers implementations.
|
|
|
|
|
| | | +--AT91SAM7/ - Drivers for AT91SAM7 platform.
|
|
|
|
|
| | | +--AVR/ - Drivers for AVR platform.
|
2012-05-24 18:31:34 +00:00
|
|
|
|
| | | +--LPC11Uxx/ - Drivers for LPC11Uxx platform.
|
2010-04-27 07:27:26 +00:00
|
|
|
|
| | | +--LPC11xx/ - Drivers for LPC11xx platform.
|
|
|
|
|
| | | +--LPC13xx/ - Drivers for LPC13xx platform.
|
2010-01-06 13:25:44 +00:00
|
|
|
|
| | | +--LPC214x/ - Drivers for LPC214x platform.
|
|
|
|
|
| | | +--MSP430/ - Drivers for MSP430 platform.
|
2010-02-22 18:09:56 +00:00
|
|
|
|
| | | +--SPC56x/ - Drivers for SPC56x/MPC563xx platforms.
|
2012-01-28 14:45:52 +00:00
|
|
|
|
| | | +--STM32/ - Drivers for STM32 platform (common).
|
2012-05-24 18:31:34 +00:00
|
|
|
|
| | | +--STM32F0xx/- Drivers for STM32F0xx platform.
|
2012-01-28 14:45:52 +00:00
|
|
|
|
| | | +--STM32F1xx/- Drivers for STM32F1xx platform.
|
|
|
|
|
| | | +--STM32F2xx/- Drivers for STM32F2xx platform.
|
|
|
|
|
| | | +--STM32F4xx/- Drivers for STM32F4xx platform.
|
|
|
|
|
| | | +--STM32L1xx/- Drivers for STM32L1xx platform.
|
2010-11-17 13:56:04 +00:00
|
|
|
|
| | | +--STM8L/ - Drivers for STM8L platform.
|
2010-11-19 18:45:11 +00:00
|
|
|
|
| | | +--STM8S/ - Drivers for STM8S platform.
|
2010-03-06 18:40:13 +00:00
|
|
|
|
| | | +--Posix/ - Drivers for x86 Linux/OSX simulator platform.
|
|
|
|
|
| | | +--Win32/ - Drivers for x86 Win32 simulator platform.
|
2010-01-06 13:25:44 +00:00
|
|
|
|
| | +--templates/ - Driver template files.
|
|
|
|
|
| | +--meta/ - Driver meta templates.
|
|
|
|
|
| +--ports/ - Port files for the various architectures.
|
|
|
|
|
| | +--GCC/ - Ports for the GCC compiler.
|
2010-11-17 13:56:04 +00:00
|
|
|
|
| | | +--ARM/ - Port files for ARM7 and ARM9 architectures.
|
2010-11-19 18:45:11 +00:00
|
|
|
|
| | | +--ARMCMx/ - Port files for ARMCMx architectures (ARMv6/7-M).
|
2010-03-06 18:40:13 +00:00
|
|
|
|
| | | +--PPC/ - Port files for PowerPC architecture.
|
|
|
|
|
| | | +--AVR/ - Port files for AVR architecture.
|
|
|
|
|
| | | +--MSP430/ - Port files for MSP430 architecture.
|
|
|
|
|
| | | +--SIMIA32/ - Port files for SIMIA32 simulator architecture.
|
2011-01-16 10:14:48 +00:00
|
|
|
|
| | +--IAR/ - Ports for the IAR compiler.
|
|
|
|
|
| | | +--ARMCMx/ - Port files for ARMCMx architectures (ARMv6/7-M).
|
|
|
|
|
| | +--RVCT/ - Ports for the Keil RVCT compiler.
|
|
|
|
|
| | | +--ARMCMx/ - Port files for ARMCMx architectures (ARMv6/7-M).
|
2010-07-12 18:20:11 +00:00
|
|
|
|
| | +--cosmic/ - Ports for the Cosmic compiler.
|
2010-10-04 17:16:18 +00:00
|
|
|
|
| | | +--STM8/ - Port files for STM8 architecture.
|
2010-03-06 18:40:13 +00:00
|
|
|
|
| | +--RC/ - Ports for the Raisonance compiler.
|
|
|
|
|
| | +--STM8/ - Port files for STM8 architecture.
|
2010-01-06 13:25:44 +00:00
|
|
|
|
| +--kernel/ - Kernel portable files.
|
|
|
|
|
| | +--include/ - Kernel headers.
|
|
|
|
|
| | +--src/ - Kernel source.
|
|
|
|
|
| | +--templates/ - Kernel port template files.
|
|
|
|
|
| +--various/ - Various portable support files.
|
|
|
|
|
+--test/ - Kernel test suite source code.
|
|
|
|
|
| +--coverage/ - Code coverage project.
|
|
|
|
|
+--testhal/ - HAL integration test demos.
|
2012-02-05 09:04:32 +00:00
|
|
|
|
| +--LPC11xx/ - LPC11xx HAL demos.
|
|
|
|
|
| +--LPC13xx/ - LPC11xx HAL demos.
|
|
|
|
|
| +--STM32F1xx/ - STM32F1xx HAL demos.
|
|
|
|
|
| +--STM32F4xx/ - STM32F4xx HAL demos (valid for STM32F2xx too).
|
2012-02-06 19:52:04 +00:00
|
|
|
|
| +--STM32L1xx/ - STM32L1xx HAL demos.
|
2012-02-05 09:04:32 +00:00
|
|
|
|
| +--STM8S/ - STM8S HAL demos.
|
2011-08-01 14:33:04 +00:00
|
|
|
|
+--tools - Various tools.
|
|
|
|
|
+--eclipse - Eclipse enhancements.
|
2012-07-08 08:32:03 +00:00
|
|
|
|
+--gencfg - Configurations generator tool.
|
2010-01-17 10:11:37 +00:00
|
|
|
|
|
2007-09-21 16:44:36 +00:00
|
|
|
|
*****************************************************************************
|
|
|
|
|
*** Releases ***
|
|
|
|
|
*****************************************************************************
|
2009-04-02 13:41:54 +00:00
|
|
|
|
|
2012-01-28 18:54:40 +00:00
|
|
|
|
*** 2.5.0 ***
|
2012-08-24 12:25:41 +00:00
|
|
|
|
- FIX: Fixed packed structures macros not functional in IAR and RVCT port
|
|
|
|
|
(bug 3561279)(backported to 2.4.3 and 2.2.10).
|
2012-08-23 12:00:26 +00:00
|
|
|
|
- FIX: Fixed Problem in FatFs demos related to LFN (bug 3560980)(backported
|
|
|
|
|
to 2.4.3 and 2.2.10).
|
2012-06-27 18:23:08 +00:00
|
|
|
|
- FIX: Fixed problem in STM32 DMA1 stream1 IRQ handler (bug 3538468)
|
|
|
|
|
(backported to 2.4.2).
|
|
|
|
|
- FIX: Fixed TIM8 not working in STM32 GPT driver (bug 3536523)(
|
2012-06-21 17:14:33 +00:00
|
|
|
|
- FIX: Fixed wrong priority assigned to TIM8 in STM32 ICU driver (bug 3536950)
|
|
|
|
|
(backported to 2.4.2).
|
2012-06-20 08:39:04 +00:00
|
|
|
|
- FIX: Fixed TIM8 not working in STM32 GPT driver (bug 3536523)(backported
|
|
|
|
|
to 2.4.2).
|
|
|
|
|
- FIX: Fixed timer overflow not working in STM32 ICU driver for TIM1/TIM8 (bug
|
|
|
|
|
3536522)(backported to 2.4.2).
|
2012-06-18 17:28:41 +00:00
|
|
|
|
- FIX: Fixed wrong DMA channels on USART2 in STM32F10X_MD_VL devices (bug
|
|
|
|
|
3536070)(backported to 2.4.2).
|
2012-06-18 08:52:26 +00:00
|
|
|
|
- FIX: Fixed issue with DMA channel init in STM32 ADC and SPI drivers (bug
|
|
|
|
|
3535938)(backported to 2.2.10 and 2.4.2).
|
|
|
|
|
- FIX: Fixed issue debugging mmc_spi (bug 3535887)(trunk only).
|
|
|
|
|
- FIX: Fixed unreliable PHY initialization (bug 3534819)(backported to 2.4.2).
|
|
|
|
|
- FIX: Fixed wrong ADC callback buffer pointer in ADC driver (bug 3534767)
|
|
|
|
|
(backported to 2.2.10 and 2.4.2).
|
2012-06-09 16:49:16 +00:00
|
|
|
|
- FIX: Fixed STM32F2 RTC subseconds (bug 3533414)(trunk only).
|
2012-06-07 18:58:03 +00:00
|
|
|
|
- FIX: Fixed problem with arm-v6m and state checker (bug 3532591)(backported
|
|
|
|
|
to 2.4.2).
|
2012-06-01 20:23:51 +00:00
|
|
|
|
- FIX: Fixed wrong MAC divider setting in STM32 MAC driver (bug 3531290)
|
|
|
|
|
(backported to 2.4.2).
|
|
|
|
|
- FIX: Fixed wrong MCO1 divider in STM32F2/F4 HAL (bug 3531289)(backported
|
|
|
|
|
to 2.4.2).
|
2012-05-30 20:56:09 +00:00
|
|
|
|
- FIX: Fixed missing "break" in AVR PAL driver (bug 3530924)(backported
|
|
|
|
|
to 2.4.2).
|
2012-05-27 14:50:05 +00:00
|
|
|
|
- FIX: Fixed timeout related race condition in STM32 I2C driver (bug 3530043)
|
|
|
|
|
(backported to 2.4.2).
|
2012-05-16 19:33:53 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in STM32 MAC driver (bug 3527179)(backported
|
2012-05-16 06:46:11 +00:00
|
|
|
|
to 2.4.2).
|
2012-05-15 16:59:15 +00:00
|
|
|
|
- FIX: Fixed error in STM32L-Discovery board.h file (bug 3526918)(backported
|
|
|
|
|
to 2.4.2).
|
2012-05-12 06:46:28 +00:00
|
|
|
|
- FIX: Fixed inconsistent LPCxxx Internal RC oscillator names (bug 3524138)
|
|
|
|
|
(backported to 2.2.10 and 2.4.1).
|
2012-05-06 14:27:27 +00:00
|
|
|
|
- FIX: Fixed wrong frequency limit checks vs VDD in STM32F2xx HAL (bug 3524094)
|
|
|
|
|
(backported to 2.4.1).
|
2012-05-06 14:12:32 +00:00
|
|
|
|
- FIX: Fixed STM32 I2C1 wrong alternate TX DMA setting (bug 3524088)
|
|
|
|
|
(backported to 2.4.1).
|
2012-05-06 10:33:18 +00:00
|
|
|
|
- FIX: Fixed system state check problem related to FatFS (bug 3523769).
|
2012-05-05 07:20:47 +00:00
|
|
|
|
- FIX: Fixed three testhal builds fail (bug 3523322)(backported to 2.4.1).
|
2012-05-01 16:53:58 +00:00
|
|
|
|
- FIX: Fixed MAC driver functions with invalid name (bug 3522808)(backported
|
|
|
|
|
to 2.2.10 and 2.4.1).
|
2012-04-30 09:40:21 +00:00
|
|
|
|
- FIX: Fixed code coverage crashes with Linux/gcc-4.4.5 (bug 3522301)
|
|
|
|
|
(backported to 2.4.1).
|
2012-04-18 17:34:17 +00:00
|
|
|
|
- FIX: Fixed macro dmaWaitCompletion() fails to compile in STM32 HAL (bug
|
|
|
|
|
3519202)(backported to 2.4.1).
|
2012-04-18 16:40:15 +00:00
|
|
|
|
- FIX: Fixed ARM addresses generated in vectors table (bug 3519037)(backported
|
|
|
|
|
to 2.2.10 and 2.4.1).
|
2012-04-14 11:12:37 +00:00
|
|
|
|
- FIX: Fixed missing serial driver functionality for SAM7S64, SAM7S128 and
|
|
|
|
|
SAM7S512 (bug 3517648)(backported to 2.2.10 and 2.4.1).
|
2012-04-18 16:40:15 +00:00
|
|
|
|
- FIX: Fixed a few more spelling fixes (bug 3515531)(backported to 2.4.1).
|
2012-04-02 17:47:34 +00:00
|
|
|
|
- FIX: Fixed spurious ) char in STM32 serial_lld.h (bug 3514138)(backported
|
|
|
|
|
to 2.2.10 and 2.4.1).
|
2012-04-01 12:33:00 +00:00
|
|
|
|
- FIX: Fixed problem with FPU initialization in GCC Cortex-M4 port (bug
|
|
|
|
|
3513897)(backported to 2.4.1).
|
2012-03-26 09:13:37 +00:00
|
|
|
|
- FIX: Spelling fixes (bug 3510812)(backported to 2.4.1).
|
2012-03-19 20:28:33 +00:00
|
|
|
|
- FIX: Fixed STM32 ICUD8 not functional because wrong initialization (bug
|
|
|
|
|
3508758)(backported to 2.4.1).
|
2012-03-15 19:54:36 +00:00
|
|
|
|
- FIX: Fixed chMBFetchI does not decrement mb_fullsem (bug 3504450)(backported
|
|
|
|
|
to 2.2.9 and 2.4.1).
|
2012-05-12 09:22:43 +00:00
|
|
|
|
- FIX: Fixed STM32 PLLI2S initialization error (bug 3503490)(backported
|
|
|
|
|
to 2.4.1).
|
2012-03-05 18:14:53 +00:00
|
|
|
|
- FIX: Fixed USART3 not working on STM32F2/F4 UART driver (bug 3496981)
|
|
|
|
|
(backported to 2.4.1).
|
2012-02-29 16:57:56 +00:00
|
|
|
|
- FIX: Fixed stack misalignment on Posix-MacOSX (bug 3495487)(backported
|
2012-03-03 10:51:27 +00:00
|
|
|
|
to 2.4.1).
|
2012-02-20 19:54:19 +00:00
|
|
|
|
- FIX: Fixed STM8S HSI clock initialization error (bug 3489727)(backported to
|
|
|
|
|
2.2.9 and 2.4.1).
|
2012-02-12 09:30:37 +00:00
|
|
|
|
- FIX: Fixed MMC over SPI driver performs an unnecessary SPI read (bug
|
2012-02-20 19:54:19 +00:00
|
|
|
|
3486930)(backported to 2.2.9 and 2.4.1).
|
2012-02-11 08:57:22 +00:00
|
|
|
|
- FIX: Fixed Realtime counter initialization in STM32 HALs (bug 3485500)
|
|
|
|
|
(backported to 2.4.1).
|
2012-02-08 17:48:43 +00:00
|
|
|
|
- FIX: Fixed PPC port broken when CH_DBG_SYSTEM_STATE_CHECK is activated
|
|
|
|
|
(bug 3485667)(backported to 2.4.1).
|
2012-02-07 19:07:30 +00:00
|
|
|
|
- FIX: Fixed missing PLL3 check in STM32F107 HAL (bug 3485278)(backported
|
|
|
|
|
to 2.4.1).
|
2012-02-07 19:02:37 +00:00
|
|
|
|
- FIX: Fixed ADC maximum frequency limit in STM32F2/F4 ADC drivers (bug
|
|
|
|
|
3484947)(backported to 2.4.1).
|
|
|
|
|
- FIX: Fixed various minor documentation errors (bug 3484942)(backported
|
2012-02-07 18:57:30 +00:00
|
|
|
|
to 2.4.1).
|
2012-08-28 13:30:29 +00:00
|
|
|
|
- NEW: Added Eclipse project files to most demos. The project are setup to
|
|
|
|
|
have paths relative to a variable named CHIBIOS that must point to the
|
|
|
|
|
ChibiOS/RT installation path. The variable must be defined under
|
|
|
|
|
Window->Preferences->General->Workspace->Linked_Resources and must contain
|
|
|
|
|
a path without the trailing slash character.
|
2012-08-22 14:23:02 +00:00
|
|
|
|
- NEW: Added memory signature record to the registry in order to simplify
|
|
|
|
|
the implementation of ad-hoc debuggers.
|
2012-08-21 07:38:13 +00:00
|
|
|
|
- NEW: Small andjustment in chcore.h files under ./os/ports/GCC required by a
|
|
|
|
|
difference in GCC 4.7.x.
|
2012-08-07 10:42:01 +00:00
|
|
|
|
- NEW: Added another STM32F4-Discovery demo using the on-board MEMS, SPI
|
|
|
|
|
and PWM. Removed MEMS handling from the old demo because code size limits
|
|
|
|
|
on non-free compilers.
|
2012-08-05 09:30:51 +00:00
|
|
|
|
- NEW: Added configuration wizard plugin under ./tools/eclipse/plugins. This
|
2012-08-05 12:20:57 +00:00
|
|
|
|
first version is able to configure the board files for STM32F0xx, STM32F4xx
|
|
|
|
|
and STM32L1xx.
|
2012-07-09 18:52:34 +00:00
|
|
|
|
- NEW: Added USART6 support to the STM32 UARTv1 driver, contributed by Erik
|
|
|
|
|
van der Zalm.
|
2012-07-01 14:10:13 +00:00
|
|
|
|
- NEW: Added demo for Arduino Mega, contributed by Fabio Utzig.
|
|
|
|
|
- NEW: Added support for ATmega1280, contributed by Fabio Utzig.
|
2012-07-01 15:25:03 +00:00
|
|
|
|
- NEW: Added I2C driver for AVR, contributed by Fabio Utzig.
|
2012-07-01 07:21:54 +00:00
|
|
|
|
- NEW: Added FatFs demo for the Olimex STM32-P107 board.
|
2012-06-30 19:27:27 +00:00
|
|
|
|
- NEW: Added support for the Olimex STM32-E407 board. Added an integrated
|
|
|
|
|
demo including USB-CDC, lwIP with web server, FatFs and shell, all running
|
|
|
|
|
together.
|
2012-06-30 09:39:58 +00:00
|
|
|
|
- NEW: Added an experimental and unsupported STM8 port for the IAR compiler,
|
|
|
|
|
contributed by "king2".
|
2012-06-30 08:41:09 +00:00
|
|
|
|
- NEW: Updated STM8 header files to latest versions from ST.
|
2012-06-21 16:25:11 +00:00
|
|
|
|
- NEW: Reorganized the STM32 EXT driver to have a sub-platform specific
|
|
|
|
|
part containing all the ISR related code, this has been necessary because
|
|
|
|
|
the significant differences among the various sub-families.
|
2012-06-20 15:55:54 +00:00
|
|
|
|
- NEW: Validated CAN driver on STM32F2/F4 (backported to 2.4.2).
|
2012-06-12 14:03:33 +00:00
|
|
|
|
- NEW: USB implementation for STM32F105/F107/2xx/F4xx devices.
|
|
|
|
|
- NEW: Improved SerialUSB driver using the new queued mode, much smaller
|
|
|
|
|
than the previous driver.
|
|
|
|
|
- NEW: Improved USB driver model supporting also queues for endpoint I/O,
|
|
|
|
|
packet mode removed.
|
2012-06-11 16:54:35 +00:00
|
|
|
|
- NEW: Added an application-defined field to I/O queues (a void pointer).
|
2012-06-09 16:57:37 +00:00
|
|
|
|
- NEW: Added board files for Maple Mini STM32F103, contributed by Wagner
|
|
|
|
|
Sartori Junior.
|
2012-05-20 09:16:12 +00:00
|
|
|
|
- NEW: Added SSP1 capability to the LPC13xx SPI driver.
|
2012-05-20 08:37:29 +00:00
|
|
|
|
- NEW: Updated vendor headers for LPC11xx and LPC13xx, the new headers
|
|
|
|
|
support several new devices.
|
2012-05-18 16:03:39 +00:00
|
|
|
|
- NEW: Demo for STM32F0-Discovery board.
|
2012-05-26 12:56:08 +00:00
|
|
|
|
- NEW: Initial support for STM32F0xx devices, added a specific ADC driver.
|
2012-06-23 19:07:28 +00:00
|
|
|
|
Validated EXT, GPT, ICU, PAL, PWM, Serial, SPI, UART drivers.
|
2012-05-10 12:26:24 +00:00
|
|
|
|
- NEW: Added a common ancestor class to the SDC and MMC_SPI drivers. This
|
|
|
|
|
allows to share code and definitions.
|
2012-05-09 18:44:47 +00:00
|
|
|
|
- NEW: Modified the SDC driver to implement the new block devices abstract
|
|
|
|
|
interface.
|
2012-05-09 17:00:03 +00:00
|
|
|
|
- NEW: Added two new functions to the MMC_SPI driver: mmcSync() and
|
2012-06-18 16:22:34 +00:00
|
|
|
|
mmcGetInfo(). Also implemented the new block devices abstract
|
2012-05-10 12:26:24 +00:00
|
|
|
|
interface. Moved the configuration parameters from mmcObjectInit() to
|
|
|
|
|
the configuration structure saving some RAM space. Updated demos.
|
2012-05-09 17:00:03 +00:00
|
|
|
|
- NEW: Added an abstract interface for block devices in the HAL. This
|
|
|
|
|
abstraction layer is meant to unify the access protocol to the SDC and
|
|
|
|
|
MMC_SPI (and potentially others) device drivers.
|
2012-05-07 18:47:39 +00:00
|
|
|
|
- NEW: Added an abstract interface for serial devices in the HAL. This
|
2012-05-07 19:34:10 +00:00
|
|
|
|
interface is meant to replace the equivalent class already present in the
|
|
|
|
|
kernel. access macros are similar except for the prefix, "chn" instead
|
2012-05-07 18:47:39 +00:00
|
|
|
|
of "chIO".
|
2012-04-25 09:33:30 +00:00
|
|
|
|
- NEW: Updated the MSP port to work with the latest MSPGCC compiler (4.6.3
|
|
|
|
|
LTS 20120406 unpatched), now the old MSPGCC 3.2.3 is no more supported
|
|
|
|
|
(backported to 2.4.1).
|
2012-04-23 17:43:42 +00:00
|
|
|
|
- NEW: EXT driver improved, now it is possible to reprogram channels at
|
|
|
|
|
runtime without necessarily specifying a new configuration.
|
|
|
|
|
TODO: Update AT91SAM7 EXT driver.
|
2012-04-22 10:47:39 +00:00
|
|
|
|
- NEW: Integrated FatFS 0.9, now the FatFS integration files are centralized
|
|
|
|
|
under ./os/various/fatfs_bindings and shared among all demos. The FatFS
|
|
|
|
|
file ffconf.h is now application-specific like all the other configuration
|
|
|
|
|
files.
|
2012-04-22 14:05:22 +00:00
|
|
|
|
- NEW: Added an new option CORTEX_PRIGROUP_INIT to the Cortex-Mx ports in
|
|
|
|
|
order to make priority organization configurable, the default is to
|
|
|
|
|
assign all the available priority bits to preemption priority with no
|
|
|
|
|
sub-priorities.
|
2012-04-09 14:51:29 +00:00
|
|
|
|
- NEW: Added support for pools of generic "mail" objects under ./os/various,
|
|
|
|
|
mail objects are meant to be used together with mailboxes.
|
2012-04-09 13:13:25 +00:00
|
|
|
|
- NEW: Added a new function chPoolLoadArray() to the Memory Pools subsystem,
|
|
|
|
|
it allows to load an entire array element's into a pool with a single
|
|
|
|
|
operation.
|
2012-04-01 12:48:43 +00:00
|
|
|
|
- NEW: Addes support for .S patch in the GCC ARM ports, by Ayman El-Khashab.
|
2012-04-01 12:33:00 +00:00
|
|
|
|
- NEW: Added a switch to the STM32F4 Makefile files in order to enable or
|
|
|
|
|
disable the FPU support in a single place.
|
2012-03-11 17:02:06 +00:00
|
|
|
|
- NEW: Added float support (optional) to chprintf(), by Fabio Utzig.
|
2012-03-10 11:56:43 +00:00
|
|
|
|
- NEW: Added overflow handling in the ICU driver (contributed by Xo).
|
2012-02-04 10:28:31 +00:00
|
|
|
|
- NEW: Updated debug plugin 1.0.8 (backported to 2.4.0).
|
2012-02-04 14:39:58 +00:00
|
|
|
|
- NEW: Added more accurate UBRR calculation in AVR serial driver (backported
|
|
|
|
|
to 2.4.0).
|
2012-02-06 19:45:47 +00:00
|
|
|
|
- NEW: Revision of the round-robin scheduling, now threads do not lose their
|
|
|
|
|
time slice when preempted. Each thread has its own time slices counter.
|
|
|
|
|
TODO: Seek optimizations.
|
2012-02-08 17:53:52 +00:00
|
|
|
|
- NEW: Modified the Virtual Timers management, now the callback is invoked
|
|
|
|
|
not in lock mode. This change reduces the interrupt jitter caused by
|
|
|
|
|
multiple timers used at same time.
|
2012-02-09 18:21:18 +00:00
|
|
|
|
- NEW: Added board files and demo for Olimex LPC-P1343 (contributed by
|
|
|
|
|
Johnny Halfmoon).
|
2012-02-18 16:46:21 +00:00
|
|
|
|
- NEW: Added handling of input 2 to the STM32 ICU driver (contributed by
|
|
|
|
|
Fabio).
|
2012-04-08 16:24:32 +00:00
|
|
|
|
- NEW: STM32 Ethernet driver completed. Added STM32F107 and STM32F407
|
2012-05-06 10:23:42 +00:00
|
|
|
|
lwIP demos (backported to 2.4.1).
|
2012-02-29 14:05:19 +00:00
|
|
|
|
- NEW: lwIP related code is not centralized into a single place, no need to
|
2012-05-06 10:23:42 +00:00
|
|
|
|
duplicate the code in each application or demo (backported to 2.4.1).
|
2012-06-18 16:22:34 +00:00
|
|
|
|
- CHANGE: Added two new methods to the BaseSequentialStream interface:
|
|
|
|
|
chSequentialStreamPut() and chSequentialStreamGet().
|
2012-05-08 17:09:20 +00:00
|
|
|
|
- CHANGE: Removed the chioch.h header from the kernel, now channels interface
|
2012-06-18 16:22:34 +00:00
|
|
|
|
is exported by the HAL. Removed functions chPutWouldBlock() and
|
|
|
|
|
chGetWouldBlock().
|
2012-07-08 15:45:46 +00:00
|
|
|
|
- CHANGE: Removed macro chMsgGetS(), chMsgGet() is still available.
|
2012-05-08 17:09:20 +00:00
|
|
|
|
- CHANGE: chprintf() now takes a BaseSequentialStream as parameter instead
|
|
|
|
|
of a BaseChannel making it more generic.
|
|
|
|
|
- CHANGE: Now the shell requires a BaseSequentialStream instead of a
|
|
|
|
|
BaseChannel for communications making it more generic.
|
2012-04-29 12:39:44 +00:00
|
|
|
|
- CHANGE: Kernel memory pools now do not check the alignment of the inserted
|
|
|
|
|
objects, it is responsibility of the application to insert properly
|
|
|
|
|
aligned objects.
|
2012-04-15 15:25:31 +00:00
|
|
|
|
- CHANGE: The PORT_INT_REQUIRED_STACK parameter for the Cortex-Mx ports has
|
|
|
|
|
been increased to 32 from 16 because the stack frame sizes are increased
|
|
|
|
|
when compiling with optimizations disabled, which is common during
|
2012-05-06 10:23:42 +00:00
|
|
|
|
debugging. In order to save RAM trim back this value when compiling with
|
|
|
|
|
optimizations enabled (backported to 2.4.1).
|
2012-05-06 10:33:18 +00:00
|
|
|
|
- CHANGE: Renamed Ethernet driver in AT91 HAL ETHD1 (backported to 2.4.1).
|
2012-04-30 18:33:18 +00:00
|
|
|
|
- CHANGE: Macros icuGetWidthI() and icuGetPeriodI() renamed to icuGetWidth()
|
2012-02-18 16:49:14 +00:00
|
|
|
|
and icuGetPeriod().
|
2012-07-11 18:44:31 +00:00
|
|
|
|
- Various documentation fixes and improvements.
|
2012-01-28 18:54:40 +00:00
|
|
|
|
|
2011-12-03 07:46:27 +00:00
|
|
|
|
*** 2.3.5 ***
|
2012-01-03 19:06:48 +00:00
|
|
|
|
- FIX: Fixed RTC compile problem on STM32F103 (bug 3468445).
|
2011-12-20 18:35:18 +00:00
|
|
|
|
- FIX: Fixed PWM with TIM1 and TIM8 broken in STM32 HAL (bug 3458947).
|
2011-12-03 08:49:51 +00:00
|
|
|
|
- FIX: Fixed SYSCFG clock not started in STM32L1/F4 HALs (bug 3449139).
|
2011-12-03 07:46:27 +00:00
|
|
|
|
- FIX: Fixed wrong definitions in STM32L-Discovery board file (bug 3449076).
|
2011-12-26 10:43:49 +00:00
|
|
|
|
- OPT: Improved the exception exit code in the GCC Cortex-Mx ports.
|
2012-01-21 09:13:33 +00:00
|
|
|
|
- NEW: Added a DMA stress test application for the STM32F4 in order to assess
|
|
|
|
|
robustness of the whole HAL.
|
2012-01-09 18:28:29 +00:00
|
|
|
|
- NEW: Added a Time Measurement driver to the HAL, this generic driver uses
|
|
|
|
|
the realtime counters abstracted in the HAL driver.
|
2012-01-08 17:42:53 +00:00
|
|
|
|
- NEW: Improved the STM32F1xx HAL driver, it now has the same features and
|
|
|
|
|
configuration options of the newer STM32s.
|
2012-01-05 16:01:52 +00:00
|
|
|
|
- NEW: MMC over SPI driver improved to handle high capacity cards, by
|
|
|
|
|
Matthias Blaicher.
|
2012-01-04 22:00:44 +00:00
|
|
|
|
- NEW: Added PVD support to the HAL of all STM32s, by Barthess.
|
2012-01-04 14:29:02 +00:00
|
|
|
|
- NEW: Added to the HAL driver the handling of an abstract realtime free
|
2012-01-04 08:46:11 +00:00
|
|
|
|
running counter, added the capability to all the STM32 HALs.
|
2012-01-02 11:30:14 +00:00
|
|
|
|
- NEW: Modified ARM and ARMCMx build rules to allow parallel build. Now the
|
|
|
|
|
log outputs one dummy compilation command in order to allow paths discovery
|
|
|
|
|
by Eclipse.
|
2012-01-01 13:16:19 +00:00
|
|
|
|
- NEW: Added an utility module to access LIS302DL MEMS using a SPI.
|
2011-12-22 12:38:21 +00:00
|
|
|
|
- NEW: Updated STM32F2xx support by inheriting the work done on the STM32F4xx,
|
|
|
|
|
the whole thing is untested because lack of hardware.
|
2011-12-21 18:49:04 +00:00
|
|
|
|
- NEW: Files nvic.c and nvic.h moved under ./os/ports/common/ARMCMx, removed
|
|
|
|
|
the duplicated instances under the GCC, IAR and Keil ports. Function names
|
|
|
|
|
prefixes changed from "NVIC" to "nvic" because style conventions.
|
2011-12-22 12:38:21 +00:00
|
|
|
|
- NEW: Added voltage regulator initialization to the STM32F4xx HAL.
|
2011-12-28 08:40:46 +00:00
|
|
|
|
- NEW: Added a linker script that demonstrates how to put stacks and other
|
|
|
|
|
critical structures in the CCM RAM instead normal RAM.
|
2011-12-20 18:51:28 +00:00
|
|
|
|
- NEW: Added experimental support for the Cortex-M4 FPU (default when the
|
2011-12-28 13:15:23 +00:00
|
|
|
|
FPU is present but can be disabled).
|
2011-12-08 11:02:02 +00:00
|
|
|
|
- NEW: Improved I2C driver model and STM32 implementation by Barthess.
|
2011-12-21 19:06:32 +00:00
|
|
|
|
- CHANGE: Removed the option to change the stack alignment in the GCC
|
|
|
|
|
Cortex-Mx ports, now alignment is always 64 bits.
|
2011-12-31 10:07:43 +00:00
|
|
|
|
- CHANGE: Modified the function palSetGroupMode() to have an offset parameter
|
|
|
|
|
in order to make it similar to other functions operating on groups.
|
2011-12-28 10:15:14 +00:00
|
|
|
|
- CHANGE: Increased main and process default stack sizes from 0x100 to 0x200
|
|
|
|
|
in LPC1114 and LPC1343 linker scripts.
|
2011-12-03 07:46:27 +00:00
|
|
|
|
|
2011-10-04 20:01:46 +00:00
|
|
|
|
*** 2.3.4 ***
|
2011-11-10 17:54:41 +00:00
|
|
|
|
- FIX: Fixed Extra initialization in STM32 SPI driver (bug 3436127)
|
|
|
|
|
(backported to 2.2.8).
|
|
|
|
|
- FIX: Fixed DMA priority setting error in STM32 UART driver (bug 3436125)
|
|
|
|
|
(backported to 2.2.8).
|
|
|
|
|
- FIX: Fixed DMA priority setting error in STM32 SPI driver (bug 3436124)
|
|
|
|
|
(backported to 2.2.8).
|
2011-11-06 14:56:31 +00:00
|
|
|
|
- FIX: Fixed broken support for UART5 in STM32 serial driver (bug 3434094)
|
|
|
|
|
(backported to 2.2.8).
|
2011-10-04 20:01:46 +00:00
|
|
|
|
- FIX: Fixed broken TIM8 support in STM32 PWM driver (bug 3418620).
|
2011-10-04 20:25:26 +00:00
|
|
|
|
- FIX: Fixed halconf.h file corrupted in some STM32 demos (bug 3418626).
|
2011-11-26 10:30:56 +00:00
|
|
|
|
- NEW: Added an unified registers file for STM32: stm32.h. This file includes
|
|
|
|
|
the appropriate vendor file then adds its own additional definitions.
|
2011-11-20 18:04:07 +00:00
|
|
|
|
- NEW: Added demo for the ST STM32F4-Discovery kit.
|
2011-11-19 09:54:55 +00:00
|
|
|
|
- NEW: STM32F4xx ADC driver implementation.
|
2011-11-14 17:59:02 +00:00
|
|
|
|
- NEW: Added initialization of the NVIC VTOR register to all Cortex-Mx (v7M)
|
|
|
|
|
ports. Also added a port option CORTEX_VTOR_INIT to enforce a different
|
|
|
|
|
default value into the register.
|
2011-11-13 11:14:10 +00:00
|
|
|
|
- NEW: Removed the warning about the "untested M4 platform", now it is
|
|
|
|
|
tested and officially supported.
|
2011-11-03 18:02:48 +00:00
|
|
|
|
- NEW: Reorganized the STM32F1xx hal_lld_xxx.h files in order to distribute
|
|
|
|
|
the capability macros into the appropriate file (previously those were all
|
|
|
|
|
in the common hal_lld.h).
|
2011-11-26 10:30:56 +00:00
|
|
|
|
- NEW: Added HAL, Serial, ADC, EXT, GPT, ICU, PWM, SPI and UART support for
|
|
|
|
|
the STM32F4xx sub-family.
|
|
|
|
|
TODO: Add CAN and SDC, the drivers need to be ported and tested.
|
2011-11-06 14:56:31 +00:00
|
|
|
|
- NEW: Added handling of USART6 to the STM32 serial driver.
|
2011-11-03 18:02:48 +00:00
|
|
|
|
- NEW: Added USE_COPT setting to all makefiles, contributed by Mabl.
|
|
|
|
|
- NEW: Added EXT driver implementation for AT91SAM7x, contributed by Florian.
|
2011-11-26 21:29:42 +00:00
|
|
|
|
TODO: Test application missing.
|
2011-10-23 12:21:44 +00:00
|
|
|
|
- NEW: Updated USB driver model and STM32 implementation and fixed several
|
|
|
|
|
problems.
|
|
|
|
|
- Changed the API to move buffer copy operations out of critical zones.
|
|
|
|
|
- Added usbConnectBus() and usbDisconnectBus() functions.
|
|
|
|
|
- Fixed problems with incorrect assertions.
|
|
|
|
|
- NEW Updated the SERIAL_USB driver to match the new USB API, also fixed
|
|
|
|
|
some problems.
|
|
|
|
|
- Fixed incorrect use of input queues, the change required a change in
|
|
|
|
|
input queues too.
|
2011-10-23 11:39:45 +00:00
|
|
|
|
- NEW: Added a macro THD_STATE_NAMES to chthreads.h. This macro is an
|
|
|
|
|
initializer for string arrays containing thread state names.
|
2011-10-05 17:00:13 +00:00
|
|
|
|
- NEW: Added memory copy functionality to the STM32 DMA driver.
|
2011-10-08 09:22:34 +00:00
|
|
|
|
- NEW: Implemented new makefile system for ARM GCC ports, now objects,
|
2011-10-08 14:23:08 +00:00
|
|
|
|
listings and output files are generated into a "build" directory and not
|
|
|
|
|
together with sources, also implemented a simplified output log mode.
|
2011-10-08 10:48:52 +00:00
|
|
|
|
Now makefiles and load script files are requirements and trigger a
|
2011-10-08 09:22:34 +00:00
|
|
|
|
rebuild if touched.
|
2011-10-10 18:08:37 +00:00
|
|
|
|
- NEW: Updated AVR demos to use the new PAL driver.
|
2011-10-15 13:24:40 +00:00
|
|
|
|
- NEW: Added Keil build files to the STM32L-Discovery demo.
|
2011-10-23 11:39:45 +00:00
|
|
|
|
- CHANGE: Now the callback associated to input queues is invoked before
|
|
|
|
|
reading each character. Previously it was invoked only before going
|
|
|
|
|
to sleep into the THD_STATE_WTQUEUE state.
|
2011-10-08 10:55:44 +00:00
|
|
|
|
- CHANGE: Moved the STM32 DMA helper drivers files under the sub-family
|
|
|
|
|
specific directories because documentation issues.
|
2011-10-04 20:01:46 +00:00
|
|
|
|
|
2011-06-08 15:32:34 +00:00
|
|
|
|
*** 2.3.3 ***
|
2011-11-27 09:05:28 +00:00
|
|
|
|
- FIX: Fixed missing UART5 definition in STM32 HAL (bug 3411774)(backported
|
|
|
|
|
to 2.2.8).
|
2011-09-24 10:34:03 +00:00
|
|
|
|
- FIX: Fixed uninitialized variable in STM32 PWM and ICU drivers (bug 3413558).
|
2011-09-23 15:48:55 +00:00
|
|
|
|
- FIX: Fixed wrong parameter passed to the DMA error hook in STM32 ADC driver,
|
|
|
|
|
the DMA error hook has been removed entirely in the new ADC driver model
|
2011-11-06 14:56:31 +00:00
|
|
|
|
(bug 3413214).
|
2011-09-20 17:08:22 +00:00
|
|
|
|
- FIX: The function chThdExit() triggers an error on shell return when the
|
|
|
|
|
system state checker is enabled (bug 3411207)(backported to 2.2.8).
|
2011-09-18 09:59:07 +00:00
|
|
|
|
- FIX: Some ARMCMx makefiles refer the file rules.mk in the ARM7 port (bug
|
|
|
|
|
3411180)(backported to 2.2.8).
|
2011-08-07 09:58:15 +00:00
|
|
|
|
- FIX: Fixed wrong check on CH_DBG_ENABLE_STACK_CHECK setting (bug 3387671)
|
|
|
|
|
(backported to 2.2.7).
|
2011-07-19 18:48:10 +00:00
|
|
|
|
- FIX: Fixed wrong APB1 frequency check (bug 3361039)(backported to 2.2.7).
|
2011-07-03 15:29:13 +00:00
|
|
|
|
- FIX: Fixed missing state in shell demos (bug 3351556)(backported to 2.2.7).
|
2011-06-16 19:56:47 +00:00
|
|
|
|
- FIX: Fixed race condition in Cortex-Mx ports (bug 3317500)(backported
|
|
|
|
|
to 2.2.6).
|
2011-06-05 18:19:05 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in STM32 UART driver (bug 3311999)(backported
|
|
|
|
|
to 2.2.6).
|
2011-06-01 17:56:23 +00:00
|
|
|
|
- FIX: Fixed wrong macro definition in ARMv6-M architecture files (bug
|
|
|
|
|
3310084).
|
2011-06-08 15:32:34 +00:00
|
|
|
|
- FIX: Fixed race condition in output queues (bug 3303908)(backported
|
|
|
|
|
to 2.2.4).
|
|
|
|
|
- FIX: Fixed CH_USE_HEAP and CH_USE_MALLOC_HEAP conflict (bug 3303841)
|
|
|
|
|
(backported to 2.2.4).
|
|
|
|
|
- FIX: Fixed timeout problem in the lwIP interface layer (bug 3302420)
|
|
|
|
|
(backported to 2.2.4).
|
2011-09-25 15:18:18 +00:00
|
|
|
|
- NEW: Added AVR implementation of the PAL driver contributed by Leszek.
|
2011-09-22 14:53:42 +00:00
|
|
|
|
- NEW: STM32L ADC driver implementation.
|
|
|
|
|
- NEW: Improved ADC driver model, now it is possible to handle error
|
|
|
|
|
conditions during the conversion process.
|
|
|
|
|
- NEW: STM32L1xx sub-family support, all STM32 drivers adapted and re-tested
|
2011-09-20 17:44:29 +00:00
|
|
|
|
on the new platform except ADC that will need a specific implementation.
|
2011-09-20 17:14:50 +00:00
|
|
|
|
- NEW: Added new API chThdExitS() in order to allow atomic operations on
|
2011-11-18 20:31:05 +00:00
|
|
|
|
thread exit (backported to 2.2.8).
|
2011-09-20 17:44:29 +00:00
|
|
|
|
- NEW: New EXT driver model and STM32 implementation.
|
2011-09-03 12:35:41 +00:00
|
|
|
|
- NEW: New I2C driver model and STM32 implementation.
|
|
|
|
|
(evaluate the option to change the API to a synchronous model)
|
|
|
|
|
- NEW: New RTC driver model and STM32 implementation.
|
|
|
|
|
(API and functionality review)
|
|
|
|
|
- NEW: Improved MAC driver model, it now follows the same template of other
|
|
|
|
|
drivers.
|
2011-11-26 21:29:42 +00:00
|
|
|
|
TODO: implement macStop() in AT91SAM7X implementation.
|
2011-09-16 17:38:22 +00:00
|
|
|
|
- NEW: New RCC helper driver for STM32F1xx and STM32L1xx, it simplifies
|
|
|
|
|
the use of the RCC resources and hides most differences found among the
|
|
|
|
|
various STM32 sub-families.
|
2011-08-28 08:53:14 +00:00
|
|
|
|
- NEW: New DMA helper driver for STM32, it simplifies the use of the DMA
|
|
|
|
|
resources and hides most differences with the new enhanced DMA units
|
|
|
|
|
found in the STM32F2xx sub-family.
|
2011-08-22 08:40:34 +00:00
|
|
|
|
- NEW: Now an error is generated at compile time when trying to enable the
|
|
|
|
|
options CH_DBG_ENABLE_STACK_CHECK on ports that do not support it.
|
2011-08-22 08:31:32 +00:00
|
|
|
|
- NEW: Added a kernel-only Cortex-Mx demo as reference project for users not
|
|
|
|
|
interested in the HAL but just want to use the ChibiOS/RT kernel.
|
|
|
|
|
The demo is named ARMCM3-GENERIC-KERNEL and is defaulted to the STM32, in
|
|
|
|
|
order to use it on other families or on the ARM Cortex-M0 just change the
|
|
|
|
|
inclusion paths in the makefile.
|
2011-08-16 13:37:53 +00:00
|
|
|
|
- NEW: Integrated new FatFs version 0.8b.
|
2011-08-13 15:40:57 +00:00
|
|
|
|
- NEW: Added a new hook THREAD_CONTEXT_SWITCH_HOOK() that allows to insert
|
|
|
|
|
code just before a context switch. For example this hook could be used
|
|
|
|
|
in oder to implement advanced power management schemes.
|
2011-08-11 17:51:37 +00:00
|
|
|
|
- NEW: Added a new debug option CH_DBG_SYSTEM_STATE_CHECK that ensures the
|
|
|
|
|
correct API call protocol. If an API is invoked out of the correct context
|
2011-08-13 07:06:02 +00:00
|
|
|
|
then the kernel panics with a debug message.
|
2011-08-09 08:12:47 +00:00
|
|
|
|
- NEW: The ARMCMx startup file (crt0.c) now is able to fill the stack areas
|
|
|
|
|
with a filler (default behavior). This is required in order to easily assess
|
|
|
|
|
the stack usage at runtime.
|
2011-08-08 12:14:35 +00:00
|
|
|
|
- NEW: Added the new CMSIS 2.1 headers, now CMSIS resides into a shared
|
|
|
|
|
location: ./os/ports/common/ARMCMx/CMSIS. Old CMSIS files have been
|
|
|
|
|
removed from the various platforms.
|
2011-08-07 16:52:40 +00:00
|
|
|
|
- NEW: Removed all the ch.ld files from the ARMCMx demos, now the makefiles
|
|
|
|
|
point to common ld files under the various ports. Less duplication and
|
|
|
|
|
easier maintenance.
|
2011-08-07 09:00:12 +00:00
|
|
|
|
- NEW: Improved stack checking and reorganized memory map for the Cortex-Mx
|
|
|
|
|
demos. Now stacks are allocated at the start of the RAM, an overflow of the
|
2011-09-21 17:10:15 +00:00
|
|
|
|
exception stack now triggers an exception (it could go unnoticed before).
|
2011-08-07 09:00:12 +00:00
|
|
|
|
The process stack is organized to be checked on context switch like other
|
|
|
|
|
threads. Now all threads have an explicit stack boundary pointer.
|
2011-08-01 14:33:04 +00:00
|
|
|
|
- NEW: Added debug plugin for Eclipse under ./tools/eclipse (backported to
|
|
|
|
|
2.2.7).
|
|
|
|
|
- NEW: The debug macros chDbgCheck() and chDbgAssert() now can be externally
|
|
|
|
|
redefined. The macro chDbgCheck() no more includes the line number in the
|
|
|
|
|
description because incompatibility with the Cosmic compiler (backported to
|
|
|
|
|
2.2.7).
|
2011-09-20 17:44:29 +00:00
|
|
|
|
- NEW: Added provisional support for STM32F2xx. Because of this some
|
|
|
|
|
directories related to the STM32 have been renamed, your makefiles may
|
2011-07-27 12:22:07 +00:00
|
|
|
|
require adjustments.
|
2011-07-13 19:26:41 +00:00
|
|
|
|
- NEW: Added a custom rule to the various rules.mk files, now it is possible
|
|
|
|
|
to add an user rule into the Makefiles.
|
2011-07-09 09:15:49 +00:00
|
|
|
|
- NEW: Improvements to the trace buffer, now it stores a full thread pointer
|
2011-07-10 08:45:36 +00:00
|
|
|
|
and event time, changed names to debug variables by adding the "dbg_"
|
2011-08-01 14:33:04 +00:00
|
|
|
|
prefix (backported to 2.2.7).
|
2011-07-08 19:29:00 +00:00
|
|
|
|
- NEW: Added a new functionality to the registry subsystem, now it is possible
|
|
|
|
|
to associate a name to the threads using chRegSetThreadName. The main and
|
2011-08-01 14:33:04 +00:00
|
|
|
|
idle threads have their name assigned by default (backported to 2.2.7).
|
2011-06-29 11:59:15 +00:00
|
|
|
|
- NEW: Added TIM8 support to the STM32 GPT, ICU and PWM drivers.
|
|
|
|
|
- NEW: Updated the STM32 header file to the latest version 3.5.0 and fixed
|
|
|
|
|
it in order to correct several bugs related to the XL family.
|
2011-06-28 06:29:04 +00:00
|
|
|
|
- NEW: Added a chprintf() function to ./os/various, it can print on any
|
|
|
|
|
BaseChannel.
|
|
|
|
|
- NEW: Improved the mini shell, enhanced info command, optimizations and
|
|
|
|
|
removed the shellPrint() and shellPrintLine() functions, now it uses
|
|
|
|
|
chprintf() for output.
|
2011-06-08 14:43:03 +00:00
|
|
|
|
- NEW: lwIP 1.4.0 has been integrated, this new version does not require
|
|
|
|
|
custom hooks into the Thread structure and is thus much lighter.
|
2011-06-06 17:53:43 +00:00
|
|
|
|
- NEW: FatFs demo for the STM32F103ZG using the SDC driver.
|
2011-05-29 09:09:22 +00:00
|
|
|
|
- NEW: Now the STM32 SDC driver supports unaligned buffers transparently.
|
2011-06-05 08:39:49 +00:00
|
|
|
|
Optimized the driver for single block read and write operations. Optimized
|
|
|
|
|
the driver state machine.
|
2011-06-01 17:56:23 +00:00
|
|
|
|
- NEW: Finished the reorganization of the Cortex-Mx ports, now also the
|
|
|
|
|
IAR and RVCT ports support the new Compact mode.
|
2011-06-02 17:33:57 +00:00
|
|
|
|
- NEW: Added to the ARMv6-M sub-port an option to use the PendSV exception
|
|
|
|
|
instead of NMI for preemption (backported to 2.2.5).
|
2011-05-17 14:49:51 +00:00
|
|
|
|
- NEW: Reorganization of the Cortex-Mx ports in order to reduced code and
|
2011-06-02 17:33:57 +00:00
|
|
|
|
comments duplication in the various headers (backported to 2.2.5).
|
2011-05-17 17:17:16 +00:00
|
|
|
|
- NEW: Improved the ARMv7-M sub-port now there are two modes: Compact and
|
|
|
|
|
Advanced.
|
2011-05-17 17:04:12 +00:00
|
|
|
|
The advanced mode is equivalent to the previous versions, the compact mode
|
2011-05-17 17:17:16 +00:00
|
|
|
|
is new and makes the kernel *much* smaller and generally faster but does
|
2011-06-02 17:33:57 +00:00
|
|
|
|
not support fast interrupts (backported to 2.2.5).
|
2011-05-17 17:17:16 +00:00
|
|
|
|
- NEW: Now the port layer exports info regarding the compiler and the port
|
2011-09-23 15:48:55 +00:00
|
|
|
|
options. The info are printed into the test reports. Date and time also
|
|
|
|
|
added.
|
2011-08-13 15:40:57 +00:00
|
|
|
|
- CHANGE: Removed the option CH_USE_NESTED_LOCK, lwIP no more requires it and
|
|
|
|
|
it would have conflicted with CH_DBG_SYSTEM_STATE_CHECK which is far more
|
|
|
|
|
useful.
|
2011-08-13 07:06:02 +00:00
|
|
|
|
- CHANGE: Renamed the scheduler functions chSchIsRescRequiredExI() to
|
|
|
|
|
chSchIsPreemptionRequired(), chSchDoRescheduleI() to chSchDoReschedule(),
|
|
|
|
|
chSysSwitchI() to chSysSwitch(). All those functions were special cases
|
|
|
|
|
and not regular I-class APIs.
|
2011-05-17 14:49:51 +00:00
|
|
|
|
- CHANGE: Renamed the macros IDLE_THREAD_STACK_SIZE and INT_REQUIRED_STACK
|
|
|
|
|
to PORT_IDLE_THREAD_STACK_SIZE and PORT_INT_REQUIRED_STACK for consistency.
|
|
|
|
|
- CHANGE: Removed the "old" Cortex-M3 port from the code, the current port
|
|
|
|
|
has no drawbacks and the old port is now just a maintenance cost.
|
|
|
|
|
- CHANGE: Removed the CH_CURRP_REGISTER_CACHE option, it is GCC-specific so
|
|
|
|
|
it does not belong to the kernel options. The feature will be eventually
|
|
|
|
|
reimplemented as a port-specific option.
|
2011-05-18 17:54:55 +00:00
|
|
|
|
- CHANGE: chiQGetFullI() and chOQGetFullI() become macros. The queues
|
|
|
|
|
subsystem has been optimized and is no more dependent on semaphores.
|
2011-05-20 12:46:24 +00:00
|
|
|
|
Note that the queues callbacks invocation policy has been slightly
|
2011-05-20 12:57:01 +00:00
|
|
|
|
changed, see the documentation (backported to 2.2.4).
|
2011-05-15 13:05:47 +00:00
|
|
|
|
|
2011-04-05 18:21:00 +00:00
|
|
|
|
*** 2.3.2 ***
|
2011-05-09 07:48:43 +00:00
|
|
|
|
- FIX: Fixed invalid BRR() macro in AVR serial driver (bug 3299306)(backported
|
|
|
|
|
to 2.2.4).
|
2011-05-08 06:12:32 +00:00
|
|
|
|
- FIX: Fixed missing IRQ vectors amicable names for STM32 XL devices (bug
|
|
|
|
|
3298889)(backported to 2.2.4).
|
2011-04-23 17:20:08 +00:00
|
|
|
|
- FIX: Fixed wrong identifier in AVR serial driver (bug 3292084)(backported
|
|
|
|
|
to 2.2.4).
|
2011-04-23 08:41:42 +00:00
|
|
|
|
- FIX: Fixed wrong macro check for STM32 XL devices (bug 3291898)(backported
|
|
|
|
|
to 2.2.4).
|
2011-05-13 09:03:46 +00:00
|
|
|
|
- FIX: Fixed SPI driver restart in STM32 SPI driver implementation, also
|
|
|
|
|
applied the same fix to the STM8S SPI driver (bug 3288758)(backported to
|
|
|
|
|
2.2.4).
|
2011-04-16 09:27:46 +00:00
|
|
|
|
- FIX: Fixed missing state transition in ADC driver (bug 3288149)(backported
|
|
|
|
|
to 2.2.4).
|
2011-04-16 06:30:12 +00:00
|
|
|
|
- FIX: Fixed missing state transition in SPI driver (bug 3288112)(backported
|
|
|
|
|
to 2.2.4).
|
2011-04-09 15:10:15 +00:00
|
|
|
|
- FIX: Fixed spurious characters generated by Serial over USB driver (bug
|
|
|
|
|
3276379).
|
2011-05-13 17:20:39 +00:00
|
|
|
|
- NEW: Added an option to the kernel to not spawn the Idle Thread from within
|
|
|
|
|
chSysInit(), this way the application can spawn a custom idle thread or
|
|
|
|
|
even use the main() thread as idle thread (backported to 2.2.4).
|
2011-05-10 18:33:49 +00:00
|
|
|
|
- NEW: Added new SDC driver model, Secure Digital Card.
|
|
|
|
|
- NEW: SDC driver implementation for STM32.
|
2011-04-25 12:41:47 +00:00
|
|
|
|
- NEW: Updated the STM32 header file to the latest version 3.4.0, had to
|
|
|
|
|
fix a bug regarding the STM32 XL sub-family.
|
2011-04-17 13:55:31 +00:00
|
|
|
|
- NEW: New unified GCC startup file for Cortex-Mx processors, it is written
|
|
|
|
|
in C instead of asm and supports constructors/destructors. Improved the
|
|
|
|
|
Cortex-Mx linker scripts in all the GCC demos.
|
2011-04-10 16:45:41 +00:00
|
|
|
|
- NEW: Now it is possible to share DMA channels in the STM32 HAL thanks
|
|
|
|
|
to a centralized manager. Channels are allocated when the driver is
|
|
|
|
|
started and released when it is stopped.
|
2011-04-16 09:18:36 +00:00
|
|
|
|
- NEW: Added an STM32 C++ demo for the GNU compiler.
|
2011-04-23 12:23:44 +00:00
|
|
|
|
- NEW: Added an STM32F103ZG demo for the STM3210E-EVAL evaluation board.
|
2011-04-05 18:21:00 +00:00
|
|
|
|
- OPT: STM32 PWM driver implementation simplified.
|
|
|
|
|
- CHANGE: Now pwmChangePeriod() does not implicitly disable the active
|
|
|
|
|
PWM channels.
|
2011-04-09 15:10:15 +00:00
|
|
|
|
- CHANGE: Renamed the chSemSetCounterI() function to chSemAddCounterI() and
|
|
|
|
|
changed its behavior.
|
|
|
|
|
- CHANGE: Modified the STM32 USB-CDC test demo to spawn a shell over the USB
|
|
|
|
|
serial connection.
|
2011-04-05 18:21:00 +00:00
|
|
|
|
|
2011-03-08 10:09:57 +00:00
|
|
|
|
*** 2.3.1 ***
|
2011-03-19 17:58:45 +00:00
|
|
|
|
- FIX: Fixed insufficient idle thread stack in Cortex-M0-GCC port (bug 3226671)
|
|
|
|
|
(backported to 2.2.3).
|
|
|
|
|
- FIX: Fixed stack checking in Cortex-M0-GCC port (bug 3226657)(backported
|
|
|
|
|
to 2.2.3).
|
2011-03-19 07:30:37 +00:00
|
|
|
|
- FIX: Fixed wrong checks in PAL driver (bug 3224681)(backported to 2.2.3).
|
2011-03-17 09:01:09 +00:00
|
|
|
|
- FIX: Fixed wrong checks in I/O Queues (bug 3219197)(backported to 2.2.3).
|
2011-03-10 13:00:59 +00:00
|
|
|
|
- FIX: Fixed invalid assertion in adcConvert() (bug 3205410)(backported
|
|
|
|
|
to 2.2.3).
|
2011-03-31 10:21:52 +00:00
|
|
|
|
- NEW: Improvements to the PWM driver model:
|
|
|
|
|
- Easier configuration similar to the GPT driver initializations, macros
|
|
|
|
|
are no more required.
|
|
|
|
|
- Added a new function that allows to change the PWM period on the fly,
|
|
|
|
|
even from within callbacks. Formerly it was required to stop and restart
|
|
|
|
|
the driver.
|
|
|
|
|
- Improved driver documentation.
|
2011-04-01 13:06:44 +00:00
|
|
|
|
- NEW: Added advanced mode to the STM32 PWM driver (TIM1 only).
|
2011-03-31 10:21:52 +00:00
|
|
|
|
- NEW: Added new ICU driver model, Input Capture Unit.
|
2011-03-28 15:32:56 +00:00
|
|
|
|
- NEW: ICU driver implementation for STM32.
|
2011-03-19 18:19:39 +00:00
|
|
|
|
- NEW: Implemented stack checking in the Cortex-Mx RVCT port (backported
|
|
|
|
|
to 2.2.3).
|
2011-03-12 11:19:24 +00:00
|
|
|
|
- NEW: Added support for PLL3 in STM32 HAL driver. Note, the format of the
|
|
|
|
|
mcuconf.h file is changed for STM32F105/STM32F107 devices.
|
2011-03-12 08:25:16 +00:00
|
|
|
|
- NEW: Added board files for the Olimex STM32-P107.
|
2011-03-10 18:54:58 +00:00
|
|
|
|
- NEW: Improved setup packets handling in the USB driver through a specific
|
|
|
|
|
callback.
|
2011-04-03 11:29:27 +00:00
|
|
|
|
- NEW: Improvements to the PAL driver and various implementation in order
|
|
|
|
|
to make them more parenthesis friendly.
|
2011-03-08 21:09:14 +00:00
|
|
|
|
- OPT: Simplified Serial over USB driver configuration.
|
2011-03-19 12:08:15 +00:00
|
|
|
|
- CHANGE: Renamed the demo ARMCM3-STM32F107-GCC in ARMCM3-STM32F107 and added
|
|
|
|
|
IAR and Keil projects.
|
2011-03-12 08:34:29 +00:00
|
|
|
|
- CHANGE: Now the ARMCM3-STM32F107 demo targets the board Olimex STM32-P107
|
|
|
|
|
as default.
|
2011-03-08 10:09:57 +00:00
|
|
|
|
- CHANGE: Removed all the prefixes from the structure/union field names
|
|
|
|
|
in the HAL subsystem.
|
2011-03-29 14:51:08 +00:00
|
|
|
|
- CHANGE: Updated the documentation to use Doxygen 1.7.4 which produces a much
|
2011-03-23 13:12:41 +00:00
|
|
|
|
more readable output. Also modified the documentation layout to put functions
|
|
|
|
|
and variables ahead of everything else in the group pages.
|
2011-03-29 14:51:08 +00:00
|
|
|
|
Doxygen version below 1.7.4 cannot be used anymore because differences in
|
2011-03-24 08:30:21 +00:00
|
|
|
|
templates. Note that now there are two Doxygen projects, one for generating
|
|
|
|
|
the CHM file the other for plain HTML.
|
2011-03-08 10:09:57 +00:00
|
|
|
|
|
2011-01-30 09:58:07 +00:00
|
|
|
|
*** 2.3.0 ***
|
2011-02-26 12:44:06 +00:00
|
|
|
|
- FIX: Fixed race condition in CM0 ports, the fix also improves the
|
|
|
|
|
ISR latency (bug 3193062)(backported to 2.2.2).
|
2011-02-24 14:57:38 +00:00
|
|
|
|
- FIX: Fixed Cortex-Mx linker scripts alignment of __heap_base__, the
|
|
|
|
|
correct alignment is now enforced at runtime into core_init() in order
|
|
|
|
|
to make the OS integration easier (bug 3191112)(backported to 2.2.2).
|
|
|
|
|
- FIX: Fixed error in function chCoreAllocI() function documentation (bug
|
|
|
|
|
3191107)(backported to 2.2.2).
|
2011-02-23 20:24:05 +00:00
|
|
|
|
- FIX: Fixed minor problem with memory pools (bug 3190512)(backported to
|
2011-02-24 14:57:38 +00:00
|
|
|
|
2.2.2).
|
2011-02-20 07:45:32 +00:00
|
|
|
|
- FIX: Stack overflow in CM0 ports when nearing interrupts saturation (bug
|
2011-02-19 21:23:12 +00:00
|
|
|
|
3187105)(backported to 2.2.1).
|
2011-02-20 07:44:48 +00:00
|
|
|
|
- FIX: Fixed error in _BSEMAPHORE_DATA macro (bug 3184139)(backported to
|
|
|
|
|
2.2.1).
|
2011-02-13 15:52:40 +00:00
|
|
|
|
- FIX: Error in MAC driver (bug 3179783)(backported to 2.2.1).
|
2011-02-05 07:57:57 +00:00
|
|
|
|
- FIX: Fixed wrong serial driver macros (bug 3173336)(backported to 2.2.1).
|
2011-03-08 10:09:57 +00:00
|
|
|
|
- NEW: Improved preemption implementation for the Cortex-M0, now it uses
|
2011-03-06 08:02:26 +00:00
|
|
|
|
the NMI vector in order to restore the original context. The change makes
|
2011-03-06 09:43:12 +00:00
|
|
|
|
IRQ handling faster and also saves some RAM/ROM space. The GCC port code
|
2011-03-08 10:09:57 +00:00
|
|
|
|
now does not inline the epilogue code in each ISR saving significant ROM
|
2011-03-06 09:43:12 +00:00
|
|
|
|
space for each interrupt handler in the system (backported to 2.2.3).
|
2011-03-06 10:58:06 +00:00
|
|
|
|
- NEW: Added "IRQ STORM" long duration tests for the STM32, LPC11xx and
|
|
|
|
|
LPC11xx. The test demonstrates the system stability in a thread-intensive,
|
|
|
|
|
progressively CPU-saturating, IRQ-intensive long duration test.
|
2011-02-21 18:00:06 +00:00
|
|
|
|
- NEW: Added two new functions to the events subsystem: chEvtBroadcastFlags()
|
|
|
|
|
and chEvtBroadcastFlagsI(). The old chEvtBroadcast() and chEvtBroadcastI()
|
|
|
|
|
become macros. The new functions allow to add the same flags to all the
|
|
|
|
|
registered listener threads.
|
|
|
|
|
- NEW: Added I-Class functions to the MailBoxes subsystem, now it is
|
2011-02-26 14:14:13 +00:00
|
|
|
|
possible to use them as a transport layer between ISRs and Threads
|
|
|
|
|
(backported to 2.2.2).
|
2011-02-28 18:44:46 +00:00
|
|
|
|
- NEW: Added new USB driver model, probably it will evolve in next
|
2011-01-30 19:18:26 +00:00
|
|
|
|
releases.
|
2011-02-28 18:44:46 +00:00
|
|
|
|
- NEW: USB driver implementation for STM32.
|
|
|
|
|
- NEW: Added "serial over USB" driver, it implements a Communication
|
|
|
|
|
Device Class exposing it as a normal serial driver to applications,
|
|
|
|
|
probably it will evolve in next releases.
|
2011-02-28 20:30:51 +00:00
|
|
|
|
- NEW: Added STM32 USB CDC loopback test application.
|
2011-02-28 18:44:46 +00:00
|
|
|
|
- NEW: Added new GPT driver model, General Purpose Timer. The driver
|
|
|
|
|
allows to access the available timers in an abstract way.
|
2011-03-06 09:07:41 +00:00
|
|
|
|
- NEW: GTP driver implementation for STM32, LPC13xx and LPC11xx.
|
2011-02-28 20:30:51 +00:00
|
|
|
|
- NEW: Added STM32 GPT test application.
|
2011-01-30 16:18:24 +00:00
|
|
|
|
- NEW: Implemented new event IO_TRANSMISSION_END in the generic serial
|
|
|
|
|
driver. This event marks the physical transmission end of a data stream.
|
2011-01-30 16:23:08 +00:00
|
|
|
|
- NEW: Implemented the new IO_TRANSMISSION_END event in the STM32 serial
|
|
|
|
|
driver.
|
2011-02-28 18:44:46 +00:00
|
|
|
|
- NEW: Added explicit reset of all peripherals inside the STM32 HAL driver.
|
2011-03-02 15:55:13 +00:00
|
|
|
|
Removed the separate resets on initialization from the various other
|
|
|
|
|
drivers saving significant space.
|
2011-02-28 18:44:46 +00:00
|
|
|
|
- OPT: Removed TIMx reset on system startup in the STM32 PWM driver, the
|
|
|
|
|
timers are already reset on driver startup.
|
|
|
|
|
- CHANGE: The functions chEvtSignal() and chEvtSignalI() have been renamed
|
|
|
|
|
to chEvtSignalFlags() and chEvtSignalFlagsI() for consistency.
|
2011-02-21 19:06:46 +00:00
|
|
|
|
- CHANGE: Swapped the numeric values of the TIME_IMMEDIATE and TIME_INFINITE
|
2011-02-26 14:14:13 +00:00
|
|
|
|
constants. Fixed the relative documentation in various places (backported
|
|
|
|
|
to 2.2.2).
|
2011-03-01 15:25:51 +00:00
|
|
|
|
- Many documentation improvements.
|
2011-01-30 09:58:07 +00:00
|
|
|
|
|
2011-01-09 18:09:20 +00:00
|
|
|
|
*** 2.1.8 ***
|
2011-01-20 19:07:07 +00:00
|
|
|
|
- FIX: Fixed error in STM32 ADC driver macro names (bug 3160306)(backported
|
|
|
|
|
to 2.0.11).
|
2011-01-15 10:14:20 +00:00
|
|
|
|
- FIX: Fixed IAR Cortex-Mx port memory organization problem (bug 3158776).
|
2011-01-09 18:09:20 +00:00
|
|
|
|
- FIX: Fixed STM32F103 demo's incorrect clock settings (bug 3153746).
|
2011-01-15 08:01:07 +00:00
|
|
|
|
- NEW: Added OTG clock setting to the STM32 HAL.
|
2011-01-15 10:14:20 +00:00
|
|
|
|
- NEW: Added stack check support to the IAR Cortex-Mx port.
|
2011-01-15 11:15:07 +00:00
|
|
|
|
- CHANGE: Removed .uvopt files from the Keil projects.
|
2011-01-09 18:09:20 +00:00
|
|
|
|
|
2010-12-21 10:30:39 +00:00
|
|
|
|
*** 2.1.7 ***
|
2011-01-09 13:33:20 +00:00
|
|
|
|
- FIX: Fixed various errors in the HAL documentation (bug 3153591).
|
2011-01-09 10:10:39 +00:00
|
|
|
|
- FIX: Fixed error in chIOGetxxxxxEventSource() macros (bug 3153550)
|
|
|
|
|
(backported to 2.0.10)
|
2011-01-08 20:10:20 +00:00
|
|
|
|
- FIX: Fixed error in STM32 unbuffered UART driver (bug 3153437).
|
2011-01-06 16:34:20 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in LPC214x driver (bug 3152510).
|
2011-01-06 16:14:40 +00:00
|
|
|
|
- FIX: Fixed switch condition error in STM32 PWM driver (bug 3152482)
|
|
|
|
|
(backported to 2.0.10).
|
2011-01-01 11:48:59 +00:00
|
|
|
|
- FIX: Fixed error in output queues static initializer (bug 3149141)
|
|
|
|
|
(backported to 2.0.9).
|
2010-12-31 08:53:26 +00:00
|
|
|
|
- FIX: Fixed extra notifications in input queues (bug 3148525)(backported
|
|
|
|
|
to 2.0.9).
|
2011-01-09 18:09:20 +00:00
|
|
|
|
- NEW: New ARM Cortex-Mx port for RVCT compiler.
|
2011-01-08 17:37:05 +00:00
|
|
|
|
- NEW: Integrated the various Cortex-Mx GCC, IAR and RVCT demos in unified
|
|
|
|
|
demos with multiple project files, the code is exactly the same. Renamed
|
|
|
|
|
the directories removing the compiler suffix.
|
2010-12-25 11:30:44 +00:00
|
|
|
|
- NEW: Added an USB clock configuration in the STM32 HAL driver (LD, MD, HD).
|
2011-01-02 10:13:43 +00:00
|
|
|
|
- NEW: New semaphore API chSemSetCounterI().
|
2011-01-06 09:04:34 +00:00
|
|
|
|
- NEW: New queue APIs chIQGetFullI() and chOQGetFullI().
|
2011-01-09 10:10:39 +00:00
|
|
|
|
- CHANGE: Serial drivers now have a single event source instead of three,
|
|
|
|
|
the event source is located in the superclass, this allows to create
|
|
|
|
|
alternative implementations of the serial driver while keeping compatibility,
|
|
|
|
|
the change also allowed to save 8/4 RAM bytes per serial driver.
|
2010-12-21 18:25:56 +00:00
|
|
|
|
- CHANGE: Modified the ADC and CAN drivers to allow a NULL pointer for
|
|
|
|
|
the configuration structure if it is not required by the implementation.
|
|
|
|
|
- CHANGE: Modified the MMC_SPI driver to *require* a NULL as pointer to
|
|
|
|
|
the configuration.
|
2010-12-21 10:30:39 +00:00
|
|
|
|
- CHANGE: Removed enforced inlining for the chSchReadyI() function when
|
|
|
|
|
the CH_OPTIMIZE_SPEED is enabled. Now the matter is left to the compiler
|
|
|
|
|
specific settings. This change is meant to increase compatibility with
|
|
|
|
|
compilers that have a different inlining semantic than GCC when not in
|
|
|
|
|
C99 mode.
|
|
|
|
|
- CHANGE: Changed the declaration of the main() function in all demos
|
|
|
|
|
without arguments. Removed the clearing of arguments from the startup
|
|
|
|
|
files and saved some space.
|
2011-01-02 14:02:44 +00:00
|
|
|
|
- CHANGE: Queues callbacks now have as parameter a pointer to the queue,
|
|
|
|
|
there were no parameters previously.
|
2011-01-04 15:08:29 +00:00
|
|
|
|
- Documentation related fixes.
|
|
|
|
|
|
2010-12-11 08:37:28 +00:00
|
|
|
|
*** 2.1.6 ***
|
2010-12-16 21:09:29 +00:00
|
|
|
|
- FIX: Fixed error in sdPutTimeout() macro (bug 3138763)(backported in 2.0.9).
|
2011-01-09 18:09:20 +00:00
|
|
|
|
- NEW: New ARM Cortex-Mx port for IAR compiler.
|
2010-12-11 08:37:28 +00:00
|
|
|
|
- NEW: Now the STM32 CAN driver puts the lower half word of the ESR
|
|
|
|
|
register in the upper half word of the can status word for easier
|
|
|
|
|
debug.
|
2010-12-19 09:13:54 +00:00
|
|
|
|
- CHANGE: Changes in the board files organization, now the board
|
|
|
|
|
initialization is invoked from within halInit() after all the device
|
|
|
|
|
drivers have been initialized. Now applications are required to
|
2010-12-19 12:58:13 +00:00
|
|
|
|
explicitly invoke halInit() and chSysInit() from within their main().
|
2010-12-11 16:01:07 +00:00
|
|
|
|
- CHANGE: Removed the CMSIS files from the ARMCMx port, added the headers
|
|
|
|
|
into the various HAL platforms requiring them. The change is required
|
|
|
|
|
because the port layer must not have vendor specific dependencies and
|
|
|
|
|
there is the possibility that the various vendors would use different
|
|
|
|
|
CMSIS versions now that CMSIS 2.x has been released.
|
2010-12-11 08:54:40 +00:00
|
|
|
|
- CHANGE: Modified the start of the ADC in the STM32 ADC driver, now it is
|
2010-12-11 17:35:55 +00:00
|
|
|
|
no more required to specify ADC_CR2_EXTSEL_SWSTART and ADC_CR2_CONT
|
|
|
|
|
in the CR2 register configuration. Also reordered the start sequence
|
|
|
|
|
in order to allows a longer stabilization time for the ADC.
|
2010-12-18 08:31:56 +00:00
|
|
|
|
- Documentation improvements.
|
2010-12-11 08:37:28 +00:00
|
|
|
|
|
2010-11-27 19:16:40 +00:00
|
|
|
|
*** 2.1.5 ***
|
2010-12-05 11:38:27 +00:00
|
|
|
|
- FIX: Fixed references to non-existing SSP1 device in LPC13xx SPI device
|
|
|
|
|
driver (bug 3127926).
|
2010-12-05 11:29:17 +00:00
|
|
|
|
- FIX: Fixed broken SPI synchronous API (bug 3127921).
|
2010-12-01 21:28:38 +00:00
|
|
|
|
- FIX: Fixed missing vector.c files in LPC11xx and LPC13xx ports (bug 3124849).
|
2010-11-28 12:21:49 +00:00
|
|
|
|
- FIX: Fixed pwmDisableChannel() now working in STM32 PWM driver (bug 3121246).
|
2010-11-27 19:16:40 +00:00
|
|
|
|
- FIX: Fixed problem with PWM channel callbacks (bug 3120785).
|
|
|
|
|
- NEW: Added support for TIM5 in the STM32 PWM driver.
|
2010-12-02 20:33:08 +00:00
|
|
|
|
- NEW: Added to the ARM port the option to externally redefine the port IRQ
|
|
|
|
|
macros in order to accomodate different implementations without have to
|
|
|
|
|
change the port layer.
|
2010-11-27 19:16:40 +00:00
|
|
|
|
- CHANGE: Modified the STM32_PWM_PWMx_IRQ_PRIORITY macros in the STM32
|
|
|
|
|
PWM driver (and all the STM32 mcuconf.h files) and renamed them in
|
|
|
|
|
STM32_PWM_TIMx_IRQ_PRIORITY for consistency.
|
2010-12-04 12:12:55 +00:00
|
|
|
|
- Documentation related fixes.
|
2010-11-27 19:16:40 +00:00
|
|
|
|
|
2010-11-09 18:50:57 +00:00
|
|
|
|
*** 2.1.4 ***
|
2010-11-23 20:26:17 +00:00
|
|
|
|
- FIX: Fixed failed memory recovery by registry scan, improved the related
|
|
|
|
|
test case (bug 3116888)(backported to 2.0.8).
|
2010-11-21 18:41:12 +00:00
|
|
|
|
- FIX: Fixed failure in STM32 ADC driver when a linear buffer mode is used
|
|
|
|
|
(bug 3114696).
|
2010-11-21 13:45:22 +00:00
|
|
|
|
- FIX: Fixed PWM channels going to ACTIVE state when the pulse width is
|
|
|
|
|
set to zero in the STM32 PWM driver (bug 3114481)(backported to 2.0.8).
|
2010-11-21 13:09:42 +00:00
|
|
|
|
- FIX: Fixed PWM channels return to IDLE state in STM32 PWM driver (bug
|
|
|
|
|
3114467)(backported to 2.0.8).
|
2010-11-21 09:41:46 +00:00
|
|
|
|
- FIX: Fixed wrong initializer macros in STM32 PWM driver (bug 3114319).
|
|
|
|
|
- FIX: Fixed syntax error in STM32 PWM driver(bug 3114266).
|
2010-11-20 14:22:16 +00:00
|
|
|
|
- FIX: Fixed typo in board name (bug 3113574)(backported to 2.0.7).
|
2010-11-20 11:45:07 +00:00
|
|
|
|
- FIX: Fixed defective event wait functions with timeout (bug 3113443)
|
|
|
|
|
(backported to 2.0.7).
|
2010-11-25 18:32:45 +00:00
|
|
|
|
- NEW: More improvements to the ADC and SPI drivers, now synchronous
|
|
|
|
|
operations can also have callbacks, optimized ISR code paths.
|
2010-11-23 16:16:53 +00:00
|
|
|
|
- NEW: Added to the STM32 ADC driver the macros for easy handling of the
|
|
|
|
|
sampling time for each channel.
|
|
|
|
|
- NEW: Greatly simplified the STM32 PWM driver implementation.
|
2010-11-21 11:12:54 +00:00
|
|
|
|
- NEW: Added new macro PWM_FRACTION_TO_WIDTH() to the PWM driver model.
|
2010-11-19 18:45:11 +00:00
|
|
|
|
- NEW: ARM7 port reorganization following the same pattern of the ARMCMx
|
|
|
|
|
one, on now the port is also supports the ARM9 architecture (but not
|
|
|
|
|
tested yet hardware). Removed the dependencies between the port layer
|
|
|
|
|
and the vendors-provided headers.
|
2010-11-13 16:59:32 +00:00
|
|
|
|
- NEW: Initial STM8L support: HAL, PAL and Serial drivers.
|
|
|
|
|
- NEW: Added demo for the ST STM8L-Discovery kit.
|
2010-11-14 16:47:38 +00:00
|
|
|
|
- NEW: Added support for the STM32 Value Line to the HAL.
|
2010-11-15 19:44:09 +00:00
|
|
|
|
- NEW: Added demo for the ST STM32VL-Discovery kit.
|
2010-11-25 20:45:15 +00:00
|
|
|
|
- OPT: STM32 SPI driver implementation improved, reduced latency when
|
|
|
|
|
starting a transfer.
|
2010-11-19 18:45:11 +00:00
|
|
|
|
- CHANGE: Improved the STM32 HAL to support multiple sub-families, at compile
|
|
|
|
|
time now it is possible to test the presence of any single peripheral into
|
|
|
|
|
the specified STM32 device.
|
2010-11-12 18:47:41 +00:00
|
|
|
|
- CHANGE: Separated dynamic threads code into dedicated files: chdynamic.c
|
|
|
|
|
and chdynamic.h.
|
2010-11-15 19:44:09 +00:00
|
|
|
|
- CHANGE: Moved the declaration of the variable pal_default_config from
|
|
|
|
|
hal_lld.c to the various board.c. That structure is more meaningful in
|
|
|
|
|
the board layer because it is related to the board initialization.
|
2010-11-14 19:17:44 +00:00
|
|
|
|
- CHANGE: Removed the various assembler files for the STM32 interrupt
|
|
|
|
|
vectors, now it is a single vectors.c file.
|
2010-11-17 13:56:04 +00:00
|
|
|
|
- CHANGE: Deleted ./os/ports/GCC/ARM.
|
2010-11-19 18:45:11 +00:00
|
|
|
|
- CHANGE: Renamed ./os/ports/GCC/ARM7 in ./os/ports/GCC/ARM.
|
2010-11-17 13:56:04 +00:00
|
|
|
|
- CHANGE: Renamed ./os/hal/platforms/STM8 in ./os/hal/platforms/STM8S.
|
2010-11-18 19:16:56 +00:00
|
|
|
|
- CHANGE: Renamed ./testhal/STM8 in ./testhal/STM8S.
|
2010-11-17 13:56:04 +00:00
|
|
|
|
- Added SPI driver to the STM8S documentation, it was missing.
|
2010-11-19 18:45:11 +00:00
|
|
|
|
- Improved documentation for the ARM and ARMCMx ports.
|
2010-11-09 18:50:57 +00:00
|
|
|
|
|
2010-10-31 08:34:16 +00:00
|
|
|
|
*** 2.1.3 ***
|
2010-11-01 17:29:56 +00:00
|
|
|
|
- FIX: Fixed broken STM32 synchronous UART driver (bug 3100946).
|
|
|
|
|
- FIX: Broken C++ wrapper (bug 3100925).
|
|
|
|
|
- FIX: Broken lwIP/uIP demos (bug 3100901).
|
2010-10-31 08:34:16 +00:00
|
|
|
|
- FIX: DMA not initialized under some conditions (bug 3099701).
|
2010-11-06 10:27:34 +00:00
|
|
|
|
- FIX: Restored the RIDE7 build files in the STM32F103 demo, note the RIDE7
|
|
|
|
|
build files are not supported so this has not been tracked as a bug.
|
2010-11-01 10:53:18 +00:00
|
|
|
|
- NEW: Added an SPI driver to the STM8 platform support.
|
2010-11-01 14:05:59 +00:00
|
|
|
|
- NEW: Added a simple STM8 SPI demo under ./testhal/STM8/SPI.
|
2010-11-06 10:13:18 +00:00
|
|
|
|
- NEW: Divided the file STM32/vectors.s in several files, one for each
|
|
|
|
|
STM32 sub-family. This has been done in order to remove the preprocessor
|
|
|
|
|
directives from assembler files and to support all the various STM32
|
|
|
|
|
sub-families.
|
2010-11-06 10:12:19 +00:00
|
|
|
|
- CHANGE: Renamed ./os/ports/GCC/ARMCMx/STM32F10x in STM32.
|
2010-11-06 10:13:18 +00:00
|
|
|
|
- CHANGE: Divided the file ARMCMx/crt0.s in crt0_v6m.s and crt0_v7m.s in
|
2010-11-06 10:02:07 +00:00
|
|
|
|
order to remove the preprocessor directives from assembler files.
|
2010-11-01 17:29:56 +00:00
|
|
|
|
- CHANGE: Renamed the HAL settings macro names, removed the CH_ prefix
|
2010-11-06 07:40:35 +00:00
|
|
|
|
because it is reserved for the kernel namespace.
|
2010-11-01 10:53:18 +00:00
|
|
|
|
NOTE: ****** Make sure to use a mcuconf.h file taken from ******
|
|
|
|
|
****** this version in your project. ******
|
2010-11-06 11:38:44 +00:00
|
|
|
|
|
2010-08-01 16:26:58 +00:00
|
|
|
|
*** 2.1.2 ***
|
2010-10-18 07:18:20 +00:00
|
|
|
|
- FIX: Fixed typo in memstreams.h (bug 3089567)(backported to 2.0.6).
|
2010-10-16 17:23:07 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in LPC214x and AT91SAM7 serial drivers (bug
|
|
|
|
|
3088776)(backported to 2.0.6).
|
2010-10-10 16:28:34 +00:00
|
|
|
|
- FIX: Fixed non functioning option SPI_USE_MUTUAL_EXCLUSION=FALSE (bug
|
|
|
|
|
3084764)(backported to 2.0.6).
|
2010-10-05 14:05:25 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in STM32 serial support (bug 3078891)(backported
|
2010-09-30 17:49:20 +00:00
|
|
|
|
to 2.0.6).
|
2010-09-25 15:46:22 +00:00
|
|
|
|
- FIX: Fixed non functioning option CH_USE_NESTED_LOCKS (bug 3075544)
|
|
|
|
|
(backported to 2.0.6).
|
2010-09-25 06:24:39 +00:00
|
|
|
|
- FIX: Incorrect AT91SAM7X initialization, thanks Leszek (bug 3075354)
|
|
|
|
|
(backported to 2.0.5).
|
2011-08-07 09:00:12 +00:00
|
|
|
|
- FIX: Fixed race condition in function chSchGoSleepTimeoutS(), thanks Bal<61>zs
|
2010-09-24 17:31:31 +00:00
|
|
|
|
(bug 3074984)(backported to 2.0.5).
|
2010-09-18 08:31:12 +00:00
|
|
|
|
- FIX: Fixed race condition in threads creation (bug 3069854)(backported
|
|
|
|
|
to 2.0.5).
|
2010-09-11 13:49:28 +00:00
|
|
|
|
- FIX: Fixed broken CH_DBG_ENABLE_STACK_CHECK option in legacy CM3 port (bug
|
|
|
|
|
3064274)(backported to 2.0.5).
|
2010-09-11 10:57:11 +00:00
|
|
|
|
- FIX: Fixed CAN_USE_SLEEP_MODE setting (bug 3064204)(backported to 2.0.5).
|
2010-09-03 12:13:57 +00:00
|
|
|
|
- FIX: Fixed potential issue with GCC reorganizing instructions around "asm
|
|
|
|
|
volatile" statements (bug 3058731)(backported in 2.0.4).
|
2010-08-31 18:12:21 +00:00
|
|
|
|
- FIX: Fixed reduced ARM7 performance with GCC 4.5.x (bug 3056866)(backported
|
|
|
|
|
to 2.0.4).
|
2010-08-29 06:29:01 +00:00
|
|
|
|
- FIX: Fixed crash of the Posix simulator under Ubuntu 10.4 (bug 3055329)
|
|
|
|
|
(backported to 2.0.3).
|
2010-08-14 06:57:40 +00:00
|
|
|
|
- FIX: Fixed incorrect PLL2 setting in STM32 HAL (bug 3044770)(backported
|
|
|
|
|
in 2.0.3).
|
2010-08-14 06:40:28 +00:00
|
|
|
|
- FIX: Fixed wrong check on STM32_HCLK (bug 3044758)(backported to 2.0.3).
|
2010-08-08 07:57:28 +00:00
|
|
|
|
- FIX: Fixed wrong condition check in STM32 PWM driver (bug 3041414)
|
|
|
|
|
(backported in 2.0.3).
|
2010-08-07 11:06:32 +00:00
|
|
|
|
- FIX: Corrupted IRQ stack in Cortex-Mx port (bug 3041117)(backported to
|
|
|
|
|
2.0.3).
|
2010-08-05 10:30:37 +00:00
|
|
|
|
- FIX: Fixed a documentation error regarding the ADC driver function
|
|
|
|
|
adcStartConversion() (bug 3039890)(backported to 2.0.3).
|
2010-10-11 11:48:03 +00:00
|
|
|
|
- NEW: New I2C driver model (not complete and no implementations yet).
|
|
|
|
|
- NEW: New SPI driver model, the new model supports both synchronous and
|
2010-10-12 15:19:15 +00:00
|
|
|
|
asynchronous operations and, in general, simplifies the implementation of the
|
2010-10-30 11:18:28 +00:00
|
|
|
|
low level driver. The new driver also specifies a simplified polled exchange
|
|
|
|
|
API, useful for efficiently sending small amount of data over high speed
|
|
|
|
|
connections. The driver state diagram changed slightly changed so be careful.
|
2010-10-12 15:19:15 +00:00
|
|
|
|
- NEW: New ADC driver model, the new model supports both synchronous and
|
|
|
|
|
asynchronous operations and, in general, simplifies the implementation of the
|
2010-10-30 11:18:28 +00:00
|
|
|
|
low level driver. The driver state diagram changed slightly changed so be
|
|
|
|
|
careful.
|
2010-10-13 11:45:07 +00:00
|
|
|
|
- NEW: Improved PWM driver model, added several macros that helps to setup
|
|
|
|
|
configuration structures and to specify pulse widths also as percentages or
|
|
|
|
|
degrees using a fixed point notation. Added new pwmEnableChannelI() and
|
|
|
|
|
pwmDisableChannelI() APIs in order to allow channel reprogramming from
|
|
|
|
|
within callbacks or interrupt handlers, the new APIs are implemented as
|
|
|
|
|
macros so there is no footprint overhead.
|
2010-10-11 11:48:03 +00:00
|
|
|
|
- NEW: Added driver fields and initialization hooks for the callback-based
|
|
|
|
|
drivers. The hooks are named XXX_DRIVER_EXT_FIELDS and
|
|
|
|
|
XXX_DRIVER_EXT_INIT_HOOK().
|
2010-08-12 15:19:11 +00:00
|
|
|
|
- NEW: Added to the UART driver the capability to return the number of
|
|
|
|
|
not yet transferred frames when stopping an operation.
|
2010-08-08 07:57:28 +00:00
|
|
|
|
- NEW: Added more compile-time checks to the various STM32 device drivers.
|
2010-10-23 16:24:16 +00:00
|
|
|
|
- NEW: Improved LPC214x SPI driver, now it uses IRQs, it implements the
|
2010-10-17 09:13:43 +00:00
|
|
|
|
new SPI device driver model.
|
2010-10-23 16:24:16 +00:00
|
|
|
|
- NEW: Improved AT91SAM7 SPI driver, now it uses IRQs and DMAs, it implements
|
|
|
|
|
the new SPI device driver model.
|
2010-10-29 09:01:04 +00:00
|
|
|
|
- NEW: New LPC11xx SPI driver, updated the LPCXpresso demo to use the SPI.
|
|
|
|
|
- NEW: New LPC13xx SPI driver, updated the LPCXpresso demo to use the SPI.
|
2010-08-01 16:34:12 +00:00
|
|
|
|
- NEW: Added a simple STM32 ADC demo under ./testhal/STM32/ADC.
|
2010-08-07 11:09:02 +00:00
|
|
|
|
- NEW: Added a simple STM32 CAN demo under ./testhal/STM32/CAN.
|
2010-08-07 08:21:19 +00:00
|
|
|
|
- NEW: Added a simple STM32 PWM demo under ./testhal/STM32/PWM.
|
2010-08-08 13:51:03 +00:00
|
|
|
|
- NEW: Added a simple STM32 SPI demo under ./testhal/STM32/SPI.
|
2010-10-11 11:48:03 +00:00
|
|
|
|
- NEW: More assertions added to the kernel for improved bug fixing.
|
|
|
|
|
- NEW: New kernel hooks: SYSTEM_TICK_EVENT_HOOK(), SYSTEM_HALT_HOOK().
|
|
|
|
|
- NEW: Added board files for the Olimex STM32-H103.
|
|
|
|
|
- NEW: New kernel APIs chSysGetIdleThread() and chThdGetTicks(), the new
|
|
|
|
|
APIs are simple macros so there is no footprint overhead.
|
2010-08-05 10:30:37 +00:00
|
|
|
|
- NEW: Added a generic BaseFileStream interface for future File System
|
|
|
|
|
implementations or integrations (untested and not sure if it will stay or
|
|
|
|
|
change).
|
2010-08-27 08:03:53 +00:00
|
|
|
|
- NEW: Added to the documentation more notes about interrupt handlers in
|
|
|
|
|
the ARM7 port.
|
2010-10-05 14:05:25 +00:00
|
|
|
|
- NEW: Modified some tests in order to bring back code coverage to 100%
|
|
|
|
|
in all modules except chdebug.c. Added a test case covering binary
|
|
|
|
|
semaphores.
|
2010-09-25 15:46:22 +00:00
|
|
|
|
- OPT: The fix to the bug 3075544 considerably improved the threads creation
|
2010-09-25 15:50:15 +00:00
|
|
|
|
benchmarks score.
|
2010-10-11 11:48:03 +00:00
|
|
|
|
- OPT: Speed optimizations to the STM32 SPI driver, greatly improved latency.
|
2010-10-07 13:32:58 +00:00
|
|
|
|
- OPT: Speed optimizations to the STM32 ADC driver.
|
2010-10-05 14:05:25 +00:00
|
|
|
|
- CHANGE: The API chThdInit() has been renamed to chThdCreateI() in order to
|
2010-10-07 13:32:58 +00:00
|
|
|
|
make clear it is usable from interrupt handlers.
|
2010-09-21 10:22:06 +00:00
|
|
|
|
- CHANGE: The mailboxes macros chMBSize(), chMBGetEmpty(), chMBGetFull(),
|
2010-10-07 13:32:58 +00:00
|
|
|
|
chMBPeek() have been renamed to chMBSizeI(), chMBGetFreeCountI(),
|
2010-10-08 18:16:38 +00:00
|
|
|
|
chMBGetUsedCountI(), chMBPeekI().
|
2010-09-21 10:22:06 +00:00
|
|
|
|
- CHANGE: The queue APIs chQSize(), chQSpace(), chIQIsEmpty(), chIQIsFull(),
|
|
|
|
|
chOQIsEmpty(), chOQIsFull() have been renamed to chQSizeI(), chQSpaceI(),
|
|
|
|
|
chIQIsEmptyI(), chIQIsFullI(), chOQIsEmptyI(), chOQIsFullI().
|
2010-09-18 06:48:56 +00:00
|
|
|
|
- CHANGE: The event APIs chEvtPend() and chEvtClear() have been renamed
|
|
|
|
|
to chEvtAddFlags() and chEvtClearFlags() for consistency and correct
|
2010-09-21 10:22:06 +00:00
|
|
|
|
English. Changed the macro chEvtIsListening() in chEvtIsListeningI().
|
2010-10-08 18:16:38 +00:00
|
|
|
|
- CHANGE: Added a parameter to the PWM driver callbacks, the pointer to the
|
|
|
|
|
driver itself.
|
2010-08-15 15:37:52 +00:00
|
|
|
|
- CHANGE: Added a parameter to the UART driver callbacks, the pointer to the
|
|
|
|
|
driver itself.
|
|
|
|
|
- CHANGE: In the UART driver now an error does not automatically brings the
|
|
|
|
|
receiver in UART_RX_IDLE state, the receive operation continues unless
|
|
|
|
|
explicitly stopped in the error callback handler. This considerably
|
|
|
|
|
simplifies the low level driver code.
|
2010-09-10 12:31:51 +00:00
|
|
|
|
- CHANGE: Removed a spurious trailing ; after the WORKING_AREA() macro
|
|
|
|
|
declaration in several ports. The ; should go after the macro invocation.
|
2010-08-06 13:55:32 +00:00
|
|
|
|
- CHANGE: Modified the STM32 ADC driver to use the new DMA infrastructure.
|
2010-08-10 14:07:42 +00:00
|
|
|
|
- CHANGE: Modified the STM32 SPI driver to use the new DMA infrastructure.
|
|
|
|
|
- CHANGE: Added DMA cleanup code to the STM32 dmaInit() function.
|
2010-08-08 07:57:28 +00:00
|
|
|
|
- CHANGE: Simplified preprocessor conditions in the STM32 serial driver.
|
|
|
|
|
- CHANGE: Renamed most of the STM32 HAL settings macro names in order to
|
2010-08-21 08:38:14 +00:00
|
|
|
|
make names more consistent.
|
|
|
|
|
NOTE: ****** Make sure to use a mcuconf.h file taken from ******
|
|
|
|
|
****** this version in your project. ******
|
|
|
|
|
- CHANGE: Renamed the existing system hooks by adding the _HOOK suffix to
|
|
|
|
|
the name in order to make names more consistent.
|
|
|
|
|
NOTE: ****** Make sure to use a chconf.h file taken from ******
|
|
|
|
|
****** this version in your project. ******
|
2010-09-18 08:31:12 +00:00
|
|
|
|
- CHANGE: Extensive documentation improvements, fixed terminology in the
|
|
|
|
|
events related documentation and articles.
|
2010-10-25 18:48:13 +00:00
|
|
|
|
- CHANGE: The documentation is no more included in the distribution, the
|
|
|
|
|
file ./documentation.html redirects to the online documentation page
|
|
|
|
|
that contains *much* better documents.
|
|
|
|
|
Note that it is still possible to generate the local documentation using
|
|
|
|
|
Doxygen, the procedure is very simple and described in ./docs/readme.txt.
|
2010-09-07 13:37:22 +00:00
|
|
|
|
|
2010-07-05 12:48:35 +00:00
|
|
|
|
*** 2.1.1 ***
|
2010-07-23 15:12:05 +00:00
|
|
|
|
- FIX: Fixed insufficient stack size for idle thread (bug 3033624)(backported
|
|
|
|
|
to 2.0.3).
|
2010-07-19 10:16:23 +00:00
|
|
|
|
- FIX: Fixed misspelled word in some chioch.h and chstreams.h macros (bug
|
|
|
|
|
3031534)(backported to 2.0.3).
|
2010-07-12 18:20:11 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in the STM32 SPI driver (bug 3028562)(backported
|
|
|
|
|
to 2.0.3).
|
2010-07-11 11:08:33 +00:00
|
|
|
|
- FIX: Fixed invalid context restore in MSP430 port (bug 3027975)(backported
|
2010-07-11 06:03:32 +00:00
|
|
|
|
to 2.0.2).
|
|
|
|
|
- FIX: Fixed STM32 vectors file (bug 3026528)(backported to 2.0.2).
|
2010-07-06 16:44:00 +00:00
|
|
|
|
- FIX: Fixed race condition in STM32 SPI driver (bug 3025854)(backported to
|
|
|
|
|
2.0.2).
|
2010-07-05 19:51:29 +00:00
|
|
|
|
- FIX: Fixed H_LOCK and H_UNLOCK redefined with CH_USE_MALLOC_HEAP (bug
|
|
|
|
|
3025549)(backported to 2.0.2).
|
2010-07-05 12:48:35 +00:00
|
|
|
|
- FIX: Added option to enforce the stack alignment to 32 or 64 bits in the
|
|
|
|
|
Cortex-Mx port (bug 3025133)(backported to 2.0.2).
|
2010-07-27 08:36:01 +00:00
|
|
|
|
- NEW: Centralized DMA macros in the STM32 HAL.
|
2010-07-24 09:03:11 +00:00
|
|
|
|
- NEW: New UART device driver model, this device driver allows unbuffered,
|
|
|
|
|
callback driven access to UART-type devices.
|
2010-08-01 08:53:54 +00:00
|
|
|
|
- NEW: UART device driver for STM32 and UART demo application under
|
|
|
|
|
./testhal/STM32/UART.
|
2010-07-06 08:50:11 +00:00
|
|
|
|
- NEW: Added friendly interrupt vectors names to the STM32 HAL (change request
|
|
|
|
|
3023944).
|
2010-07-12 18:20:11 +00:00
|
|
|
|
- NEW: Added support for SPI3 in the STM32 HAL.
|
2010-07-27 08:36:01 +00:00
|
|
|
|
- CHANGE: Redeclared the IRQ handlers in the various STM32 drivers using the
|
|
|
|
|
new friendly vector names.
|
2010-08-01 09:11:17 +00:00
|
|
|
|
- CHANGE: Moved the STM32 HAL stess test application under
|
|
|
|
|
./testhal/STM32/_stress_test.
|
2010-07-11 06:30:48 +00:00
|
|
|
|
- CHANGE: Removed the option -mabi=apcs-gnu from all the Cortex-Mx demos. The
|
|
|
|
|
option is not compatible with the 64 bits stack alignment now default in
|
|
|
|
|
the Cortex-Mx port. Note that the 64 bits alignment has a cost both as
|
|
|
|
|
performance and as space but it is the "standard".
|
2010-07-22 20:26:22 +00:00
|
|
|
|
- OPT: Small speed optimization in the STM32 SPI driver.
|
2010-07-27 08:36:01 +00:00
|
|
|
|
- OPT: Optimized DMA clearing in STM32 ADC and SPI drivers, there was no need
|
|
|
|
|
to read/modify/write the IFCR DMA register, it is write only.
|
2010-07-12 08:49:55 +00:00
|
|
|
|
- Fixed various documentation errors.
|
2010-07-05 12:48:35 +00:00
|
|
|
|
|
2010-06-12 05:56:13 +00:00
|
|
|
|
*** 2.1.0 ***
|
2010-06-24 14:19:52 +00:00
|
|
|
|
- FIX: Fixed notification order in input queues (bug 3020708)(backported in
|
|
|
|
|
2.0.1).
|
|
|
|
|
- FIX: Fixed non functional CH_CURRP_REGISTER_CACHE option in the Cortex-M3
|
|
|
|
|
port (bug 3020702)(backported in 2.0.1).
|
2010-06-22 18:07:34 +00:00
|
|
|
|
- FIX: Fixed non functional CH_DBG_ENABLE_STACK_CHECK option in the Cortex-M3
|
|
|
|
|
caused by GCC 4.5.0, the fix also improves the context switch performance
|
|
|
|
|
because GCC 4.5.0 apparently was generating useless instructions within the
|
|
|
|
|
very critical context switch code (bug 3019738)(backported in 2.0.1).
|
2010-06-22 16:55:30 +00:00
|
|
|
|
- FIX: Fixed insufficient stack space assigned to the idle thread in
|
|
|
|
|
Cortex-M3 port (bug 3019594)(backported in 2.0.1).
|
2010-06-21 17:05:53 +00:00
|
|
|
|
- FIX: Fixed missing check in chIQReadTimeout() and chIQWriteTimeout() (bug
|
|
|
|
|
3019158)(backported in 2.0.1).
|
2010-06-21 16:52:51 +00:00
|
|
|
|
- FIX: Fixed instability in Mutexes subsystem (bug 3019099)(backported
|
|
|
|
|
in 2.0.1).
|
2010-06-15 17:19:01 +00:00
|
|
|
|
- FIX: Fixed broken AVR port (bug 3016619)(backported in 2.0.0).
|
2010-06-12 05:56:13 +00:00
|
|
|
|
- FIX: Fixed assertion in adcStop() (bug 3015109)(backported in 2.0.0).
|
2010-06-25 08:55:40 +00:00
|
|
|
|
- NEW: Merged the new unified STM8 port, now the port supports both the
|
|
|
|
|
Cosmic and Raisonance compilers.
|
|
|
|
|
- NEW: Added an STM8-DISCOVERY demo, the demo can be compiled with both the
|
2010-07-03 08:00:21 +00:00
|
|
|
|
Cosmic and Raisonance compilers under the STDV IDE. Performance reports
|
|
|
|
|
have been added for both compilers.
|
|
|
|
|
NOTE: The Raisonance compiler seems to have problems in debugging under
|
|
|
|
|
the STDV IDE, if you need to debug using the Raisonance compiler
|
|
|
|
|
consider using the RIDE7 IDE instead.
|
|
|
|
|
Compiling and executing using the "release" mode under STDV works fine.
|
2010-06-22 07:30:08 +00:00
|
|
|
|
- NEW: Added timers clock macros to the STM32 clock tree HAL driver (backported
|
|
|
|
|
in 2.0.1).
|
2010-06-24 14:19:52 +00:00
|
|
|
|
- NEW: Added Binary Semaphores among the synchronization primitives. The new
|
|
|
|
|
subsystem is entirely implemented as macros over the existing and proven
|
2010-07-03 07:53:04 +00:00
|
|
|
|
Counting Semaphores thus takes no space (experimental).
|
|
|
|
|
- NEW: Added a simplified SPI driver for AT91SAM7 devices, contributed by
|
|
|
|
|
Alexander (experimental).
|
|
|
|
|
- NEW: Added FatFs demos for AT91SAM7S and AT91SAM7X, contributed by
|
|
|
|
|
Alexander (experimental).
|
2010-06-15 17:19:01 +00:00
|
|
|
|
- OPT: Simplified the test suite code, now it is smaller.
|
2010-06-18 11:30:57 +00:00
|
|
|
|
- Reorganized the documentation, now the description of the device drivers
|
|
|
|
|
implementation is under the HAL module instead of the Ports module.
|
2010-06-12 05:56:13 +00:00
|
|
|
|
|
2010-05-30 10:35:14 +00:00
|
|
|
|
*** 1.5.9 ***
|
2010-06-03 12:53:19 +00:00
|
|
|
|
- FIX: Fixed STM8 baud rate setup error (bug 3010990).
|
2010-05-30 10:35:14 +00:00
|
|
|
|
- FIX: Fixed STM8 UART3 driver (bug 3009145).
|
2010-06-05 10:11:06 +00:00
|
|
|
|
- NEW: Added a STM8_ENABLE_WFI_IDLE option to the STM8 port, the default
|
|
|
|
|
is FALSE.
|
2010-06-02 11:17:33 +00:00
|
|
|
|
- OPT: Small size optimization in the semaphores subsystem.
|
2010-06-02 11:35:11 +00:00
|
|
|
|
- OPT: Improvements in the STM8 port, the code is now smaller and generally
|
|
|
|
|
faster, also saved few bytes of RAM.
|
2010-06-02 17:27:31 +00:00
|
|
|
|
- Added explicit casts in chevents.h, chqueues.h, chqueues.c in order to
|
|
|
|
|
silence some warnings on a specific compiler.
|
2010-06-04 12:33:23 +00:00
|
|
|
|
- Added a section in chconf.h where redefine the port-related configuration
|
2010-06-05 10:11:06 +00:00
|
|
|
|
parameters, also added notes into the documentation about this.
|
2010-05-30 10:35:14 +00:00
|
|
|
|
|
2010-05-24 14:25:37 +00:00
|
|
|
|
*** 1.5.8 ***
|
2010-05-24 21:07:25 +00:00
|
|
|
|
- FIX: Fixed missing files from ST library zip file (bug 3006629).
|
2010-05-29 06:09:11 +00:00
|
|
|
|
- NEW: Added a demo for the AT91SAM7S256 and board files for the Olimex
|
|
|
|
|
SAM7-P256. The demo has been contributed by Alexander Kozaruk.
|
|
|
|
|
- Fixed some wrong paths into the demos readme files.
|
2010-05-26 10:15:33 +00:00
|
|
|
|
- Formatting fixes to the port templates.
|
2010-05-24 17:10:14 +00:00
|
|
|
|
- Added notes about copyright assignment to the documentation. Fixed some
|
2010-05-24 14:25:37 +00:00
|
|
|
|
problems in the licensing FAQ page.
|
2010-05-28 13:43:00 +00:00
|
|
|
|
- Added documentation article about events in ChibiOS/RT.
|
2010-05-24 14:25:37 +00:00
|
|
|
|
|
2010-05-09 17:52:30 +00:00
|
|
|
|
*** 1.5.7 ***
|
2010-05-22 06:32:02 +00:00
|
|
|
|
- FIX: Fixed missing SPI driver reinitialization in the MMC driver (bug
|
|
|
|
|
3005628)(backported in 1.4.4).
|
2010-05-21 07:13:25 +00:00
|
|
|
|
- FIX: Fixed wrong inclusion order of board.h and halconf.h into hal.h
|
|
|
|
|
(bug 3005041)(backported in 1.4.4).
|
2010-05-14 09:23:32 +00:00
|
|
|
|
- FIX: Fixed wrong GPIO ports size in the STM8 PAL driver (bug 3001528).
|
2010-05-09 17:52:30 +00:00
|
|
|
|
- NEW: Improved clock initialization for the STM32, now it is possible to
|
|
|
|
|
configure the clock using any clock source and any HSE frequency.
|
2010-05-13 14:02:17 +00:00
|
|
|
|
- NEW: The STM32 clock tree parameters and checks are now calculated into
|
|
|
|
|
a separate file in order to support multiple clock trees for different
|
|
|
|
|
sub-families of the STM32 platform.
|
|
|
|
|
- NEW: Added separated clock trees for the STM32 LD/MD/HD sub-family and
|
2010-05-19 14:53:55 +00:00
|
|
|
|
the CL sub-family. Now the selection of the sub-family is done in the
|
|
|
|
|
board.h file, there is no more the need to put -DSTM32F10X_xx into
|
2010-05-13 14:02:17 +00:00
|
|
|
|
the makefile.
|
2010-05-14 09:45:53 +00:00
|
|
|
|
- NEW: Added the palSetBusMode() capability to the STM8 PAL driver.
|
2010-05-16 12:17:39 +00:00
|
|
|
|
- NEW: Added the palSetBusMode() capability to the LPC11xx and LPC13xx
|
|
|
|
|
PAL drivers.
|
2010-05-18 08:34:00 +00:00
|
|
|
|
- NEW: Updated the STM32 FW Library files to latest version 3.3.0.
|
2010-05-14 10:46:26 +00:00
|
|
|
|
- CHANGE: Renamed the STM32, STM8, LPC214x, AT91SAM7x, MSP430 and simulators
|
|
|
|
|
PAL configuration structures to PALConfig, it is better to have the same
|
|
|
|
|
name for this structure in all ports (like for all the other drivers).
|
2010-05-22 09:07:50 +00:00
|
|
|
|
- CHANGE: Modified the linker scripts in the ARM demos in order to increase
|
|
|
|
|
compatibility with the CodeSourcery toolchain.
|
2010-05-14 08:14:41 +00:00
|
|
|
|
- Tested the STM8 port with the latest RKit-STM8_2.28.10.0092. It works but
|
2010-05-19 14:53:55 +00:00
|
|
|
|
the new compiler shows a slight performance regression except in one
|
2010-05-14 08:14:41 +00:00
|
|
|
|
test case.
|
2010-05-21 13:03:42 +00:00
|
|
|
|
- Added credits page to the documentation, improved the article regarding
|
|
|
|
|
timings.
|
2010-05-17 15:02:27 +00:00
|
|
|
|
- Performed another documentation revision cycle, fixed more bad English and
|
|
|
|
|
few errors.
|
2010-05-09 17:52:30 +00:00
|
|
|
|
|
2010-04-18 11:48:03 +00:00
|
|
|
|
*** 1.5.6 ***
|
2010-04-27 07:27:26 +00:00
|
|
|
|
- FIX: Fixed centralized ARM makefile (bug 2992747)(backported in 1.4.3).
|
2010-04-24 11:21:39 +00:00
|
|
|
|
- FIX: Fixed write problems in MMC_SPI driver (bug 2991714)(backported in
|
|
|
|
|
1.4.3).
|
2010-04-19 16:54:43 +00:00
|
|
|
|
- FIX: Fixed wrong macros in chioch.h (bug 2989468).
|
2010-04-19 16:51:55 +00:00
|
|
|
|
- FIX: Fixed wrong macro check in serial.h (bug 2989459)(backported in 1.4.3).
|
2010-04-21 14:11:12 +00:00
|
|
|
|
- NEW: Added a ROMCONST macro in chtypes.h, this macro must be used for
|
|
|
|
|
constant that must be placed in code space, it should not be assumed that
|
|
|
|
|
the "const" keyword does that. Note that this macro is not used to place
|
|
|
|
|
constants in different address spaces (AVR) because it is assumed that a
|
|
|
|
|
pointer to a ROMCONST variable is compatible with a normal pointer.
|
2010-04-25 09:31:04 +00:00
|
|
|
|
- NEW: AT91SAM7 HAL support for the DGBU UART peripheral, as SD3.
|
2010-04-26 12:34:10 +00:00
|
|
|
|
- NEW: Introduced a new macro CH_FAST_IRQ_HANDLER() for the declaration of
|
|
|
|
|
fast interrupt handlers on those architectures that support them.
|
2010-04-21 14:11:12 +00:00
|
|
|
|
- OPT: Internal optimization in the serial driver, it now is a bit smaller
|
|
|
|
|
and uses less RAM (all architectures).
|
2010-04-25 09:31:04 +00:00
|
|
|
|
- CHANGE: Modified the STM32 FatFs demo, now it spawns a command shell or
|
|
|
|
|
the serial port SD2, type "help" for the available commands. More commands
|
|
|
|
|
can be easily added.
|
2010-05-04 12:31:05 +00:00
|
|
|
|
- CHANGE: Renamed the chCoreFree() function in chCoreStatus() because it
|
|
|
|
|
might be mistaken for a function that frees memory.
|
2010-05-04 19:55:26 +00:00
|
|
|
|
- CHANGE: All ARM demos makefiles now defaults to arm-none-eabi- GNU
|
|
|
|
|
toolchains because the latest YAGARTO now uses that setting. It is still
|
|
|
|
|
possible to use arm-elf- toolchains by editing the TRGT variable in the
|
|
|
|
|
makefiles.
|
2010-05-06 15:08:13 +00:00
|
|
|
|
- Various documentation fixes, added new articles covering debugging under
|
|
|
|
|
ChibiOS/RT, OS integration, OS stop and restart. Updated the article about
|
|
|
|
|
interrupt handlers to cover also fast interrupt sources, updated the article
|
|
|
|
|
about the OS porting.
|
2010-04-27 11:53:03 +00:00
|
|
|
|
- Long overdue test code cleanup and documentation.
|
2010-05-04 12:31:05 +00:00
|
|
|
|
- Added new test cases, now the coverage is again up to 100% except for the
|
|
|
|
|
debug module that would require triggering system terminating tests (panics),
|
2010-05-06 19:07:14 +00:00
|
|
|
|
the uncovered code is minimal, extremely simple and working anyway.
|
2010-05-04 19:55:26 +00:00
|
|
|
|
- ChibiOS/RT has been successfully verified with the latest GCC 4.5.0.
|
2010-04-18 11:48:03 +00:00
|
|
|
|
|
2010-04-04 16:13:59 +00:00
|
|
|
|
*** 1.5.5 ***
|
2010-04-17 12:37:00 +00:00
|
|
|
|
- FIX: Removed some "dead" code in the old ARMv7-M files (there are new
|
|
|
|
|
ones, see below).
|
|
|
|
|
- NEW: LPC13xx support, drivers (Serial, PAL, HAL), demo and reports.
|
|
|
|
|
- NEW: Added statistic info to the lwIP demo.
|
2010-04-10 09:48:07 +00:00
|
|
|
|
- CHANGE: Renamed LPC111x port and platform in LPC11xx, minor fixes to the
|
|
|
|
|
platform header files.
|
2010-04-07 12:34:26 +00:00
|
|
|
|
- CHANGE: Small documentation fixes and improvements.
|
2010-04-17 12:37:00 +00:00
|
|
|
|
- OPT: New Cortex-M3 port code, *huge* performance improvements in all the
|
2010-04-17 15:52:38 +00:00
|
|
|
|
context switching related benchmarks (up to 18% depending on the benchmark).
|
2010-04-17 12:37:00 +00:00
|
|
|
|
The new code does no more require the use of the PendSV vector that is
|
|
|
|
|
thus available to the user, it also saves four RAM bytes for each thread
|
|
|
|
|
in the system. The old code is still available as a fall back option while
|
2010-04-17 15:52:38 +00:00
|
|
|
|
the new one is being hardened by peer review and time, the two ports are
|
2010-04-17 12:37:00 +00:00
|
|
|
|
perfectly interchangeable.
|
2010-04-04 16:13:59 +00:00
|
|
|
|
|
2010-03-09 13:43:16 +00:00
|
|
|
|
*** 1.5.4 ***
|
2010-03-19 18:08:58 +00:00
|
|
|
|
- FIX: Fixed broken CH_CURRP_REGISTER_CACHE option in the ARM7 port (bug
|
|
|
|
|
2973365).
|
2010-03-17 16:24:43 +00:00
|
|
|
|
- FIX: Fixed missing memory recovery on thread reference release in
|
|
|
|
|
chRegNextThread() (bug 2971878).
|
2010-03-10 17:57:47 +00:00
|
|
|
|
- FIX: Fixed wrong thread state macro in STM32/spi_lld.c (bug 2968142).
|
2010-04-02 08:59:10 +00:00
|
|
|
|
- NEW: New unified ARM Cortex-Mx port, this port supports both the ARMv6M
|
|
|
|
|
and ARMv7-M architecture (Cortex-M0/M1/M3/M4 so far). The new port also
|
|
|
|
|
allow to easily add to new Cortex-M implementations by simply adding a
|
|
|
|
|
parameters file (cmparams.h).
|
2010-04-03 15:28:26 +00:00
|
|
|
|
- NEW: Embedded Artists LPCxpresso Base Board support files added.
|
|
|
|
|
- NEW: LPC111x support, drivers (Serial, PAL, HAL) and demo.
|
2010-03-17 13:04:42 +00:00
|
|
|
|
- NEW: The port layer now can "capture" the implementation of individual
|
|
|
|
|
scheduler API functions in order to provide architecture-optimized
|
|
|
|
|
versions. This is done because further scheduler optimizations are
|
|
|
|
|
becoming increasingly pointless without considering architecture and
|
|
|
|
|
compiler related constraints.
|
2010-03-09 13:43:46 +00:00
|
|
|
|
- NEW: Added support for the STM8 large memory model to the STM8 port. Now
|
|
|
|
|
the assembler port code is totally inlined and the chcoreasm.asm file has
|
|
|
|
|
been removed.
|
|
|
|
|
- NEW: Added RIDE7 project files to the STM32 demo under a ./ride7
|
|
|
|
|
subdirectory, this should make things easier for RIDE7 users. The normal
|
|
|
|
|
makefile is still available of course.
|
2010-03-26 07:40:25 +00:00
|
|
|
|
- NEW: New articles and guides in the documentation.
|
2010-03-16 19:36:21 +00:00
|
|
|
|
- NEW: Documentation improvements, now the description goes on top of each
|
|
|
|
|
page, doxygen defaulted it in the middle, not exactly the best for
|
2010-03-17 16:24:43 +00:00
|
|
|
|
readability. Improved many descriptions of the various subsystems. Fixed
|
|
|
|
|
a misplaced page (STM8 port).
|
2010-03-14 09:54:23 +00:00
|
|
|
|
- OPT: Optimization on the interface between scheduler and port layer, now
|
|
|
|
|
the kernel is even smaller and the context switch performance improved
|
|
|
|
|
quite a bit on all the supported architectures.
|
2010-03-16 15:43:23 +00:00
|
|
|
|
- OPT: Simplified the implementation of chSchYieldS() and made it a macro.
|
2010-03-17 16:24:43 +00:00
|
|
|
|
The previous implementation was probably overkill and took too much space
|
|
|
|
|
even if a bit faster.
|
2010-03-28 08:04:45 +00:00
|
|
|
|
- CHANGE: Modified the Cortex-M3 port to be a more generic Cortex-Mx port,
|
|
|
|
|
changes were required to the startup code and the port code because the
|
|
|
|
|
reduced instruction set of the Cortex-M0 (there are two code paths now,
|
|
|
|
|
both optimized).
|
|
|
|
|
- CHANGE: Modified the SysTick initialization for STM32 to use the system
|
2010-04-03 15:28:26 +00:00
|
|
|
|
clock rather than the external clock.
|
2010-03-16 19:36:21 +00:00
|
|
|
|
- CHANGE: Exiting from a chCondWaitTimeout() because a timeout now does not
|
|
|
|
|
re-acquire the mutex, ownership is lost.
|
2010-03-17 13:04:42 +00:00
|
|
|
|
- CHANGE: The module documentation has been moved from the kernel.dox file
|
|
|
|
|
to the various source code files in order to make it easier to maintain
|
|
|
|
|
and double as source comments.
|
2010-03-28 10:27:46 +00:00
|
|
|
|
- CHANGE: Updated CMSIS files to version 1.3 and fixed the warnings in there,
|
2010-03-27 09:16:11 +00:00
|
|
|
|
again...
|
2010-03-09 13:43:16 +00:00
|
|
|
|
|
2010-02-28 10:16:44 +00:00
|
|
|
|
*** 1.5.3 ***
|
2010-03-05 18:55:46 +00:00
|
|
|
|
- FIX: Removed C99-style variables declarations (bug 2964418)(backported
|
|
|
|
|
in 1.4.2).
|
2010-03-18 16:01:11 +00:00
|
|
|
|
- FIX: Fixed missing reschedule in chEvtSignal() (bug 2961208)(backported
|
2010-03-01 16:42:56 +00:00
|
|
|
|
in 1.4.2).
|
2010-03-05 19:01:12 +00:00
|
|
|
|
- NEW: Added STM8 port and demo, the demo targets the Raisonance REva board
|
|
|
|
|
with STM8S208RB piggyback.
|
2010-02-28 10:16:44 +00:00
|
|
|
|
- NEW: Enhanced the kernel size report to cover more cases.
|
2010-03-03 13:11:51 +00:00
|
|
|
|
- NEW: Improvements to the documentation.
|
2010-02-28 13:20:38 +00:00
|
|
|
|
- OPT: Minor optimizations in the "compact" code path.
|
2010-02-28 10:16:44 +00:00
|
|
|
|
|
2010-02-14 10:28:41 +00:00
|
|
|
|
*** 1.5.2 ***
|
2010-02-18 20:02:09 +00:00
|
|
|
|
- FIX: Fixed wrong UART deinitialization sequence in LPC214x serial driver
|
|
|
|
|
(bug 2953985)(backported in 1.4.1).
|
|
|
|
|
- FIX: Fixed wrong PINSEL2 offset into lpc214x.h (bug 2953981)(backported
|
|
|
|
|
in 1.4.1).
|
2010-02-17 18:30:29 +00:00
|
|
|
|
- FIX: Fixed invalid UART-related macro in the LPC214x HAL (bug 2953195)
|
|
|
|
|
(backported in 1.4.1).
|
2010-02-16 19:21:42 +00:00
|
|
|
|
- FIX: Impossible to enforce alignment greater of a pointer size for heap/core
|
2010-02-17 19:11:04 +00:00
|
|
|
|
objects (bug 2952961).
|
2010-02-14 10:28:41 +00:00
|
|
|
|
- FIX: Wrong prototype in template file chcore.c (bug 2951529)(backported
|
|
|
|
|
in 1.4.1).
|
2010-02-26 14:03:23 +00:00
|
|
|
|
- NEW: Added an experimental PowerPC port targeting the SPC563M/MPC563xM
|
2010-02-19 18:19:00 +00:00
|
|
|
|
ST/Freescale automotive SOCs. The port passed the whole test suite but it
|
|
|
|
|
will be developed further in next releases.
|
2010-02-20 11:39:33 +00:00
|
|
|
|
- NEW: Added core variant name macro in chcore.h and platform name in
|
2010-02-22 19:11:24 +00:00
|
|
|
|
hal_lld.h, the info are printed in the test report and from the "info"
|
|
|
|
|
shell command.
|
2010-02-14 14:49:25 +00:00
|
|
|
|
- NEW: Added BOARD_NAME macro to the various board.h files.
|
2010-02-19 18:19:00 +00:00
|
|
|
|
- NEW: Added a MemoryStream class under ./os/various.
|
2010-02-24 09:41:05 +00:00
|
|
|
|
- CHANGE: Removed an instance of a structure without name from test.h for
|
|
|
|
|
increased portability of the test suite.
|
2010-02-25 16:48:00 +00:00
|
|
|
|
- NEW: Added Mac OS-X support for the simulator. The Linux simulator has
|
|
|
|
|
been renamed to Posix simulator in order to include this change in a
|
|
|
|
|
single project.
|
|
|
|
|
- NEW: New articles, sections and various improvements to the documentation.
|
2010-02-27 08:40:21 +00:00
|
|
|
|
- CHANGE: Renamed the kernel header files to match the names of their source
|
|
|
|
|
files. The change was also required in order to make the names less
|
|
|
|
|
"generic" and less likely to match names in external libraries.
|
2010-02-14 10:28:41 +00:00
|
|
|
|
|
2010-01-31 09:27:49 +00:00
|
|
|
|
*** 1.5.1 ***
|
2010-02-06 12:35:51 +00:00
|
|
|
|
- FIX: Fixed insufficient stack space for the idle thread in the ARMCM3 port
|
|
|
|
|
when compiling without optimizations (bug 2946233)(backported in 1.4.1).
|
2010-02-17 18:56:10 +00:00
|
|
|
|
- FIX: Fixed wrong notes on function chThdResume() (bug 2943160)(backported
|
|
|
|
|
in 1.4.1).
|
2010-01-31 09:27:49 +00:00
|
|
|
|
- NEW: Implemented the concept of thread references, this mechanism ensures
|
|
|
|
|
that a dynamic thread's memory is not freed while some other thread still
|
2010-02-02 21:27:53 +00:00
|
|
|
|
owns a reference to the thread. Static threads are not affected by the new
|
2010-01-31 09:27:49 +00:00
|
|
|
|
mechanism. Two new APIs have been added: chThdAddRef() and chThdRelease().
|
2010-02-12 18:12:32 +00:00
|
|
|
|
- NEW: Now more than one thread can be waiting in chThdWait() as long they
|
2010-02-02 20:20:12 +00:00
|
|
|
|
own a reference.
|
|
|
|
|
- NEW: Implemented a new threads registry subsystem, the registry allows to
|
2010-02-12 18:12:32 +00:00
|
|
|
|
enumerate the active threads at runtime and/or from a debugger. This is
|
|
|
|
|
a preparatory step for a dedicated ChibiOS/RT debugger.
|
2010-02-03 18:40:10 +00:00
|
|
|
|
- NEW: New chCoreFree() API that returns the core memory left.
|
|
|
|
|
- NEW: Added to the simulators shell demos two new commands: threads and mem,
|
2010-02-12 18:12:32 +00:00
|
|
|
|
that show the currently active threads (using the new registry) and the
|
|
|
|
|
memory allocators state.
|
2010-02-06 12:32:07 +00:00
|
|
|
|
- CHANGE: Doxygen tags cleanup in all the system code, comments are better
|
|
|
|
|
looking now.
|
|
|
|
|
- CHANGE: Documentation improvements.
|
2010-02-03 18:40:10 +00:00
|
|
|
|
|
2010-01-15 15:22:36 +00:00
|
|
|
|
*** 1.5.0 ***
|
2010-01-30 10:14:30 +00:00
|
|
|
|
- FIX: Fixed missing dependencies check for CH_USE_DYNAMIC (bug 2942757)
|
|
|
|
|
(backported in 1.4.1).
|
2010-01-24 11:49:35 +00:00
|
|
|
|
- FIX: Fixed swapped thread states descriptions (bug 2938445)(backported in
|
|
|
|
|
1.4.1).
|
|
|
|
|
- FIX_ Fixed C99-style variable declaration (bug 2938444)(backported in 1.4.1).
|
2010-01-22 14:51:54 +00:00
|
|
|
|
- FIX: Fixed parameter check in sdStart() function (bug 2932922)(backported in
|
|
|
|
|
1.4.0).
|
2010-01-20 14:39:34 +00:00
|
|
|
|
- FIX: Fixed missing platform.mk file in MSP430 port (bug 2933735)(backported
|
|
|
|
|
in 1.4.0).
|
2010-01-24 11:49:35 +00:00
|
|
|
|
- CHANGE: Removed the unnamed union from the thread and heaps structures,
|
|
|
|
|
some compilers do not support this non standard construct.
|
2010-01-22 14:51:54 +00:00
|
|
|
|
- CHANGE: Removed the empty structures from the streams/channels headers.
|
2010-01-20 14:39:34 +00:00
|
|
|
|
- CHANGE: Modified the thread-related constant macros to have a THD_ prefix.
|
2010-01-24 11:49:35 +00:00
|
|
|
|
- CHANGE: Modified NULL assignments to function pointers to use an explicit
|
|
|
|
|
cast because some compilers issue warnings without the cast.
|
2010-01-21 19:57:30 +00:00
|
|
|
|
- OPT: Speed/size optimization to the events subsystem.
|
2010-01-21 17:25:57 +00:00
|
|
|
|
- OPT: Speed/size optimization to the mutexes subsystem.
|
2010-01-21 18:06:33 +00:00
|
|
|
|
- OPT: Speed/size optimization to the condvars subsystem.
|
2010-01-20 21:08:28 +00:00
|
|
|
|
- OPT: Speed/size optimization to the synchronous messages subsystem.
|
2010-01-23 18:32:02 +00:00
|
|
|
|
- NEW: Added support for STM32/HD/CL UART4 and UART5, thanks Egon for the
|
|
|
|
|
patch.
|
2010-01-15 15:22:36 +00:00
|
|
|
|
|
2010-01-05 17:14:09 +00:00
|
|
|
|
*** 1.3.8 ***
|
2010-01-08 13:37:23 +00:00
|
|
|
|
- FIX: Fixed dequeuing in lifo_remove() function (bug 2928142).
|
2010-01-06 12:55:12 +00:00
|
|
|
|
- FIX: Fixed spurious character generation in MSP430 serial driver (bug
|
|
|
|
|
2926838).
|
2010-01-05 17:14:09 +00:00
|
|
|
|
- NEW: Introduced an abstract streams interface BaseSequentialStream.
|
|
|
|
|
- NEW: Added timeout specification to the I/O queues read/write primitives.
|
2010-01-09 08:58:04 +00:00
|
|
|
|
- NEW: Added support for HD and CL STM32 devices in the vectors table.
|
2010-01-05 17:14:09 +00:00
|
|
|
|
- CHANGE: Modified the BaseChannel interface in order to make it a
|
|
|
|
|
BaseSequentialStream descendant.
|
|
|
|
|
- CHANGE: Updated the serial driver model in order to expose the
|
|
|
|
|
BaseSequentialStream methods.
|
|
|
|
|
- CHANGE: The behavior of the read/write primitives is changed, now the
|
|
|
|
|
functions are synchronous and do not return until the specified number of
|
|
|
|
|
bytes have been transferred or a timeout occurs, the old behavior can be
|
|
|
|
|
replicated by specifying TIME_IMMEDIATE as timeout. Another difference is
|
|
|
|
|
that specifying zero as bytes number is like specifying the largest size_t
|
|
|
|
|
plus one, zero was an illegal value before.
|
2010-01-06 12:55:12 +00:00
|
|
|
|
- CHANGE: Simplified the LPC214x driver by removing the option to not use the
|
|
|
|
|
FIFO preload feature. Setting LPC214x_UART_FIFO_PRELOAD to 1 results in
|
|
|
|
|
the same behavior.
|
2010-01-05 17:14:09 +00:00
|
|
|
|
- Documentation fixes and improvements, testing strategy explained.
|
2010-01-07 15:23:38 +00:00
|
|
|
|
- Added article about waking up threads from IRQ handlers.
|
2010-01-05 17:14:09 +00:00
|
|
|
|
|
2009-12-25 09:19:43 +00:00
|
|
|
|
*** 1.3.7 ***
|
2009-12-29 13:15:29 +00:00
|
|
|
|
- FIX: Fixed duplicated definition of SPI_USE_MUTUAL_EXCLUSION (bug 2922495).
|
2009-12-25 16:15:08 +00:00
|
|
|
|
- FIX: Fixed coverage tool hanging during execution (bug 2921120).
|
2009-12-25 09:19:43 +00:00
|
|
|
|
- FIX: Fixed Linux simulator startup message (bug 2921012).
|
2009-12-29 13:15:29 +00:00
|
|
|
|
- FIX: Fixed section separators comments into the HAL-related files. Now all
|
|
|
|
|
the files should use the same style.
|
2009-12-29 16:00:18 +00:00
|
|
|
|
- NEW: Improved HAL configuration file.
|
2010-01-02 12:41:56 +00:00
|
|
|
|
- NEW: Introduced a new, per-project, MCU configuration file mcuconf.h that
|
|
|
|
|
contains all the drivers related settings.
|
2010-01-01 15:29:17 +00:00
|
|
|
|
- NEW: Readability improvements to the channels code.
|
2010-01-01 13:41:31 +00:00
|
|
|
|
- NEW: Serial driver model improvements, added states management and checks,
|
|
|
|
|
added a new SD_NOISE_ERROR error event.
|
2010-01-01 15:29:17 +00:00
|
|
|
|
- NEW: Improvements and optimizations in the various serial driver
|
|
|
|
|
implementations.
|
2009-12-30 13:28:10 +00:00
|
|
|
|
- Documentation fixes and improvements.
|
2009-12-25 09:19:43 +00:00
|
|
|
|
|
2009-12-13 13:37:06 +00:00
|
|
|
|
*** 1.3.6 ***
|
2009-12-18 11:42:05 +00:00
|
|
|
|
- FIX: Fixed missing STM32 PWM low level driver error in platform.mk by
|
|
|
|
|
adding the driver files (bug 2913560).
|
2009-12-24 10:56:44 +00:00
|
|
|
|
- NEW: The Linux simulator now works again, also supports the serial
|
2009-12-24 09:57:44 +00:00
|
|
|
|
drivers over TCP/IP and has a command line interface like the Win32
|
|
|
|
|
simulator.
|
2009-12-18 11:42:05 +00:00
|
|
|
|
- NEW: STM32 PWM driver implementation.
|
2009-12-19 11:10:08 +00:00
|
|
|
|
- NEW: LPC214x SPI driver implementation (SSP only, polled mode, no IRQ), this
|
|
|
|
|
driver replaces the old, not HAL compatible, SSP driver.
|
2009-12-20 11:38:02 +00:00
|
|
|
|
- NEW: LPC214x FatFS demo added, LPC214x minimal demo removed, LPC214x "normal"
|
|
|
|
|
demo reduced to work like all the other generic demos.
|
2009-12-18 11:42:05 +00:00
|
|
|
|
- NEW: Added custom mode settings to the STM32 PAL driver:
|
|
|
|
|
- PAL_MODE_STM32_ALTERNATE_PUSHPULL
|
|
|
|
|
- PAL_MODE_STM32_ALTERNATE_OPENDRAIN
|
2009-12-18 21:00:27 +00:00
|
|
|
|
- NEW: Included all the board-specific files into a new directories structure
|
|
|
|
|
under ./boards, this allows to not duplicate the board files into each demo.
|
2009-12-18 11:42:05 +00:00
|
|
|
|
- CHANGE: Changes to the PWM driver model, made it simpler.
|
2009-12-18 13:47:32 +00:00
|
|
|
|
- CHANGE: The STM32 device drivers now no more configure the I/O pins on
|
2009-12-18 21:00:27 +00:00
|
|
|
|
initialization. Pins must be configured in board.h, the change was required
|
2009-12-18 13:47:32 +00:00
|
|
|
|
in order to support the STM32 AFIO remapping feature.
|
2009-12-20 11:38:02 +00:00
|
|
|
|
- CHANGE: Removed the mmcsd.c driver, it is replaced by the generic MMC_SPI
|
|
|
|
|
driver present into the HAL.
|
2009-12-21 10:05:17 +00:00
|
|
|
|
- CHANGE: Updated the GPL exception text in the documentation, this should be
|
|
|
|
|
the final text for the stable version 1.4.x.
|
2009-12-13 13:37:06 +00:00
|
|
|
|
|
2009-11-15 13:03:13 +00:00
|
|
|
|
*** 1.3.5 ***
|
2009-12-11 15:58:11 +00:00
|
|
|
|
- FIX: Fixed problem with memory core allocator (bug 2912528).
|
|
|
|
|
- FIX: Fixed problem with CH_USE_MEMCORE option (bug 2912522).
|
2009-11-20 15:51:19 +00:00
|
|
|
|
- FIX: Fixed some problems in the MMC_SPI driver (bugs 2901084 and 2901172).
|
2009-12-11 15:58:11 +00:00
|
|
|
|
- NEW: Added a command line shell component, modified the Win32 simulator
|
|
|
|
|
in order to use the new shell. The shell can be used under any architecture,
|
|
|
|
|
it just requires an I/O channel. Custom commands can be easily added.
|
2009-11-29 18:13:45 +00:00
|
|
|
|
- NEW: Unified the initialization of the various drivers from a single HAL
|
|
|
|
|
driver. The single drivers can be enabled or disabled from a HAL
|
|
|
|
|
configuration file halconf.h.
|
|
|
|
|
- NEW: New CAN driver model.
|
2009-12-08 07:42:49 +00:00
|
|
|
|
- NEW: New PWM driver model.
|
2009-11-19 19:03:18 +00:00
|
|
|
|
- NEW: STM32 ADC driver implementation with DMA support.
|
2009-12-06 10:25:53 +00:00
|
|
|
|
- NEW: STM32 CAN driver implementation.
|
2009-11-29 18:17:49 +00:00
|
|
|
|
- NEW: Extended the support to all the SAM7X and SAM7S devices thanks to
|
|
|
|
|
code contributed by Liam Staskawicz.
|
2009-12-08 07:48:53 +00:00
|
|
|
|
- NEW: Improvements to the AT91SAM7 startup code contributed by Liam.
|
|
|
|
|
- NEW: Added test report for MSP430 running from the external high speed
|
2009-12-05 09:07:21 +00:00
|
|
|
|
oscillator.
|
2009-12-11 15:58:11 +00:00
|
|
|
|
- NEW: HAL stress test for STM32 added, the demo is located under
|
|
|
|
|
./testhal/STM32. The demo code also shows how to use the ADC, CAN and SPI
|
|
|
|
|
drivers.
|
2009-11-29 18:17:49 +00:00
|
|
|
|
- CHANGE: Removed the MII from the standard drivers, now it is part of the
|
|
|
|
|
AT91SAM7 support, the header mii.h is still part of the HAL.
|
2009-11-19 19:03:18 +00:00
|
|
|
|
- CHANGE: In the STM32 drivers now the DMA errors are handled by hook macros
|
|
|
|
|
rather than by events. The default action is to halt the system but users
|
|
|
|
|
are able to override this and define custom handling.
|
2009-11-18 22:45:27 +00:00
|
|
|
|
- CHANGE: In the Cortex-M3 port, modified the NVICEnableVector() function
|
|
|
|
|
to make it clear pending interrupts.
|
2009-11-19 19:03:18 +00:00
|
|
|
|
- CHANGE: Minor changes to the ADC driver model.
|
2009-11-15 13:03:13 +00:00
|
|
|
|
|
2009-10-23 15:03:07 +00:00
|
|
|
|
*** 1.3.4 ***
|
2009-11-14 11:23:33 +00:00
|
|
|
|
- FIX: Fixed bug in STM32 PAL port driver (bug 2897636).
|
2009-11-01 19:18:09 +00:00
|
|
|
|
- FIX: Fixed problem with ARM-CM3 context switch when compiled at level
|
|
|
|
|
-O0 (bug 2890382).
|
2009-11-01 18:05:54 +00:00
|
|
|
|
- FIX: Fixed wrong conditional in chschd.c (bug 2888836).
|
|
|
|
|
- FIX: Fixed wrong macro in chheap.c (bug 2888833).
|
|
|
|
|
- FIX: Fixed AIC initialization in AT91SAM7X support (bug 2888583).
|
2009-10-23 15:03:07 +00:00
|
|
|
|
- NEW: New SPI (master) driver model.
|
2009-11-01 14:14:10 +00:00
|
|
|
|
- NEW: SPI driver for STM32 implementing the new SPI driver model.
|
2009-11-07 10:29:32 +00:00
|
|
|
|
- NEW: New ADC (streaming capable) driver model.
|
2009-11-14 19:40:32 +00:00
|
|
|
|
- NEW: Generic MMC (over SPI) driver.
|
|
|
|
|
- NEW: Added a STM32 demo that integrates the MMC driver and the FatFs
|
|
|
|
|
file system.
|
2009-11-15 08:52:17 +00:00
|
|
|
|
- NEW: Implemented I/O redirection on a serial driver into syscalls.c, now
|
|
|
|
|
it is possible (but not recommended) to use printf()/scanf() etc. An usage
|
|
|
|
|
example is in the new MMC/FatFs demo. Note the extra -D... into the Makefile.
|
2009-11-13 21:15:13 +00:00
|
|
|
|
- CHANGE: Moved the STM32 firmware library under ./ext, this way there is no
|
|
|
|
|
need to duplicate it in each demo program.
|
2009-11-14 07:56:35 +00:00
|
|
|
|
- CHANGE: Moved the file stm32f10x.h from the demos to the platforms support
|
|
|
|
|
directory.
|
2009-10-23 15:03:07 +00:00
|
|
|
|
|
2009-09-30 18:18:35 +00:00
|
|
|
|
*** 1.3.3 ***
|
2009-10-18 17:56:20 +00:00
|
|
|
|
- FIX: Fixed bug in the LPC2148 PAL driver (bug 2881380).
|
|
|
|
|
- FIX: Fixed bug in the AT91SAM7X PAL driver (bug 2879933).
|
2009-09-30 18:18:35 +00:00
|
|
|
|
- NEW: New MAC and MII driver models and implementations for the AT91SAM7X.
|
|
|
|
|
Removed the old EMAC driver, updated the uIP WEB demo to use the new
|
|
|
|
|
driver model.
|
2009-10-11 10:12:22 +00:00
|
|
|
|
- NEW: Added a simple lwIP demo (web server) for the AT91SAM7X.
|
2009-10-17 09:21:59 +00:00
|
|
|
|
- NEW: Centralized core memory manager. This simple allocator implements a
|
2009-10-16 17:45:19 +00:00
|
|
|
|
sbrk()-like API: chCoreAlloc(). The other allocators now use this manager
|
|
|
|
|
in order to get memory blocks.
|
|
|
|
|
- NEW: The heap allocator has been modified, now it is possible to have
|
2009-10-17 09:54:09 +00:00
|
|
|
|
multiple heaps. The default heap gets its memory from the new core memory
|
|
|
|
|
manager.
|
2009-10-20 17:26:27 +00:00
|
|
|
|
- NEW: Now memory pools can optionally get new objects automatically from the
|
|
|
|
|
core memory manager.
|
2009-10-17 11:23:56 +00:00
|
|
|
|
- NEW: Added newlib interface file syscalls.c under ./os/various for use with
|
|
|
|
|
the newest YAGARTO releases. The file provides bindings between the C
|
|
|
|
|
runtime and the core memory manager.
|
2009-10-16 17:45:19 +00:00
|
|
|
|
- CHANGE: Because the changes in the allocators some API prototypes changed:
|
|
|
|
|
chHeapAlloc(), chHeapStatus(), chThdCreateFromHeap().
|
|
|
|
|
- CHANGE: Because the changes in the allocators some configuration options
|
2009-10-17 15:42:19 +00:00
|
|
|
|
changed and some were removed, see the new template chconf.h file.
|
2009-10-11 10:29:56 +00:00
|
|
|
|
- CHANGE: renamed ./demos/ARM7-AT91SAM7X-WEB-GCC in ARM7-AT91SAM7X-UIP-GCC.
|
2009-10-17 11:07:15 +00:00
|
|
|
|
- FIX: Added the most restrictive GCC warning option to the makefiles (-Wextra)
|
|
|
|
|
and fixed some warnings in the code, mostly unused function parameters.
|
2009-09-30 18:18:35 +00:00
|
|
|
|
|
2009-07-18 12:19:47 +00:00
|
|
|
|
*** 1.3.2 ***
|
2009-08-29 12:06:55 +00:00
|
|
|
|
- FIX: Fixed GCC 4.4.x aliasing warnings (bug 2846336)(backported in stable
|
|
|
|
|
branch).
|
|
|
|
|
- FIX: Modified linker scripts for GCC 4.4.x (bug 2846302)(backported in stable
|
|
|
|
|
branch).
|
|
|
|
|
- FIX: Fixed the CH_OPTIMIZE_SPEED option in the CM3 port (bug 2846278)
|
|
|
|
|
(backported in stable branch).
|
2009-09-12 17:46:03 +00:00
|
|
|
|
- FIX: Fixed GCC 4.4.x related problems in CM3 port (bug 2846162)(backported
|
|
|
|
|
in stable branch).
|
2009-08-29 12:06:55 +00:00
|
|
|
|
- FIX: Fixed LPC214x UART problem (bug 2841088)(backported in stable branch).
|
2009-09-13 09:38:59 +00:00
|
|
|
|
- NEW: Improved the Cortex-M3 preemption code, now less interrupt-related
|
|
|
|
|
jitter is generated and all benchmarks scores improved a bit.
|
2009-09-12 17:46:03 +00:00
|
|
|
|
- NEW: Added new APIs chSchDoYieldS() and chThdYield().
|
2009-09-13 08:21:02 +00:00
|
|
|
|
- MEW: Added new benchmark about RAM footprint.
|
2009-09-05 15:31:27 +00:00
|
|
|
|
- MEW: Added new benchmark about round robin rescheduling.
|
2009-08-30 16:35:39 +00:00
|
|
|
|
- NEW: Reorganized and rationalized the distribution tree and the
|
|
|
|
|
documentation.
|
2009-08-19 13:11:25 +00:00
|
|
|
|
- NEW: Enhanced serial driver. The driver now supports speed change at runtime
|
|
|
|
|
and low power stop mode.
|
|
|
|
|
- NEW: Serial driver removed from the kernel and added to the I/O subsystems
|
2009-09-12 17:46:03 +00:00
|
|
|
|
together with PAL. Note that the related API names changed their prefix from
|
|
|
|
|
chFDDxxx to sdxxx because of this.
|
2009-07-18 12:19:47 +00:00
|
|
|
|
- NEW: Added standard CMSIS 1.2.0 support to the Cortex-M3 port. The kernel
|
|
|
|
|
does not use it (the OS uses its own optimized code) but the functionality
|
|
|
|
|
is available to the applications. The CMSIS files were patched in order
|
|
|
|
|
to correct some warnings.
|
|
|
|
|
- NEW: Updated the STM32 port to use the newest ST firmware library files
|
2009-07-18 16:32:27 +00:00
|
|
|
|
(version 3.1.0). Note that now the ST drivers are included in the STM32
|
2009-08-16 13:07:24 +00:00
|
|
|
|
demo directory.
|
2009-09-19 08:00:34 +00:00
|
|
|
|
- NEW: Improved makefiles and makefile fragments, now the paths are not fixed,
|
|
|
|
|
the fragments can be included also from projects outside the ChibiOS/RT files
|
|
|
|
|
structure by simply defining the variable ${CHIBIOS}.
|
2009-08-19 13:11:25 +00:00
|
|
|
|
- CHANGE: Removed the CH_USE_SERIAL_FULLDUPLEX configuration option because
|
|
|
|
|
the serial driver is no more part of the kernel.
|
2009-08-27 16:42:07 +00:00
|
|
|
|
- CHANGE: Reorganized the PAL and Serial identifiers now IOPORT1..N and
|
|
|
|
|
SD1..N rather than IOPORT_A..Z and COM1..N, some of the old names were
|
|
|
|
|
conflicting with some AVR libraries.
|
2009-07-18 12:19:47 +00:00
|
|
|
|
|
2009-05-26 17:21:52 +00:00
|
|
|
|
*** 1.3.1 ***
|
2009-06-01 15:20:25 +00:00
|
|
|
|
- FIX: Removed mention of an obsolete option from the documentation (bug
|
|
|
|
|
2799507).
|
2009-06-14 16:49:17 +00:00
|
|
|
|
- NEW: Abstract digital I/O ports driver (PAL), this driver defines a common
|
2009-06-01 18:01:11 +00:00
|
|
|
|
interface for digital I/O operations, this should help to create more
|
|
|
|
|
portable applications and, in general, make easier to work with ChibiOS/RT
|
|
|
|
|
on multiple architectures.
|
2009-06-14 18:03:34 +00:00
|
|
|
|
- NEW: Port drivers for STM32, LPC214x, AT91SAM7X and MSP430, cleaned up the
|
2009-06-14 16:49:17 +00:00
|
|
|
|
initialization code in board.c. All the demos now use PAL for I/O. AVR is
|
|
|
|
|
not supported because its "sparse" registers layout, it would not be
|
|
|
|
|
efficient enough for my taste.
|
2009-06-21 17:07:05 +00:00
|
|
|
|
- Modified the STM32 demo to use the bit definitions in the ST header file,
|
2009-06-21 17:29:01 +00:00
|
|
|
|
removed the bit definitions in board.h and stm32_serial.h.
|
2009-06-01 15:20:25 +00:00
|
|
|
|
- Documentation section reorganization and fixes.
|
2009-05-30 14:20:55 +00:00
|
|
|
|
- Changed the STM32 demo stack sizes, it was incorrectly adjusted in version
|
|
|
|
|
1.3.0 but it did not create problems (not a bug).
|
2009-05-26 17:21:52 +00:00
|
|
|
|
|
2009-04-09 18:56:07 +00:00
|
|
|
|
*** 1.3.0 ***
|
|
|
|
|
- FIX: Fixed regression in MinGW demo (bug 2745153)(backported in stable
|
|
|
|
|
branch).
|
2009-04-12 08:38:51 +00:00
|
|
|
|
- FIX: Fixed problem with the timeout constant TIME_IMMEDIATE, added a
|
|
|
|
|
specific test in the test suite (bug 2755170)(backported in stable branch).
|
2009-04-12 08:47:21 +00:00
|
|
|
|
- FIX: Fixed a problem in semaphores test case #2 (bug 2755195)(backported
|
|
|
|
|
in stable branch).
|
2009-04-18 13:11:25 +00:00
|
|
|
|
- FIX: Removed unused list functions (bug 2755230)(backported in stable
|
2009-04-12 09:05:08 +00:00
|
|
|
|
branch).
|
2009-04-18 10:34:23 +00:00
|
|
|
|
- FIX: Added license notice to several files (bug 2772160)(backported in
|
|
|
|
|
stable branch).
|
|
|
|
|
- FIX: Found new instances of the obsolete function chSysGetTime() in the
|
|
|
|
|
C++ wrapper and in the WEB demo (bug 2772237)(backported in stable branch).
|
2009-04-25 15:12:34 +00:00
|
|
|
|
- FIX: Fixed macro in test.h (bug 2781176)(backported in stable branch).
|
2009-05-09 13:06:30 +00:00
|
|
|
|
- FIX: Fixed sequence assertion in test.c (bug 2789377)(backported in stable
|
|
|
|
|
branch).
|
2009-05-09 14:55:18 +00:00
|
|
|
|
- FIX: Fixed test_cpu_pulse() incorrect behavior (bug 2789383)(backported in
|
|
|
|
|
stable branch).
|
2009-05-09 19:51:12 +00:00
|
|
|
|
- FIX: Fixed missing volatile modifier for p_time field in Thread structure
|
|
|
|
|
(bug 2789501)(backported in stable branch).
|
2009-05-17 09:17:17 +00:00
|
|
|
|
- FIX: Fixed C99-style variable declarations (bug 2792919)(backported in
|
|
|
|
|
stable branch).
|
2009-05-24 13:38:16 +00:00
|
|
|
|
- FIX: Fixed instance of obsolete CH_USE_TERMINATE option in the C++ wrapper
|
|
|
|
|
(bug 2796065)(backported in stable branch).
|
|
|
|
|
- FIX: Insufficient stack allocated to the C++ LPC2148 demo (bug 2796069)
|
|
|
|
|
(backported in stable branch).
|
|
|
|
|
- FIX: Fixed errors in events test case (bug 2796081)(backported in stable
|
|
|
|
|
branch).
|
2009-05-03 09:51:01 +00:00
|
|
|
|
- NEW: Abstract I/O Channels mechanism introduced. This mechanism allows to
|
|
|
|
|
access I/O resources through a standard interface and hides implementation
|
2009-05-03 16:44:08 +00:00
|
|
|
|
details. The existing serial drivers were modified to offer a standard
|
2009-05-16 10:57:16 +00:00
|
|
|
|
channel interface to the applications (the old APIs are retained as macros).
|
2009-05-03 09:51:01 +00:00
|
|
|
|
- NEW: The I/O queues code was improved, now there are 2 separate structures:
|
|
|
|
|
InputQueue and OutputQueue. There are some changes in the queue APIs
|
|
|
|
|
in order to make them more symmetrical and functional. Improved the queues
|
|
|
|
|
documentation. Some of the changes were needed in order to support the new
|
|
|
|
|
channels mechanism as a backend for queued serial drivers.
|
2009-05-16 14:49:41 +00:00
|
|
|
|
- NEW: Static initializers macros introduced for most kernel objects. The
|
|
|
|
|
static initializers allow to not have to chXXXInit() any object and save some
|
|
|
|
|
code space. The initialization functions are retained in order to allow
|
|
|
|
|
initialization of dynamic objects and re-initializations.
|
2009-04-17 14:53:04 +00:00
|
|
|
|
- NEW: Added more test cases in order to improve the test suite code coverage
|
2009-05-03 16:42:52 +00:00
|
|
|
|
(it was 74% in version 1.2.0, it is now close to 100%).
|
2009-05-16 10:57:16 +00:00
|
|
|
|
- NEW: Added test cases for the improved queues and serial drivers.
|
|
|
|
|
- NEW: Added a code coverage analysis application under ./tests/coverage.
|
2009-05-09 16:46:49 +00:00
|
|
|
|
- NEW: Added the test suite documentation to the general documentation.
|
2009-04-17 14:53:04 +00:00
|
|
|
|
- NEW: Added a new "naked" context switch benchmark that better defines the
|
|
|
|
|
real context switch time, previous benchmarks introduced too much overhead
|
|
|
|
|
to the measurement. The STM32 performs the context switch in under 1.48uS.
|
2009-05-09 16:46:49 +00:00
|
|
|
|
- NEW: Improved priority inheritance test cases.
|
2009-04-25 14:56:16 +00:00
|
|
|
|
- NEW: Added architecture name strings to the port code.
|
2009-05-23 10:54:35 +00:00
|
|
|
|
- NEW: Linux x86 simulator demo added. It is still work in progress.
|
2009-05-01 12:58:05 +00:00
|
|
|
|
- CHANGE: Removed the half duplex queues and half duplex serial drivers because
|
|
|
|
|
it was never extensively tested. The code is still available but not as part
|
|
|
|
|
of the kernel.
|
2009-04-19 07:15:05 +00:00
|
|
|
|
- CHANGE: Removed the chMsgSendWithEvent() function. It is rarely used and
|
|
|
|
|
the functionality can be re-created with a compound atomic operation. Also
|
|
|
|
|
removed the CH_USE_MESSAGES_EVENT configuration option.
|
2009-04-25 11:12:10 +00:00
|
|
|
|
- CHANGE: Modified the test suite assertions in order to save RAM on the AVR
|
2009-05-01 07:39:07 +00:00
|
|
|
|
targets. The test suite now uses much less string space.
|
2009-05-09 16:05:41 +00:00
|
|
|
|
- CHANGE: Removed the CH_USE_SERIAL_HALFDUPLEX, CH_USE_QUEUES_TIMEOUT,
|
|
|
|
|
CH_USE_QUEUES_HALFDUPLEX, CH_USE_SEMAPHORES_TIMEOUT configuration options.
|
|
|
|
|
- CHANGE: Made CH_DBG_THREADS_PROFILING default to TRUE in all demos because
|
|
|
|
|
the changes to the function test_cpu_pulse().
|
2009-05-24 13:51:52 +00:00
|
|
|
|
- CHANGE: Increased main stack size to 1KiB for all the ARMx demos, 2KiB for
|
|
|
|
|
the C++ LPC2148 demo. This should make things easier for unexperienced
|
|
|
|
|
users.
|
2009-04-09 18:56:07 +00:00
|
|
|
|
|
2009-04-02 13:41:54 +00:00
|
|
|
|
*** 1.2.0 ***
|
|
|
|
|
- Added license exception text to the 1.2.0 branch.
|
2009-04-04 17:40:51 +00:00
|
|
|
|
- FIX: Fixed serious AVR regression (bug 2731578).
|
|
|
|
|
- FIX: Fixed build failure when CH_USE_MUTEXES=FALSE (bug 2730706).
|
|
|
|
|
- FIX: Removed reference to an obsolete function (bug 2731661).
|
2009-04-02 13:41:54 +00:00
|
|
|
|
- Full test cycle and test reports updated.
|
|
|
|
|
- Small fixes to the documentation.
|
2010-04-24 21:20:51 +00:00
|
|
|
|
|
|
|
|
|
*** 1.1.3unstable ***
|
|
|
|
|
- FIX: Fixed makefile in STM32 demo, this bug was reported fixed in
|
2009-03-31 14:54:49 +00:00
|
|
|
|
version 1.1.2 but it was still there (bug 2686451).
|
2009-03-31 15:03:25 +00:00
|
|
|
|
- FIX: Fixed makefile in MSP430 demo (bug 2700690).
|
2010-04-24 21:20:51 +00:00
|
|
|
|
- FIX: Fixed thumb mode build error in AT91SAM7X demos (bug 2700695).
|
2007-09-21 16:44:36 +00:00
|
|
|
|
|
2009-03-08 17:39:46 +00:00
|
|
|
|
*** 1.1.2unstable ***
|
2009-03-09 11:17:02 +00:00
|
|
|
|
- FIX: Fixed priority inheritance problem with condvars (bug 2674756) and
|
|
|
|
|
added a specific test case to the test suite (backported in stable branch).
|
2009-03-10 22:05:31 +00:00
|
|
|
|
- FIX: Fixed a problem in time ranges (bug 2680425)(backported in stable
|
|
|
|
|
branch).
|
2009-03-11 21:53:55 +00:00
|
|
|
|
- FIX: Build error with option CH_DBG_FILL_THREADS (bug 2683965).
|
2009-03-11 14:24:02 +00:00
|
|
|
|
- FIX: Fixed a wrong parameter check in chVTSetI() and chThdSleep()
|
|
|
|
|
(bug 2679155).
|
2009-03-10 15:31:58 +00:00
|
|
|
|
- FIX: Build error with options CH_USE_NESTED_LOCKS && !CH_OPTIMIZE_SPEED
|
|
|
|
|
(bug 2678928).
|
2009-03-08 17:39:46 +00:00
|
|
|
|
- FIX: Removed unused chSysPuts() macro (bug 2672678).
|
2009-03-10 15:31:58 +00:00
|
|
|
|
- FIX: Renamed function chSysInTimeWindow() as chTimeIsWithin() and renamed
|
|
|
|
|
the macro chSysGetTime() in chTimeNow(), the old names are still recognized
|
2009-03-11 09:22:59 +00:00
|
|
|
|
but marked as deprecated (fixes the bug 2678953 but goes a bit further by
|
|
|
|
|
introducing a new API category "Time").
|
2009-03-13 21:38:09 +00:00
|
|
|
|
- FIX: Fixed makefile problems in the AT91SAM7X256 and STM32 demos (bugs
|
|
|
|
|
2686347 and 2686451).
|
|
|
|
|
- FIX: Fixed AT91SAM7X256 EMAC driver (bug 2686349).
|
2009-03-18 19:53:33 +00:00
|
|
|
|
- FIX: Fixed small some errors in the documentation (bug 2692510).
|
2009-03-13 20:53:08 +00:00
|
|
|
|
- OPT: Small optimization to the Cortex-M3 thread startup code, improved thread
|
2009-03-12 18:46:53 +00:00
|
|
|
|
related performance scores and smaller code.
|
2009-03-13 21:49:55 +00:00
|
|
|
|
- OPT: Alternative, non-inlined and more compact, implementations for
|
|
|
|
|
port_lock() and port_unlock() in the Cortex-M3 port when CH_OPTIMIZE_SPEED
|
|
|
|
|
is FALSE.
|
2009-03-19 09:42:03 +00:00
|
|
|
|
- OPT: Improved ready list and priority ordered lists code, some space saved,
|
|
|
|
|
better context switch performance.
|
2009-03-13 19:30:52 +00:00
|
|
|
|
- Modified the test thread function to return the global test result flag.
|
2009-03-09 11:17:02 +00:00
|
|
|
|
- Removed testcond.c|h and moved the test cases into testmtx.c. Mutexes and
|
|
|
|
|
condvars have to be tested together.
|
2009-03-08 17:39:46 +00:00
|
|
|
|
- Added architecture diagram to the documentation.
|
2009-03-11 14:24:02 +00:00
|
|
|
|
- Removed from the documentation some references to long gone functions...
|
2009-03-08 17:39:46 +00:00
|
|
|
|
|
2009-02-14 09:11:26 +00:00
|
|
|
|
*** 1.1.1unstable ***
|
2009-02-20 20:21:37 +00:00
|
|
|
|
- FIX: Fixed a problem into the STACK_ALIGN() macro (backported in stable
|
|
|
|
|
branch).
|
2009-02-17 18:25:56 +00:00
|
|
|
|
- FIX: Fixed a problem with a wrong declaration of the PLL structure in the
|
|
|
|
|
file lpc214x.h (backported in stable branch).
|
2009-03-15 09:27:36 +00:00
|
|
|
|
- FIX: Fixed build problem with the C++ demo (bug 2687489).
|
2009-03-13 19:41:13 +00:00
|
|
|
|
- FIX: Removed EMAC driver from the AT91SAM7X256 demo makefile (bug 2686347).
|
|
|
|
|
- FIX: Removed C++ wrapper from the STM32 demo makefile (bug 2686451).
|
2009-02-14 21:28:10 +00:00
|
|
|
|
- FIX: Fixed a problem with some event APIs not showing in the documentation
|
|
|
|
|
(backported in stable branch).
|
2009-02-14 18:20:33 +00:00
|
|
|
|
- FIX: Fixed wrong assertions in chThdWait() and chHeapFree() (backported in
|
|
|
|
|
stable branch).
|
2009-05-09 09:43:14 +00:00
|
|
|
|
- FIX: Fixed @file tag in sam7x_serial.c (bug 2788573) (backported in stable
|
|
|
|
|
branch).
|
2009-02-14 21:28:10 +00:00
|
|
|
|
- FIX: Fixed a small problem in the chcore.c template file.
|
2009-02-18 12:58:35 +00:00
|
|
|
|
- NEW: Mailboxes (asynchronous messages) subsystem and test cases added.
|
2009-03-07 18:20:31 +00:00
|
|
|
|
- NEW: Most APIs with a timeout specification now accept the constant
|
2009-03-08 09:16:19 +00:00
|
|
|
|
TIME_IMMEDIATE (-1) that triggers an immediate timeout when trying to enter
|
|
|
|
|
a sleep state.
|
2009-02-14 18:20:33 +00:00
|
|
|
|
- NEW: Mode flexible debug configuration options, removed the old CH_USE_DEBUG
|
2009-02-20 20:14:42 +00:00
|
|
|
|
and CH_USE_TRACE. Replaced with CH_DBG_ENABLE_CHECKS, SCH_DBG_ENABLE_ASSERTS,
|
2009-05-09 19:51:12 +00:00
|
|
|
|
CH_DBG_ENABLE_TRACE and CH_DBG_FILL_THREADS.
|
2009-02-17 18:25:56 +00:00
|
|
|
|
- NEW: Added a debug option CH_DBG_THREADS_PROFILING for threads profiling.
|
|
|
|
|
A field into the Thread structure counts the consumed time. The information
|
|
|
|
|
is not used into the kernel, it is meant for debugging.
|
|
|
|
|
- NEW: Added a debug option CH_DBG_ENABLE_STACK_CHECK for stack overflow
|
|
|
|
|
checking. The check is not performed in the kernel but in the port code.
|
2009-02-21 11:14:24 +00:00
|
|
|
|
Currently only the ARM7 and ARMCM3 ports implements it.
|
2009-02-22 09:56:36 +00:00
|
|
|
|
- NEW: Unified makefiles for ARM7, ARMCM3 MSP430 projects, the new makefiles
|
2009-02-19 18:32:51 +00:00
|
|
|
|
share a common part making them easier to maintain. Also reorganized the
|
|
|
|
|
demo-specific part of the makefile, now it is easier to configure and the
|
2009-03-08 09:16:19 +00:00
|
|
|
|
option can be overridden from outside.
|
2009-02-17 18:25:56 +00:00
|
|
|
|
- CHANGE: Changed the chSemFastWaitS() macro in chSemFastWaitI() and
|
|
|
|
|
chSemGetCounter() in chSemGetCounterI().
|
2009-02-22 08:43:49 +00:00
|
|
|
|
- CHANGE: Removed the port_puts() function from the port templates. It was not
|
|
|
|
|
implemented on all ports.
|
2009-02-16 18:22:49 +00:00
|
|
|
|
- Improvements to the test suite, added a new level of indirection that allows
|
|
|
|
|
to make tests depend on the configuration options without have to put #ifs
|
2009-02-28 09:39:02 +00:00
|
|
|
|
into the test main module. New benchmarks about semaphores and mutexes.
|
2009-02-14 09:11:26 +00:00
|
|
|
|
|
2009-01-05 17:23:24 +00:00
|
|
|
|
*** 1.1.0unstable ***
|
2009-02-04 20:22:32 +00:00
|
|
|
|
- FIX: Modified the default value for the STM32 HSI setup it was 1, it should
|
2009-02-07 12:42:29 +00:00
|
|
|
|
be 0x10 (backported in stable branch).
|
|
|
|
|
- FIX: Removed an obsolete constant (P_SUSPENDED) from thread.h (backported in
|
2009-02-04 20:22:32 +00:00
|
|
|
|
stable branch).
|
2009-02-14 18:20:33 +00:00
|
|
|
|
- FIX: Removed unused field mp_grow in the MemoryPool structure (backported in
|
2009-02-04 20:22:32 +00:00
|
|
|
|
stable branch).
|
2009-02-08 13:02:31 +00:00
|
|
|
|
- NEW: Added to the STM32 demo makefile an option to build ChibiOS/RT with the
|
2009-02-14 07:27:00 +00:00
|
|
|
|
full STM32 FWLib 2.03. **NOTE**, except for the makefile option, the
|
|
|
|
|
library is not used by the OS nor required (backported in stable branch).
|
2009-01-06 18:38:05 +00:00
|
|
|
|
- NEW: Better separation between the port code and the system APIs, now an
|
|
|
|
|
architecture-specific "driver" contains all the port related code.
|
2009-01-18 09:45:57 +00:00
|
|
|
|
Port functions/macros are no more directly exposed as APIs to the user code.
|
2009-01-06 11:46:31 +00:00
|
|
|
|
- NEW: Added a configuration option to enable nested system locks/unlocks.
|
2009-01-05 17:23:24 +00:00
|
|
|
|
- NEW: Improved the interrupt handlers related code. Now interrupts are
|
2009-01-24 17:59:51 +00:00
|
|
|
|
handled in a very similar way in every architecture. See the "Concepts"
|
|
|
|
|
section and the "Writing interrupt handlers under ChibiOS/RT" article in the
|
|
|
|
|
documentation.
|
2009-02-02 12:48:17 +00:00
|
|
|
|
- NEW: Added the chEvtSignal() and chEvtSignalI() APIs that allows direct
|
|
|
|
|
thread signaling, much more efficient that chEvtBroadcast() when the target
|
|
|
|
|
is a known single thread.
|
|
|
|
|
- NEW: Added a configuration option that enables the priority enqueuing on
|
|
|
|
|
semaphores. It is defaulted to off because usually semaphores are used for
|
|
|
|
|
I/O related tasks without hard realtime requirements.
|
2009-02-07 14:59:26 +00:00
|
|
|
|
- NEW: Now the all the options in chconf.h and the various driver headers
|
2010-11-11 11:04:05 +00:00
|
|
|
|
can be overridden externally, for example from within the Makefile.
|
2009-02-07 14:59:26 +00:00
|
|
|
|
The options are no mode a simple define but a define with an assigned
|
2009-02-08 13:02:31 +00:00
|
|
|
|
TRUE/FALSE value within an #ifndef block.
|
2009-02-07 12:42:29 +00:00
|
|
|
|
- NEW: Idle thread hook macro added to the configuration file.
|
2009-02-09 22:01:42 +00:00
|
|
|
|
- NEW: Changed the ARM7 and Cortex-M3 startup files, now the action when
|
|
|
|
|
the main() function returns can be overridden by redefining the symbol
|
|
|
|
|
MainExitHandler.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- OPT: Improved ARM7 thumb port code, thanks to some GCC tricks involving
|
2009-01-22 19:16:43 +00:00
|
|
|
|
registers usage now the kernel is much smaller, faster and most OS APIs
|
2009-01-22 15:37:29 +00:00
|
|
|
|
use less RAM in stack frames (note, this is an ARM7 thumb mode specific
|
|
|
|
|
optimization).
|
2009-02-11 19:37:57 +00:00
|
|
|
|
- CHANGE: Now the API chThdSetPriority() returns the old priority instead
|
|
|
|
|
of void.
|
2009-02-02 12:48:17 +00:00
|
|
|
|
- CHANGE: Modified the signature of the chMsgSendWithEvent() API, it now uses
|
|
|
|
|
a more efficient event signaling method.
|
2009-02-01 10:07:13 +00:00
|
|
|
|
- CHANGE: Removed the field p_tid from the Thread structure and the related
|
2009-02-01 13:24:54 +00:00
|
|
|
|
code, this improved the thread creation scores (~2%) and saves some RAM.
|
|
|
|
|
The trace buffer field cse_tid is now populated with a simple hash of the
|
|
|
|
|
thread pointer as thread identifier.
|
2009-01-11 11:30:46 +00:00
|
|
|
|
- CHANGE: Renamed the macros chSysIRQEnter() and chSysIRQExit() in
|
|
|
|
|
CH_IRQ_PROLOGUE() and CH_IRQ_EPILOGUE() in order to make very clear that
|
|
|
|
|
those are not functions but inlined code. Also introduced a new macro
|
|
|
|
|
CH_IRQ_HANDLER that should be used when declaring an interrupt handler.
|
2009-02-14 16:17:07 +00:00
|
|
|
|
- CHANGE: Renamed several internal initialization functions by removing the
|
2009-02-08 13:02:31 +00:00
|
|
|
|
"ch" prefix because could not be considered system APIs.
|
2009-01-22 20:20:45 +00:00
|
|
|
|
- Improved ARM7 and Cortex-M3 support, new configuration options.
|
2009-01-16 15:41:08 +00:00
|
|
|
|
- Introduced the concept of interrupt classes, see the documentation.
|
2009-01-18 13:44:50 +00:00
|
|
|
|
- Introduced the concept of system states, see the documentation.
|
2009-02-09 22:18:39 +00:00
|
|
|
|
- Huge improvements to the documentation.
|
2009-01-19 13:31:37 +00:00
|
|
|
|
- Articles and notes previously in the wiki now merged in the general
|
2009-01-22 15:37:29 +00:00
|
|
|
|
documentation and updated, the wiki entries are obsolete and will be removed.
|
2009-01-19 15:10:41 +00:00
|
|
|
|
- New application notes and articles added.
|
2009-02-14 06:54:06 +00:00
|
|
|
|
- Added kernel size metrics to the test reports.
|
2009-02-04 15:18:37 +00:00
|
|
|
|
- Removed the inclusion graph from the documentation because the little
|
|
|
|
|
info they add and the size of all the images. It is possible to configure
|
|
|
|
|
Doxygen to have them again (and more graph types).
|
2009-01-05 17:23:24 +00:00
|
|
|
|
|
2009-01-30 17:31:27 +00:00
|
|
|
|
*** 1.0.0 ***
|
|
|
|
|
- License switch, added GPL exception, see exception.txt.
|
|
|
|
|
- Full test cycle and test reports updated.
|
|
|
|
|
- Renamed some occurrences of "Conditional Variable" in "Condition Variable" in
|
|
|
|
|
the documentation.
|
|
|
|
|
- FIX: Fixed some images in the documentation because problems when seen in
|
|
|
|
|
Internet Explorer.
|
|
|
|
|
|
2009-01-22 19:16:43 +00:00
|
|
|
|
*** 1.0.0rc3 ***
|
|
|
|
|
- FIX: Fixed a nasty regression to the timeout unified code that affected
|
|
|
|
|
some APIs since version 0.5.3. See the bug tracker for more details.
|
|
|
|
|
Added a test case about this.
|
|
|
|
|
- FIX: Removed the API chThdSuspend() there was a conceptual flaw and I want
|
|
|
|
|
to think about the whole concept again before introducing something similar
|
|
|
|
|
in future. Anyway, it is possible to replicate the functionality using
|
|
|
|
|
chSchGoSleepS().
|
|
|
|
|
- Fixed typos here and there.
|
|
|
|
|
- Updated the states diagram in the documentation.
|
|
|
|
|
|
2009-01-05 17:23:24 +00:00
|
|
|
|
*** 1.0.0rc2 ***
|
|
|
|
|
- FIX: Removed unused variable "retaddr" from the Cortex-M3 port.
|
2009-01-06 09:32:35 +00:00
|
|
|
|
- FIX: The macro THD_WA_SIZE was defined wrongly in the file
|
|
|
|
|
./src/templates/chcore.h.
|
2009-01-09 20:23:21 +00:00
|
|
|
|
- Fixed some errors in the documentation.
|
2009-01-05 17:23:24 +00:00
|
|
|
|
|
2008-12-29 12:12:53 +00:00
|
|
|
|
*** 1.0.0rc1 ***
|
|
|
|
|
- NEW: Added new macros CH_KERNEL_VERSION set to "1.0.0rc1", CH_KERNEL_MAJOR
|
2008-12-29 11:06:49 +00:00
|
|
|
|
set to 1, CH_KERNEL_MINOR set to 0, CH_KERNEL_PATCH set to 0.
|
|
|
|
|
The macros will be updated to reflect the actual kernel version number.
|
2008-12-29 12:12:53 +00:00
|
|
|
|
- NEW: Made all the port-specific configuration settings externally
|
|
|
|
|
configurable, see the documentation.
|
2008-12-28 10:07:46 +00:00
|
|
|
|
- FIX: Disabled the configuration option CH_USE_MESSAGES_PRIORITY from the
|
|
|
|
|
MSP430 demo, the default for this option should be off.
|
2008-12-29 08:58:17 +00:00
|
|
|
|
- FIX: Fixed a bug that prevented the THREAD_EXT_FIELDS to be compiled into
|
|
|
|
|
the Thread structure.
|
2008-12-29 11:38:21 +00:00
|
|
|
|
- FIX: Removed some references to deprecated APIs from the test suite.
|
2008-12-30 18:15:30 +00:00
|
|
|
|
- FIX: Set the INT_REQUIRED_STACK configuration value for the ARM7 port to a
|
|
|
|
|
safer 0x10, it was previously 0 (correct but trimmed to specific compiler
|
|
|
|
|
settings).
|
2009-01-09 20:23:21 +00:00
|
|
|
|
- FIX: Set the INT_REQUIRED_STACK configuration value for the AVR port to a
|
2008-12-30 18:15:30 +00:00
|
|
|
|
safer 32.
|
2008-12-29 12:53:10 +00:00
|
|
|
|
- FIX: Fixed the MinGW demo in order to not use any deprecated construct.
|
2008-12-29 08:58:17 +00:00
|
|
|
|
- Removed deprecated threads APIs: chThdCreate() and chThdCreateFast().
|
2008-12-28 11:17:09 +00:00
|
|
|
|
- Removed deprecated events APIs: chEvtWait(), chEvtWaitTimeout(), chEvtSend(),
|
|
|
|
|
chEvtSendI(), EventMask().
|
2008-12-28 10:07:46 +00:00
|
|
|
|
- Removed deprecated configuration feature CH_USE_EXIT_EVENT and the related
|
2008-12-31 09:41:14 +00:00
|
|
|
|
API chThdGetExitEventSource(). The feature can be reimplemented in user code
|
|
|
|
|
as shown by the MinGW demo.
|
2008-12-28 11:17:09 +00:00
|
|
|
|
- Removed deprecated macros: WorkingArea(), UserStackSize(), StackAlign().
|
2008-12-27 10:31:16 +00:00
|
|
|
|
- Added usage note into the readme of the MinGW demo.
|
2008-12-28 13:17:52 +00:00
|
|
|
|
- Added usage notes for programmers to the ARM7 port documentation about
|
|
|
|
|
interrupt handlers.
|
2008-12-29 11:38:21 +00:00
|
|
|
|
- Port-specific settings added to the documentation.
|
2008-12-30 10:21:01 +00:00
|
|
|
|
- Added source browser to the documentation.
|
2008-12-28 13:40:49 +00:00
|
|
|
|
- Fixes and improvements through the documentation.
|
2008-12-27 10:31:16 +00:00
|
|
|
|
|
2008-12-07 10:21:40 +00:00
|
|
|
|
*** 0.8.3 ***
|
2008-12-23 08:47:30 +00:00
|
|
|
|
- NEW: Introduced new API chThdSleepS() as a macro, no real changes in the
|
2008-12-28 10:07:46 +00:00
|
|
|
|
kernel code.
|
2008-12-13 09:55:16 +00:00
|
|
|
|
- FIX: The MinGW simulated demo now works again after breaking in 0.8.2
|
|
|
|
|
because the changes to the macro names.
|
|
|
|
|
- FIX: Adjusted the test suite stack sizes for the MinGW simulated demo, now
|
|
|
|
|
the demo passes all the tests.
|
2008-12-13 10:34:39 +00:00
|
|
|
|
- FIX: Added fflush(stdout) to the MinGW simulation code output in order to
|
|
|
|
|
make the Eclipse console work correctly.
|
|
|
|
|
- FIX: Renamed the MinGW demo main source from demo.c to main.c in order to
|
|
|
|
|
follow the pattern of all the other demos.
|
|
|
|
|
- FIX: Added debug switches to the MinGW simulated demo, not it is possible to
|
2008-12-13 09:55:16 +00:00
|
|
|
|
debug the demo (and the kernel) inside Eclipse without a physical board.
|
2008-12-13 10:34:39 +00:00
|
|
|
|
- Removed lots of old deprecated constructs from the MinGW simulated demo.
|
|
|
|
|
There are still some, the demo will need some rework before version 1.0.0.
|
2008-12-07 10:21:40 +00:00
|
|
|
|
- Updated the C++ wrapper with the latest APIs changes and fixed some bugs.
|
|
|
|
|
- Small fixes to the documentation.
|
|
|
|
|
|
2008-11-21 20:06:17 +00:00
|
|
|
|
*** 0.8.2 ***
|
2008-12-06 10:59:44 +00:00
|
|
|
|
- FIX: Included the files that were missing from version 0.8.1 distribution.
|
2008-11-21 20:06:17 +00:00
|
|
|
|
- FIX: Duplicated sections in the documentation removed.
|
2008-11-29 12:56:26 +00:00
|
|
|
|
- FIX: Minor problem in Cortex-M3 and AVR ports when the kernel is compiled
|
|
|
|
|
using G++.
|
2008-11-27 19:38:03 +00:00
|
|
|
|
- NEW: Added chPoolAllocI() and chPoolFreeI() APIs in order to allow the use
|
|
|
|
|
of memory pools from interrupt handlers and timer callbacks.
|
2008-12-06 10:59:44 +00:00
|
|
|
|
- CHANGE: Simplified the code for chThdWait(), it is now both smaller and
|
|
|
|
|
faster. Added an important usage note to the documentation of this API.
|
2008-11-29 10:54:24 +00:00
|
|
|
|
- CHANGE: The macros WorkingArea(), UserStackSize() and StackAlign() are now
|
|
|
|
|
deprecated and will be removed in version 1.0.0. Use the new equivalents
|
|
|
|
|
WORKING_AREA(), THD_WA_SIZE() and STACK_ALIGN() instead.
|
|
|
|
|
- CHANGE: Renamed the default idle thread function from _IdleThread() to
|
|
|
|
|
_idle().
|
2008-12-06 11:42:25 +00:00
|
|
|
|
- Added to the LPC2148 and STM32 load scripts the options "ALIGN(16)
|
|
|
|
|
SUBALIGN(16)" to the flash loading section in order to enforce the alignment
|
|
|
|
|
for both the code and read only data. This is done in order to obtain more
|
|
|
|
|
accurate timings from benchmarks, those families have 16 bytes
|
|
|
|
|
prefetch buffers and are very sensitive to alignment changes.
|
|
|
|
|
You can remove those options in order to save some flash space if accurate
|
|
|
|
|
response time is not on top of your priorities, it mainly depends on your
|
|
|
|
|
requirements.
|
2008-11-21 20:06:17 +00:00
|
|
|
|
|
2008-11-17 18:35:05 +00:00
|
|
|
|
*** 0.8.1 ***
|
|
|
|
|
- FIX: Fixed a regression in version 0.8.0, the configuration switch
|
|
|
|
|
CH_USE_EVENTS_TIMEOUT was redefined as CH_USE_EVENT_TIMEOUT and this broke
|
|
|
|
|
the code using events timeouts (the LPC2148 C++ demo).
|
|
|
|
|
|
2008-11-08 10:58:59 +00:00
|
|
|
|
*** 0.8.0 ***
|
2008-11-09 11:12:11 +00:00
|
|
|
|
- NEW: Added condvars mechanism on top of the mutexes subsystem.
|
2008-11-08 10:58:59 +00:00
|
|
|
|
- NEW: Improved events subsystems, now it is also possible to use it just as
|
|
|
|
|
"event flags" without have to use event handler callbacks.
|
|
|
|
|
Some new APIs were introduced:
|
2008-11-09 09:31:17 +00:00
|
|
|
|
* chEvtWaitOne() - Wait for a single event.
|
|
|
|
|
* chEvtWaitAny() - Wait with OR condition.
|
|
|
|
|
* chEvtWaitAll() - Wait with AND condition.
|
|
|
|
|
* chEvtDispatch() - Invokes the event handlers associated to a mask.
|
|
|
|
|
* chEvtPend() - Quickly self-pends some events.
|
|
|
|
|
* chEvtRegisterMask() - Registers a set of flags on a single source.
|
2008-11-15 09:51:40 +00:00
|
|
|
|
* EVENT_MASK() - Replaces the old EventMask() macro.
|
2008-11-08 10:58:59 +00:00
|
|
|
|
All the "wait"-type APIs have a timeout-capable variant.
|
2008-11-15 09:51:40 +00:00
|
|
|
|
- CHANGE: The old EventMask(), chEvtWait() and chEvtWaitTimeout() APIs are
|
|
|
|
|
now deprecated and will be removed in version 1.0.0.
|
2008-11-05 21:43:21 +00:00
|
|
|
|
- CHANGE: Modified chDbgAssert() to syntax check the condition even when the
|
|
|
|
|
CH_USE_DEBUG is disabled, it produces no code but allows to check the
|
2008-11-08 10:58:59 +00:00
|
|
|
|
optional code without have to compile twice.
|
2008-11-09 09:31:17 +00:00
|
|
|
|
- FIX: Fixed a warning generated by the chEvtIsListening() macro.
|
2008-11-09 12:03:59 +00:00
|
|
|
|
- Added new test cases to the test suite about condvars and the new events
|
|
|
|
|
APIs.
|
2008-11-02 12:43:53 +00:00
|
|
|
|
- Added a new benchmark to the test suite (timers set/reset performance).
|
2008-11-03 21:34:42 +00:00
|
|
|
|
- Renamed the macro fifo_init() to queue_init() because it is used to init
|
|
|
|
|
both FIFO queues and priority queues.
|
2008-11-05 20:56:55 +00:00
|
|
|
|
- Fixes and improvements to the documentation.
|
2008-11-15 10:19:57 +00:00
|
|
|
|
- Cleaned demo applications of old events code.
|
2008-11-02 12:43:53 +00:00
|
|
|
|
|
2008-10-18 09:58:54 +00:00
|
|
|
|
*** 0.7.3 ***
|
2008-10-26 10:45:42 +00:00
|
|
|
|
- FIX: Fixed a bug in chThdSleepUntil(), this API is no more a macro now.
|
|
|
|
|
- NEW: New chThdSleepSeconds(), chThdSleepMilliseconds() and
|
|
|
|
|
chThdSleepMicroseconds() utility macros.
|
|
|
|
|
- CHANGE: Zero is no more a valid time specification for the chVTSetI() API.
|
2008-10-25 11:02:35 +00:00
|
|
|
|
- CHANGE: Removed the files chsleep.c and sleep.h.
|
2008-10-25 10:35:10 +00:00
|
|
|
|
- CHANGE: Renamed the files chdelta.c and delta.h to chvt.c and vt.h. All the
|
2008-10-26 14:03:35 +00:00
|
|
|
|
system time related functions and macros are now there.
|
2008-10-25 10:35:10 +00:00
|
|
|
|
- CHANGE: Renamed the structure DeltaList to VTList, it includes the system
|
|
|
|
|
time counter too now.
|
2008-10-25 09:34:25 +00:00
|
|
|
|
- CHANGE: Removed the CH_USE_SYSTEMTIME and CH_USE_VIRTUAL_TIMER configuration
|
|
|
|
|
options in order to make the chconf.h file simpler. The related subsystems
|
|
|
|
|
are almost always required and are now always included.
|
2008-10-21 18:33:52 +00:00
|
|
|
|
- Small optimization to the MSP430 serial driver.
|
2008-11-01 17:53:25 +00:00
|
|
|
|
- Improvements to the test code, now a failed assert terminates the test case.
|
2008-10-25 07:11:42 +00:00
|
|
|
|
- Added dependency informations handling to the MSP430 demo Makefile.
|
2008-10-18 09:58:54 +00:00
|
|
|
|
- Removed the performance spreadsheet (it was *very* old) and added a
|
2008-10-25 07:11:42 +00:00
|
|
|
|
directory containing the test reports ./docs/reports. Each report shows the
|
|
|
|
|
results from the latest test run on each target.
|
2008-10-26 13:59:19 +00:00
|
|
|
|
- Small fixes to the documentation.
|
2008-10-18 09:58:54 +00:00
|
|
|
|
|
2008-10-04 07:44:48 +00:00
|
|
|
|
*** 0.7.2 ***
|
2008-10-12 17:31:38 +00:00
|
|
|
|
- NEW: Added a serial driver to the MSP430 port, the MSP430 port now has been
|
|
|
|
|
tested on hardware and passes the test suite.
|
2008-10-12 17:51:41 +00:00
|
|
|
|
- NEW: Added to the MSP demo program the option to run from the internal DCO
|
2008-10-15 18:27:58 +00:00
|
|
|
|
or from an external xtal. The default is the internal DCO.
|
|
|
|
|
- NEW: Added macros to convert from seconds, milliseconds and microseconds to
|
|
|
|
|
system ticks. This improves application code portability among different
|
|
|
|
|
ports.
|
2008-10-15 18:29:36 +00:00
|
|
|
|
- CHANGE: Modified the test suite to use the new time conversion macros.
|
2008-10-04 09:31:36 +00:00
|
|
|
|
- CHANGE: Modified the CM3 startup file in order to implement an early
|
2008-10-15 18:53:15 +00:00
|
|
|
|
initialization phase: hwinit0, the late initialization phase is now named
|
2008-10-04 09:31:36 +00:00
|
|
|
|
hwinit1. The demo now initializes the PLL before initializing the BSS and
|
|
|
|
|
DATA segments, this greatly optimizes the system start up time.
|
2008-10-04 10:07:48 +00:00
|
|
|
|
- NEW: Unified ARM7 startup file, it is shared by the LPC and SAM7 demo
|
|
|
|
|
projects. The new startup file implements early and late initialization
|
|
|
|
|
phases as described above for the CM3 startup file.
|
|
|
|
|
The architecture specific vector tables are now encapsulated into the
|
2008-10-04 12:00:18 +00:00
|
|
|
|
vectors.s files.
|
2008-10-04 07:44:48 +00:00
|
|
|
|
- Modified the STM32 demo makefile to use the latest YAGARTO toolchain as
|
|
|
|
|
default (arm-elf-gcc).
|
2008-10-16 20:24:33 +00:00
|
|
|
|
- Documentation improvements, added collaboration diagrams and call graphs.
|
2008-10-17 18:33:35 +00:00
|
|
|
|
Added a documentation-related readme under ./docs.
|
2008-10-12 17:54:43 +00:00
|
|
|
|
|
2008-09-20 15:34:56 +00:00
|
|
|
|
*** 0.7.1 ***
|
2008-09-22 15:29:48 +00:00
|
|
|
|
- NEW: New chThdInit() and chThdCreateStatic() APIs now replace the old
|
2008-09-23 15:04:14 +00:00
|
|
|
|
chThdCreate() and chThdCreateFast() that are thus marked as deprecated.
|
2008-09-22 15:29:48 +00:00
|
|
|
|
The new APIs use one less parameter and are faster.
|
|
|
|
|
- NEW: New dynamic chThdCreateFromHeap() and chthdCreateFromMemoryPool() APIs.
|
|
|
|
|
The dynamic APIs are only included if the CH_USE_DYNAMIC option is specified
|
|
|
|
|
into the project configuration file.
|
2008-09-26 10:46:10 +00:00
|
|
|
|
- NEW: Added an THREAD_EXT_EXIT macro in chconf.h to add finalization code to
|
|
|
|
|
the chThdExit() API.
|
2008-09-24 11:55:40 +00:00
|
|
|
|
- CHANGE: chThdCreateFast() is now a macro that uses chThdCreateStatic().
|
|
|
|
|
- CHANGE: chThdWait() now releases the memory allocated by
|
|
|
|
|
chThdCreateFromHeap() and chthdCreateFromMemoryPool(). Threads created
|
|
|
|
|
through the static APIs are not affected thus the behavior is backward
|
|
|
|
|
compatible.
|
2008-09-24 14:44:42 +00:00
|
|
|
|
- CHANGE: Modified the chThdResume() API to return the resumed thread pointer
|
2008-09-26 10:46:10 +00:00
|
|
|
|
instead of void. This allowed few optimization into the threads creation
|
|
|
|
|
code.
|
|
|
|
|
- CHANGE: The chThdGetExitEventSource() API and the CH_USE_EXIT_EVENT
|
|
|
|
|
configuration option and the are now deprecated. Use the THREAD_EXT_EXIT
|
|
|
|
|
finalization macro in order to implement a similar functionality if needed.
|
2008-09-20 15:34:56 +00:00
|
|
|
|
- FIX: The chThdCreate() had a regression in 0.7.0, the mode parameter was
|
2008-09-24 11:55:40 +00:00
|
|
|
|
ignored.
|
|
|
|
|
- FIX: Removed duplicated call to chHeapInit() into chSysInit().
|
2008-09-24 14:44:42 +00:00
|
|
|
|
- FIX: Fixed a syntax error in chheap.c triggered by the CH_USE_DEBUG option.
|
2008-09-23 15:04:14 +00:00
|
|
|
|
- Added new test cases to the test suite for the new dynamic APIs.
|
2008-09-24 11:55:40 +00:00
|
|
|
|
- Documentation fixes.
|
2008-09-20 15:34:56 +00:00
|
|
|
|
|
2008-08-26 10:38:29 +00:00
|
|
|
|
*** 0.7.0 ***
|
2008-08-28 13:34:46 +00:00
|
|
|
|
- NEW: Memory Heap Allocator functionality added. The allocator implements a
|
|
|
|
|
first-fit strategy but there is an option that allow it to wrap the compiler
|
|
|
|
|
provided malloc() that may implement a different strategy. The heap
|
2008-09-06 08:56:34 +00:00
|
|
|
|
allocator is thread-safe and can use both a mutex or a semaphore as
|
2008-08-28 15:10:54 +00:00
|
|
|
|
internal synchronization primitive.
|
2008-08-26 10:38:29 +00:00
|
|
|
|
- NEW: Memory Pools functionality added, this mechanism allows constant-time
|
2008-08-28 13:34:46 +00:00
|
|
|
|
allocation/freeing of constant-size objects. It can be used to dynamically
|
|
|
|
|
allocate kernel objects like Semaphores, Mutexes, Threads etc fully in real
|
|
|
|
|
time, of course it is also possible to manage application-defined objects.
|
2008-08-28 15:10:54 +00:00
|
|
|
|
The pool allocator is thread-safe.
|
2008-09-03 13:24:21 +00:00
|
|
|
|
It is worth remembering that the kernel is still entirely static, it does
|
|
|
|
|
not use the allocation services internally, it is up to the application
|
|
|
|
|
code to use the allocators in order to use dynamic system objects.
|
2008-08-28 13:34:46 +00:00
|
|
|
|
Both the allocators can be disabled and removed from the memory image.
|
2008-09-05 13:04:28 +00:00
|
|
|
|
- NEW: Added option macros in chconf.h to add custom fields and initialization
|
|
|
|
|
code to the Thread structure.
|
2008-09-03 10:58:43 +00:00
|
|
|
|
- FIX: Corrected the wrong definition of the chThdResumeI() macro.
|
2008-09-03 12:43:02 +00:00
|
|
|
|
- FIX: The API chSemWaitTimeout() was missing in the documentation.
|
2008-09-11 15:03:25 +00:00
|
|
|
|
- CHANGE: Modified the chMtxUnlock() and chMtxUnlockS() APIs to return the
|
|
|
|
|
pointer to the released mutex instead of void.
|
2008-09-13 09:01:16 +00:00
|
|
|
|
- CHANGE: Now the chThdResume() API asserts that the thread is in PRSUSPEND
|
|
|
|
|
state rather than test it.
|
2008-09-03 12:18:39 +00:00
|
|
|
|
- CHANGE: Removed the CH_USE_TERMINATE, CH_USE_SLEEP, CH_USE_SUSPEND and
|
|
|
|
|
CH_USE_RESUME configuration options in order to make the chconf.h file
|
|
|
|
|
simpler. The related functions are very small and almost always required.
|
2008-09-06 08:56:34 +00:00
|
|
|
|
- CHANGE: The P_MSGBYPRIO thread option has been removed, now the threads
|
|
|
|
|
always serve messages in priority order if the CH_USE_MESSAGES_PRIORITY
|
|
|
|
|
configuration option is active.
|
2008-08-28 13:34:46 +00:00
|
|
|
|
- Added new test cases to the test suite.
|
2008-08-26 10:38:29 +00:00
|
|
|
|
|
2008-08-08 09:31:54 +00:00
|
|
|
|
*** 0.6.10 ***
|
|
|
|
|
- FIX: Fixed a case-sensitiveness error in lpc214x_ssp.c, it affected only
|
|
|
|
|
linux/unix users.
|
|
|
|
|
- FIX: Fixed a regression introduced in version 0.6.9, the queues benchmark
|
|
|
|
|
test case was missing from the tests list.
|
2008-08-25 13:00:11 +00:00
|
|
|
|
- NEW: Added an option to the ARM7 ports, by specifying -DREENTRANT_LOCKS in
|
2008-08-25 13:03:30 +00:00
|
|
|
|
the makefile options makes the chSysLock() and chSysUnlock() become
|
|
|
|
|
reentrant. The code becomes a bit larger and slower, use it only if your
|
|
|
|
|
application really needs to invoke system API under lock.
|
2008-08-25 14:17:38 +00:00
|
|
|
|
- NEW: Added an option to the ARM7 and CM3 makefiles to strip any unused code
|
|
|
|
|
and data from the binary file (the default is on).
|
2008-08-08 09:31:54 +00:00
|
|
|
|
|
2008-07-25 14:32:39 +00:00
|
|
|
|
*** 0.6.9 ***
|
|
|
|
|
- NEW: Added an option to exclude the support for the round robin scheduling,
|
|
|
|
|
this can save some extra program space and makes the context switch a bit
|
2008-07-26 17:45:04 +00:00
|
|
|
|
faster if the feature is not required. Threads at the same priority level
|
|
|
|
|
are still supported when the feature is disabled but the scheduling among
|
|
|
|
|
them becomes cooperative.
|
2010-03-18 16:01:11 +00:00
|
|
|
|
- OPT: Improved reschedule time by reordering the sequence of operations,
|
2008-07-30 11:01:56 +00:00
|
|
|
|
now during enqueuing the ready list contains one less element. This change
|
|
|
|
|
also slightly improves the interrupt latency.
|
|
|
|
|
- OPT: Optimization to the chSemReset(), reversed the order of dequeuing.
|
2008-07-26 11:40:09 +00:00
|
|
|
|
- FIX: Fixed a bug in the chThdSetPriority() API.
|
2008-07-26 17:39:01 +00:00
|
|
|
|
- FIX: Modified the structure names into nvic.h in order to not make them
|
|
|
|
|
collide with external libraries.
|
2010-03-18 16:01:11 +00:00
|
|
|
|
- Added a benchmark to the test suit that measures the mass reschedule
|
2008-07-30 11:01:56 +00:00
|
|
|
|
performance.
|
2008-07-30 14:56:35 +00:00
|
|
|
|
- Added a test_terminate_threads() function to the test framework.
|
2008-07-25 15:13:41 +00:00
|
|
|
|
- Made the Cortex-M3 port preemption code more readable.
|
2008-08-01 09:24:16 +00:00
|
|
|
|
- Added a ENABLE_WFI_IDLE option to the chcore.h file in the Cortex-M3 port,
|
|
|
|
|
setting this option to 1 enables the kernel to enter a low power mode when
|
|
|
|
|
executing the idle thread. Be careful however, this option can be not
|
2008-08-01 09:27:27 +00:00
|
|
|
|
compatible with some JTAG probes, it is better to enable it only on final
|
2008-08-01 09:24:16 +00:00
|
|
|
|
builds and not when debugging.
|
2008-07-25 14:32:39 +00:00
|
|
|
|
|
2008-07-22 09:55:51 +00:00
|
|
|
|
*** 0.6.8 ***
|
|
|
|
|
- FIX: Fixed a bug in the priority inheritance mechanism, the bug was only a
|
|
|
|
|
problems when the CH_USE_MESSAGES_PRIORITY was enabled, this option is
|
|
|
|
|
disabled by default in ChibiOS/RT so it should not affect any user.
|
2008-07-23 10:38:16 +00:00
|
|
|
|
- CHANGE: The function chEvtSend() and chEvtSendI() are now renamed in
|
|
|
|
|
chEvtBroadcast() and chEvtBroadcastI(), the old names are still available
|
|
|
|
|
but are deprecated.
|
2008-07-23 10:22:14 +00:00
|
|
|
|
- Made the default BASEPRI levels (CM3 port) configurable into chcore.h.
|
2008-07-23 10:38:16 +00:00
|
|
|
|
- Many improvements to the documentation.
|
|
|
|
|
- All the fixes and changes in this release were suggested/submitted by
|
|
|
|
|
Leon Woestenberg (thank you).
|
2008-07-22 09:55:51 +00:00
|
|
|
|
|
2008-07-02 12:32:13 +00:00
|
|
|
|
*** 0.6.7 ***
|
2008-07-04 09:50:46 +00:00
|
|
|
|
- NEW: New chThdCreateFast() API, it is a simplified form of chThdCreate()
|
2008-07-05 07:11:12 +00:00
|
|
|
|
that allows even faster threads creation. The new API does not support
|
|
|
|
|
the "mode" and "arg" parameters (still available in the old API).
|
|
|
|
|
- OPT: Removed an unrequired initialization and made other small optimizations
|
|
|
|
|
to the chThdCreate().
|
2008-07-02 14:01:18 +00:00
|
|
|
|
- OPT: Improvements to the test framework, now a virtual timer is used instead
|
2009-01-22 15:37:29 +00:00
|
|
|
|
of software loops into the benchmarks in order to have more stable results.
|
2008-07-06 08:45:08 +00:00
|
|
|
|
- New benchmark added to the test suite.
|
2008-07-02 12:32:13 +00:00
|
|
|
|
- Added the C++ wrapper entries to the documentation.
|
2008-07-04 09:50:46 +00:00
|
|
|
|
- Fixed the documentation entry for the chThdCreate() API.
|
2008-07-07 12:38:56 +00:00
|
|
|
|
- Removed redundant ifdefs from the ch.h header.
|
2008-07-02 12:32:13 +00:00
|
|
|
|
|
2008-06-19 13:14:32 +00:00
|
|
|
|
*** 0.6.6 ***
|
2008-06-26 10:54:55 +00:00
|
|
|
|
- NEW: Improved test suite, now the suite is divided in modules and the code
|
|
|
|
|
is much easier to understand. The new framework simplifies the inclusion of
|
|
|
|
|
new test cases and makes possible to verify the exact sequence and the
|
|
|
|
|
timing of test events.
|
|
|
|
|
- NEW: New API chSysInTimeWindow() that checks if the current system time is
|
|
|
|
|
within the specified time window.
|
2008-06-26 14:35:14 +00:00
|
|
|
|
- FIX: Mutex test #1 in the test suite corrected, it failed to... fail.
|
2008-06-25 11:53:39 +00:00
|
|
|
|
- FIX: Fixed a problem in the STM32 port USART1 driver.
|
2008-07-02 14:01:18 +00:00
|
|
|
|
- FIX: Fixed a problem in the MMC/SD driver in the LPC2148 demo.
|
2008-06-19 13:14:32 +00:00
|
|
|
|
- Added the definitions for packed structures to the chtypes.h files.
|
2008-06-26 14:06:21 +00:00
|
|
|
|
- Improvements to the makefiles, now each source group has its own .mk include
|
|
|
|
|
file. Now it is no more required to rewrite everything in each makefile.
|
2008-06-19 13:14:32 +00:00
|
|
|
|
|
2008-05-16 09:17:25 +00:00
|
|
|
|
*** 0.6.5 ***
|
2008-05-27 09:30:20 +00:00
|
|
|
|
- NEW: Web server demo for the AT91SAM7X256, the demo integrates the uIP
|
|
|
|
|
stack and its demo applications.
|
|
|
|
|
- NEW: EMAC driver added to the AT91SAM7X port.
|
2008-05-16 15:09:49 +00:00
|
|
|
|
- FIX: Small fix to the ARM7 startup files. It used a short jump in the reset
|
2008-05-20 12:44:49 +00:00
|
|
|
|
vector and that could fail in some memory configurations.
|
2008-05-31 07:51:10 +00:00
|
|
|
|
- Documentation improvements.
|
2008-05-16 09:17:25 +00:00
|
|
|
|
|
2008-04-23 08:36:16 +00:00
|
|
|
|
*** 0.6.4 ***
|
2008-05-08 15:32:09 +00:00
|
|
|
|
- NEW: MSP430 port, the port code compiles correctly but it is not tested yet.
|
|
|
|
|
The port requires the MSPGCC toolchain.
|
2008-05-07 13:08:43 +00:00
|
|
|
|
- NEW: Added a CH_ARCHITECTURE_xxx define to the various chcore.h files, it
|
|
|
|
|
allows to write port-dependent code.
|
2008-05-08 15:32:09 +00:00
|
|
|
|
- NEW: Added to the documentation the technical notes about the currently
|
|
|
|
|
supported ports.
|
2008-05-07 13:08:43 +00:00
|
|
|
|
- FIX: In the ARM7 and ARMCM3 ports chanced the bool_t base type from int8_t
|
|
|
|
|
to int32_t, this produces a bit faster and smaller code.
|
2008-05-08 15:32:09 +00:00
|
|
|
|
It is nowhere required the bool_t type to be one byte sized.
|
2008-05-07 13:08:43 +00:00
|
|
|
|
- FIX: Small fixes to the template files, there were some leftovers of the old
|
|
|
|
|
type names.
|
|
|
|
|
- FIX: Modified the ARM demos makefiles in order to make them more compatible
|
|
|
|
|
with GCC 4.3.0, it seems the new GCC assumes -mthumb-interworking and
|
|
|
|
|
-mabi=apcs by default, at least the builds I tested did so, now the makefiles
|
2008-04-23 15:42:26 +00:00
|
|
|
|
explicitly assert -mno-thumb-interworking and -mabi=apcs-gnu in order to
|
|
|
|
|
produce better code.
|
2008-05-08 15:32:09 +00:00
|
|
|
|
- Added an Ethernet driver for AT91SAM7X EMAC, not complete yet, it will be
|
2008-05-07 13:08:43 +00:00
|
|
|
|
required by a uIP web server demo under ChibiOS/RT coming in some next
|
|
|
|
|
release.
|
2008-05-07 12:00:55 +00:00
|
|
|
|
|
2008-04-09 15:26:18 +00:00
|
|
|
|
*** 0.6.3 ***
|
2008-04-18 12:33:52 +00:00
|
|
|
|
- NEW: ARM Cortex-M3 port completed. The demo program targets the STM32F103
|
|
|
|
|
chip from ST Microelectronics on an Olimex STM32-P103 board.
|
2008-04-18 15:08:39 +00:00
|
|
|
|
- FIX: Fixed a minor error in ./ports/ARM7-LPC214x/vic.h, it should not affect
|
|
|
|
|
anything.
|
|
|
|
|
- FIX: Minor fix: in chThdCreate() a working area size equal to
|
|
|
|
|
UserStackSize(0) was asserted as an error when in debug mode. It is now
|
|
|
|
|
allowed.
|
|
|
|
|
- FIX: Increased the stack size for the threads in the test suite to 128 bytes
|
2008-04-17 14:44:21 +00:00
|
|
|
|
because THUMB/THUMB2 modes seem to use a lot more stack than ARM mode.
|
2008-04-09 15:26:18 +00:00
|
|
|
|
|
2008-03-17 15:43:03 +00:00
|
|
|
|
*** 0.6.2 ***
|
2008-03-26 16:25:26 +00:00
|
|
|
|
- NEW: Added C++ wrapper around the ChibiOS/RT core APIs, now it is possible
|
|
|
|
|
to use the OS in a fully object oriented application. The wrapper offers
|
|
|
|
|
classes that encapsulate threads, semaphores, mutexes, timers etc. Normal C
|
|
|
|
|
APIs are still accessible from C++ code as usual.
|
|
|
|
|
- NEW: Added a new LPC2148 demo using the new C++ wrapper, it is a good
|
|
|
|
|
example of C++ used for an embedded application. The demo does not use RTTI
|
|
|
|
|
nor standard libraries so the resulting code is very compact.
|
2008-03-27 12:33:31 +00:00
|
|
|
|
- Enhanced the chSemSignalWait() API to return the wakeup message just like
|
2008-04-23 10:37:10 +00:00
|
|
|
|
the other "Wait" semaphore functions do.
|
2008-03-18 16:31:24 +00:00
|
|
|
|
- Fixed a minor problem in the ARM7 port, the extctx structure definition was
|
|
|
|
|
missing one field, the effect was to allocate stacks 4 bytes shorter than
|
|
|
|
|
the declared size.
|
2008-03-26 16:25:26 +00:00
|
|
|
|
- Fixed a compile time error into the chThdSleepUntil() macro.
|
|
|
|
|
- Fixes in various headers to make some macros compatible with both C and C++.
|
2008-03-27 12:33:31 +00:00
|
|
|
|
- Fixed a regression in the LPC214x minimal demo that broke interrupt
|
|
|
|
|
handling.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Some fixes to the doxygen documentation.
|
2008-03-27 12:33:31 +00:00
|
|
|
|
- More work done on the ARM-CM3 port but it is still not complete.
|
2008-03-17 15:43:03 +00:00
|
|
|
|
|
2008-03-11 14:32:04 +00:00
|
|
|
|
*** 0.6.1 ***
|
|
|
|
|
- Removed some redundant checks from the scheduler code: improved threads
|
2008-03-12 15:23:10 +00:00
|
|
|
|
flyback time, reduced interrupts service time.
|
|
|
|
|
- Nice scheduler speed improvement obtained by removing the 2nd parameter to
|
2008-03-12 11:24:24 +00:00
|
|
|
|
the chSchReadyI() API and manually assigning the message value only where
|
|
|
|
|
is really needed (very few points in the code).
|
2008-03-12 21:22:42 +00:00
|
|
|
|
- More space savings and speed improvements obtained by removing the
|
2008-03-12 21:05:13 +00:00
|
|
|
|
-fno-strict-aliasing option from the makefiles, now the kernel compiles
|
2008-03-12 21:22:42 +00:00
|
|
|
|
without any warning even without this option.
|
2008-03-11 14:32:04 +00:00
|
|
|
|
- Removed the -falign-functions=16 option from the AT91SAM7X demo makefiles,
|
|
|
|
|
the Atmel chip does not require it, the option is still present on the
|
2008-03-12 21:22:42 +00:00
|
|
|
|
LPC21xx demos. This saves significant program space.
|
2008-03-15 08:49:15 +00:00
|
|
|
|
- Started work on ARM Cortex-M3 architecture. The target chip is the STM32F103
|
2008-03-13 14:41:17 +00:00
|
|
|
|
on a Olimex STM32-P103 board.
|
2008-03-14 16:08:11 +00:00
|
|
|
|
- Added a threads state diagram to the documentation.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Various fixes to the doxygen documentation.
|
2008-03-11 14:32:04 +00:00
|
|
|
|
|
2008-03-05 10:59:11 +00:00
|
|
|
|
*** 0.6.0 ***
|
2008-03-03 15:52:55 +00:00
|
|
|
|
- Code refactory, all the old sized-integer definitions like LONG32, UWORD16
|
|
|
|
|
etc are now replaced by the proper definitions provided by the compiler
|
2008-03-05 10:59:11 +00:00
|
|
|
|
into stdint.h.
|
|
|
|
|
- Code refactory, the previous system types style using a t_ in front of the
|
|
|
|
|
name has been replaced with the standard trailing _t. The system now uses
|
|
|
|
|
the size_t type defined into stddef.h. Some type names were modified in
|
|
|
|
|
order to not match commonly used type names.
|
|
|
|
|
- The above changes have an impact on some API prototypes but we can't help
|
2008-03-06 16:05:42 +00:00
|
|
|
|
it, the changes were required because the type names were a concern for
|
2008-03-05 10:59:11 +00:00
|
|
|
|
some users.
|
|
|
|
|
- Implemented a serial driver in the AVR port.
|
2008-03-07 15:24:00 +00:00
|
|
|
|
- Implemented a simple HD44780 LCD driver into the AVRmega128 demo.
|
2008-03-06 11:38:11 +00:00
|
|
|
|
- Reworked the AVR AT90CAN128 port to share the common AVR code.
|
2008-03-05 15:56:12 +00:00
|
|
|
|
- Modified the test suite to be compatible with 8 bit micros.
|
2008-03-04 10:33:38 +00:00
|
|
|
|
- MSVC demo dropped, it is still possible to use the MinGW demo as simulator
|
|
|
|
|
in Win32.
|
2008-03-04 16:08:22 +00:00
|
|
|
|
- Fixed a minor error in sam7x_serial.h and lpc214x_serial.h.
|
2008-03-05 15:56:12 +00:00
|
|
|
|
- The kernel is *unchanged* compared to version 0.5.3 except for the type
|
|
|
|
|
names but the change is important enough to make this a recommended update.
|
2008-03-03 15:52:55 +00:00
|
|
|
|
|
2008-02-22 11:09:02 +00:00
|
|
|
|
*** 0.5.5 ***
|
2008-03-01 09:54:08 +00:00
|
|
|
|
- Added an AVRmega128 port. The previous AT90CANx port is still present but
|
|
|
|
|
it will be redone after the AVRmega128 port is complete because it will
|
2008-03-01 09:55:14 +00:00
|
|
|
|
share most of it. The demo is very simple, it will be expanded in next
|
|
|
|
|
releases.
|
2008-02-22 11:09:02 +00:00
|
|
|
|
- Reorganized the code of the two ARM7 ports, now all the common ARM7 code
|
2008-02-27 15:53:49 +00:00
|
|
|
|
is in ./ports/ARM7. This will make maintenance and new ARM7 ports much much
|
2008-02-22 11:09:02 +00:00
|
|
|
|
easier.
|
2008-02-22 15:23:32 +00:00
|
|
|
|
- Simplified the directory structure under ./ports.
|
|
|
|
|
- Added to the readme a section with our future plans/ideas.
|
2008-02-27 15:53:49 +00:00
|
|
|
|
- The kernel is *unchanged* compared to version 0.5.3, just the new port and
|
|
|
|
|
the new demo were added.
|
2008-02-22 11:09:02 +00:00
|
|
|
|
|
2008-02-06 14:41:28 +00:00
|
|
|
|
*** 0.5.4 ***
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Port for Atmel AT91SAM7X256 introduced, the port should be usable also on
|
2008-02-19 16:29:25 +00:00
|
|
|
|
SAM7S and SAM7XC but no tests were performed. Other SAM7 processors should
|
2009-01-22 15:37:29 +00:00
|
|
|
|
also be usable with limited changes.
|
2008-02-19 16:29:25 +00:00
|
|
|
|
The demo currently just performs basic operations, will be enhanced in next
|
2008-02-21 13:31:30 +00:00
|
|
|
|
ChibiOS/RT releases, see the demo readme.txt file.
|
2008-02-21 15:10:49 +00:00
|
|
|
|
- Small fix to the thumb mode IRQ code on the LPC214x port, removed some extra
|
|
|
|
|
code.
|
2008-02-27 15:53:49 +00:00
|
|
|
|
- The kernel is *unchanged* compared to version 0.5.3, just the new port and
|
|
|
|
|
the new demo were added.
|
2008-02-06 14:41:28 +00:00
|
|
|
|
|
2008-01-23 14:50:42 +00:00
|
|
|
|
*** 0.5.3 ***
|
2008-01-25 10:07:18 +00:00
|
|
|
|
- Removed the chMsgSendTimeout() API, it was conceptually flawed because,
|
2008-01-23 14:50:42 +00:00
|
|
|
|
after sending a message, the sender *has* to wait for the answer or
|
|
|
|
|
the next sender in queue would receive it instead (the messages server has
|
|
|
|
|
no way to know that the sender is gone because a timeout).
|
|
|
|
|
A workaround would make the messages subsystem much heavier and this is
|
2008-01-25 10:11:55 +00:00
|
|
|
|
not acceptable.
|
2008-01-23 14:50:42 +00:00
|
|
|
|
- Removed the test case for chMsgSendTimeout() from the test suite.
|
|
|
|
|
- Space saved by reorganizing the timeout code into a single scheduler
|
2008-01-25 10:43:05 +00:00
|
|
|
|
function chSchGoSleepTimeoutS().
|
2008-01-25 10:07:18 +00:00
|
|
|
|
- Space optimizations in the semaphores code.
|
2008-01-23 14:50:42 +00:00
|
|
|
|
- The API chThdSleepUntil() become a macro saving some more code space.
|
2008-01-25 10:07:18 +00:00
|
|
|
|
- Because all the above changes the kernel code (ARM) is over 700 bytes
|
2008-01-23 14:50:42 +00:00
|
|
|
|
smaller.
|
|
|
|
|
|
2008-01-10 13:52:44 +00:00
|
|
|
|
*** 0.5.2 ***
|
2008-01-17 09:34:46 +00:00
|
|
|
|
- Fixed a small problem in the main header file ch.h.
|
2008-01-10 13:52:44 +00:00
|
|
|
|
- Small reordering in the fields of the Thread structure in order to optimize
|
|
|
|
|
the space when messages are not used.
|
|
|
|
|
|
2008-01-01 17:45:25 +00:00
|
|
|
|
*** 0.5.1 ***
|
2008-01-07 14:06:46 +00:00
|
|
|
|
- NEW: Priority enqueing for messages can be optionally enabled by specifying
|
2008-01-08 13:41:04 +00:00
|
|
|
|
the P_MSGBYPRIO option when creating a message server thread.
|
2008-01-07 14:06:46 +00:00
|
|
|
|
This change allows the implementation of a priority ceiling protocol into
|
|
|
|
|
message servers threads. Threads serving messages by priority and threads
|
2009-01-22 15:37:29 +00:00
|
|
|
|
serving messages in FIFO order can exist at the same time in the system.
|
2008-01-07 14:16:06 +00:00
|
|
|
|
This feature can be enabled or disabled by toggling the option
|
|
|
|
|
CH_USE_MESSAGES_PRIORITY into the chconf.h file (disabled by default, old
|
|
|
|
|
behavior).
|
2008-01-07 14:06:46 +00:00
|
|
|
|
Note: This option brings a small overhead when sending a message regardless
|
2009-01-22 15:37:29 +00:00
|
|
|
|
if in FIFO or priority order, if you don't need priority ordering for your
|
2008-02-25 16:29:25 +00:00
|
|
|
|
messages it is better to keep the feature disabled in chconf.h.
|
2008-01-01 17:45:25 +00:00
|
|
|
|
- Added to the ARM demos load scripts the capability to load code in RAM
|
|
|
|
|
instead flash, the function must be marked as:
|
|
|
|
|
__attribute__((section(".ramtext")))
|
2008-01-07 10:49:59 +00:00
|
|
|
|
The option -mlong-calls should be specified in the makefile too or the
|
|
|
|
|
function declared with the "long-call" attribute.
|
|
|
|
|
- Fixed the MSVC demo project files.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Fixed some syntax incompatibilities between GCC and MSVC into chmtx.c.
|
2008-01-01 17:45:25 +00:00
|
|
|
|
|
2007-12-16 19:01:30 +00:00
|
|
|
|
*** 0.5.0 ***
|
2007-12-19 11:23:56 +00:00
|
|
|
|
- NEW: Mutexes, the new mechanism provides a complete implementation of the
|
|
|
|
|
"priority inheritance" algorithm as a tool for work around the priority
|
|
|
|
|
inversion problem.
|
2007-12-17 14:57:44 +00:00
|
|
|
|
The Mutexes are not meant to replace the Semaphores that still are the best
|
|
|
|
|
synchronization mechanism between interrupt handlers and high level
|
|
|
|
|
code, something that Mutexes cannot do.
|
2007-12-16 19:01:30 +00:00
|
|
|
|
Soon an article will be added to the wiki describing pro and cons of the
|
|
|
|
|
various mechanisms and the correct use cases.
|
|
|
|
|
- RT Semaphores subsystem removed, the Mutexes implements a better solution
|
|
|
|
|
for the same problem.
|
2007-12-22 11:34:39 +00:00
|
|
|
|
- Fixed a bug in the round robin scheduling mode, see the bug tracker for
|
|
|
|
|
details and a fix for previous versions.
|
2007-12-22 12:43:37 +00:00
|
|
|
|
- More performance improvements to the scheduler. The ready list insertion
|
|
|
|
|
sequence is now reversed, it is scanned starting from the highest priority
|
|
|
|
|
end. This has an important side effect into the chSchWakeupS() that makes
|
|
|
|
|
most of the ready list insertions happen in constant time (extraction is
|
|
|
|
|
done always in constant time).
|
2007-12-22 11:34:39 +00:00
|
|
|
|
The worst case is always proportional to the number of threads in the ready
|
|
|
|
|
list but the normal case is much more often constant than linear. See the
|
|
|
|
|
new benchmarks added to the test suite.
|
2007-12-21 15:27:59 +00:00
|
|
|
|
- Added mutexes test cases and new benchmarks to the test suite.
|
2007-12-17 14:57:44 +00:00
|
|
|
|
- Modified the test suite in order to have each test case to have the same
|
|
|
|
|
alignment enforced on functions. This is done to reduce MAM/Cache alignment
|
|
|
|
|
effects on the measurement.
|
|
|
|
|
- IRQ entry/exit code is now encapsulated into two new macros, see chcore.h
|
|
|
|
|
for details.
|
2007-12-18 10:46:23 +00:00
|
|
|
|
- All the asm code previously in chcore2.s is now inline asm code in chcore.c
|
2007-12-18 14:00:01 +00:00
|
|
|
|
(ARM port), chcore2.s removed.
|
2007-12-18 09:41:28 +00:00
|
|
|
|
- Moved all the board specific definitions/code into two new files: board.c
|
|
|
|
|
and board.h. Moved all the files no more board-dependent under ports/
|
|
|
|
|
(ARM port).
|
2007-12-18 14:00:01 +00:00
|
|
|
|
- Improved the kernel performance in THUMB mode by better exploiting MAM
|
2007-12-18 16:26:42 +00:00
|
|
|
|
locality in some critical functions. The context switch benchmark shows
|
|
|
|
|
5% improved speed.
|
2007-12-16 19:01:30 +00:00
|
|
|
|
|
2007-12-09 09:16:33 +00:00
|
|
|
|
*** 0.4.5 ***
|
|
|
|
|
- Moved the serial IRQ handlers and VIC vectors initialization inside the
|
|
|
|
|
serial drivers. Now the serial-related code is all inside the driver.
|
|
|
|
|
- Moved all the other interrupt handlers from chcore2.s into chcore.c as
|
|
|
|
|
inline asm code. The interrupt code now is faster because one less call
|
|
|
|
|
level.
|
2007-12-11 12:01:24 +00:00
|
|
|
|
- Fixed a minor problem in chSysHalt() now it disables FIQ too and makes sure
|
|
|
|
|
to keep the processor in the state it had when it was halted.
|
|
|
|
|
Note: This is not a kernel bug but something specific with the ARM port, the
|
|
|
|
|
other ports are not affected.
|
2007-12-13 14:05:37 +00:00
|
|
|
|
- Fixed the macro chThdResumeI(), it had a regression.
|
2007-12-09 09:16:33 +00:00
|
|
|
|
|
2007-12-03 14:54:05 +00:00
|
|
|
|
*** 0.4.4 ***
|
2007-12-08 12:05:22 +00:00
|
|
|
|
- Fixed a very important bug in the preemption ARM code, important enough to
|
|
|
|
|
make this update *mandatory*.
|
|
|
|
|
Note: This is not a kernel bug but something specific with the ARM port, the
|
|
|
|
|
other ports are not affected.
|
2007-12-07 13:29:14 +00:00
|
|
|
|
- Fixed a nasty bug in the pure THUMB mode threads trampoline code (chcore2.s,
|
|
|
|
|
threadstart), it failed on THUMB threads returning with a "bx" instruction.
|
|
|
|
|
The bug did not affect ARM mode or THUMB with interworking mode.
|
2007-12-08 12:05:22 +00:00
|
|
|
|
Note: This is not a kernel bug but something specific with the ARM port, the
|
|
|
|
|
other ports are not affected.
|
2007-12-07 13:29:14 +00:00
|
|
|
|
- Fixed a bug in chIQGetTimeout(), interrupts were not re-enabled when exiting
|
|
|
|
|
the function because a timeout. The problem affected that API only.
|
2007-12-07 15:56:04 +00:00
|
|
|
|
- Fixed a potential problem in chSysInit(), it should not affect any past
|
|
|
|
|
application.
|
2007-12-03 14:54:05 +00:00
|
|
|
|
- Added a chDbgAssert() API to the debug subsystem.
|
|
|
|
|
- Cleaned up the kernel source code using chDbgAssert() instead of a lot of
|
|
|
|
|
"#ifdef CH_USE_DEBUG", it is much more readable now.
|
|
|
|
|
- Now the threads working area is filled with a 0x55 when in debug mode, this
|
|
|
|
|
will make easier to track stack usage using a JTAG probe.
|
2007-12-03 16:19:47 +00:00
|
|
|
|
- Added an I/O Queues benchmark to the test suite.
|
2007-12-04 14:48:41 +00:00
|
|
|
|
- Removed the chSchTimerHandlerI() routine from chschd.c and moved it into
|
|
|
|
|
chinit.c renaming it chSysTimerHandlerI() because it is not part of the
|
|
|
|
|
scheduler.
|
2007-12-03 14:54:05 +00:00
|
|
|
|
|
2007-11-26 16:00:25 +00:00
|
|
|
|
*** 0.4.3 ***
|
|
|
|
|
- Size optimization in the events code, now the chEvtWait() reuses the
|
|
|
|
|
chEvtWaitTimeout() code if it is enabled.
|
|
|
|
|
- Size optimization in the semaphores code, now the chSemWaitTimeout() just
|
2007-11-30 09:00:50 +00:00
|
|
|
|
invokes the chSemWaitTimeoutS() inside its system mutex zone. Same thing
|
|
|
|
|
done with chSemWait() and chSemWaitS().
|
|
|
|
|
- Size optimization in the queues code.
|
2007-12-01 10:29:09 +00:00
|
|
|
|
- Modified the return type of chSemWait() and chSemWaitS() from void to t_msg,
|
|
|
|
|
this allows to understand if the semaphore was signaled or reset without
|
|
|
|
|
have to access the Thread structure.
|
2007-11-29 09:16:53 +00:00
|
|
|
|
- Added a threads create/exit/wait benchmark to the test suite, the system
|
|
|
|
|
is capable of 81712 threads started/terminated per second on the reference
|
|
|
|
|
LPC2148 board. The figure is inclusive of two context switch operations
|
|
|
|
|
for each thread.
|
2007-11-27 16:02:12 +00:00
|
|
|
|
- Minor improvement in the LPC214x serial driver, unneeded events were
|
|
|
|
|
generated in some rare cases.
|
2007-11-26 16:00:25 +00:00
|
|
|
|
- Fixed a chSysInit() documentation error.
|
2007-11-29 16:31:44 +00:00
|
|
|
|
- Fixed a chEvtWaitTimeout() documentation error.
|
2007-11-27 16:02:12 +00:00
|
|
|
|
- Added a new debug switch: CH_USE_TRACE, previously the trace functionality
|
|
|
|
|
was associated to the CH_USE_DEBUG switch.
|
2007-11-26 16:00:25 +00:00
|
|
|
|
|
2007-11-21 16:42:13 +00:00
|
|
|
|
*** 0.4.2 ***
|
2007-11-24 09:50:09 +00:00
|
|
|
|
- Added a minimal ARM7-LPC demo, you can use this one as template in order to
|
2007-11-22 15:24:50 +00:00
|
|
|
|
create your application. It is easier to add subsystems back to the small
|
|
|
|
|
demo than remove stuff from the large one.
|
2007-11-22 11:29:17 +00:00
|
|
|
|
- Introduced support for "pure" THUMB mode, it is activated when all the
|
|
|
|
|
source files are compiled in THUMB mode, the option -mthumb-interworking is
|
2007-11-22 15:24:50 +00:00
|
|
|
|
not used in this scenario and this greatly improves both code size and
|
|
|
|
|
speed.
|
2007-11-21 16:42:13 +00:00
|
|
|
|
It is recommended to either use ARM mode or THUMB mode and not mix them
|
2007-11-23 16:09:11 +00:00
|
|
|
|
unless you know exactly what you are doing. Mixing modes is still supported
|
|
|
|
|
anyway.
|
2007-11-24 09:50:09 +00:00
|
|
|
|
- More optimizations in the scheduler, updated the performance spreadsheet.
|
2007-11-22 15:24:50 +00:00
|
|
|
|
- Fixed a problem with the thread working area declarations, the alignment to
|
|
|
|
|
4 bytes boundary was not enforced. Now it is defined a new macro
|
|
|
|
|
WorkingArea(name, length) that takes care of both the allocation and the
|
|
|
|
|
alignment.
|
|
|
|
|
Example:
|
|
|
|
|
static WorkingArea(waThread1, 32);
|
|
|
|
|
It is expanded as:
|
|
|
|
|
ULONG32 waThread1[UserStackSpace(32) >> 2];
|
|
|
|
|
Now the demos use the new declaration style.
|
2007-11-23 13:53:53 +00:00
|
|
|
|
- Fixed a small problem in sleep functions introduced in 0.4.1.
|
2007-11-21 16:42:13 +00:00
|
|
|
|
|
2007-11-16 13:14:30 +00:00
|
|
|
|
*** 0.4.1 ***
|
2007-11-18 09:45:45 +00:00
|
|
|
|
- Modified the initialization code in order to have a dedicated idle thread in
|
|
|
|
|
the system, now the main() function behaves like a normal thread after
|
|
|
|
|
executing chSysInit() and can use all the ChibiOS/RT APIs (it was required
|
|
|
|
|
to run the idle loop in previous versions).
|
|
|
|
|
Now it is also possible to use ChibiOS/RT with a single main() thread and
|
2007-11-19 11:09:33 +00:00
|
|
|
|
just use it for the I/O capabilities, Virtual Timers and events. Now you
|
2007-11-18 09:52:31 +00:00
|
|
|
|
don't have to use multiple threads if you don't really need to.
|
2007-11-16 13:14:30 +00:00
|
|
|
|
- Added a spreadsheet in the documentation that describes the advantages
|
|
|
|
|
and disadvantages of the various optimization options (both GCC options and
|
2007-11-19 11:09:33 +00:00
|
|
|
|
ChibiOS/RT options), very interesting read IMO.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- The GCC option -falign-functions=16 is now default in the Makefile, it is
|
2007-11-16 13:14:30 +00:00
|
|
|
|
required because of the MAM unit into the LPC chips, without this option
|
|
|
|
|
the code performance is less predictable and can change of some % points
|
2007-11-16 16:15:47 +00:00
|
|
|
|
depending on how the code is aligned in the flash memory, unpredictability
|
2007-11-16 13:14:30 +00:00
|
|
|
|
is bad for a RTOS. This option however increases the code size slightly
|
2007-11-16 16:15:47 +00:00
|
|
|
|
because of the alignment gaps.
|
|
|
|
|
- Fine tuning in the scheduler code for improved performance, deeper
|
2007-11-19 11:09:33 +00:00
|
|
|
|
inlining and other small changes, about 5% better scheduler performance.
|
2007-11-16 16:15:47 +00:00
|
|
|
|
- Increased the default system-mode stack size from 128 to 256 bytes because
|
2007-11-19 11:09:33 +00:00
|
|
|
|
some optimizations and the THUMB mode seem to eat more stack space.
|
2007-11-16 16:15:47 +00:00
|
|
|
|
- Included a Makefile in the LPC2148 demo that builds in THUMB mode.
|
|
|
|
|
- Const-ified a parameter in the chEvtWait() and chEvtWaitTimeout() APIs.
|
2007-11-19 11:09:33 +00:00
|
|
|
|
- Removed the CPU register clearing on thread start, it was not really useful,
|
|
|
|
|
it is better to maximize performance instead.
|
|
|
|
|
- Cleaned up the ARM port code. Now it is easier to understand.
|
|
|
|
|
- Cleaned up the LPC2148 demo in main.c, it is now well documented and
|
|
|
|
|
explains everything, I assumed too much stuff to be "obvious".
|
2007-11-16 13:14:30 +00:00
|
|
|
|
|
2007-11-12 15:02:23 +00:00
|
|
|
|
*** 0.4.0 ***
|
2007-11-13 16:38:23 +00:00
|
|
|
|
- NEW, added a benchmark functionality to the test suite. The benchmark
|
|
|
|
|
measures the kernel throughput as messages per second and context switches
|
|
|
|
|
per second. The benchmark will be useful for fine tuning the compiler
|
|
|
|
|
options and the kernel itself.
|
|
|
|
|
- NEW, implemented a debug subsystem, it supports debug messages and a context
|
2007-11-12 15:02:23 +00:00
|
|
|
|
switch circular trace buffer. The debug code can be enabled/disabled by
|
|
|
|
|
using the CH_USE_DEBUG in chconf.h.
|
|
|
|
|
The trace buffer is meant to be fetched and decoded by an external tool
|
|
|
|
|
(coming soon, it can be accessed using JTAG in the meanwhile).
|
2007-11-14 16:32:41 +00:00
|
|
|
|
- Added new API chThdGetPriority() as a macro.
|
2007-11-12 15:02:23 +00:00
|
|
|
|
- Implemented panic messages when CH_USE_DEBUG is enabled.
|
|
|
|
|
- Added a thread identifier field to the Thread structure, it is used only
|
|
|
|
|
for debug.
|
2007-11-13 16:38:23 +00:00
|
|
|
|
- Global variable stime modified as volatile.
|
|
|
|
|
- API chSysGetTime() reimplemented as a macro.
|
|
|
|
|
- Fixed a regression with the CH_CURRP_REGISTER_CACHE option.
|
|
|
|
|
- Fixed a problem in the LPC2148 interrupt handling code, a spurious
|
|
|
|
|
interrupts fix recommended on the NXP data sheet proved to be a very bad
|
|
|
|
|
idea and not about real spurious interrupts also...
|
2007-11-12 15:02:23 +00:00
|
|
|
|
- Fixed an harmless warning message in buzzer.c.
|
|
|
|
|
|
2007-10-30 10:46:57 +00:00
|
|
|
|
*** 0.3.6 ***
|
2007-11-02 15:34:52 +00:00
|
|
|
|
- Added SSP (SPI1) and ext.interrupts definitions to the lpc214x.h file.
|
2007-11-01 11:56:10 +00:00
|
|
|
|
- Added SSP driver for the LPC2148.
|
2007-11-02 15:34:52 +00:00
|
|
|
|
- Added experimental MMC/SD block driver to the LPC2148 demo in order to
|
2007-11-03 16:25:52 +00:00
|
|
|
|
support file systems. The driver features also events generation on card
|
|
|
|
|
insert/remove, hot plugging supported.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Added missing chThdSuspend() declaration in threads.h.
|
2007-10-30 10:46:57 +00:00
|
|
|
|
|
2007-10-19 08:25:15 +00:00
|
|
|
|
*** 0.3.5 ***
|
|
|
|
|
- Space optimization in events code.
|
2007-10-19 13:00:24 +00:00
|
|
|
|
- Changed the behavior of chEvtWaitTimeout() when the timeout parameter is
|
|
|
|
|
set to zero, now it is consistent with all the other syscalls that have a
|
|
|
|
|
timeout option.
|
2007-10-23 18:43:39 +00:00
|
|
|
|
- Reorganized all the kernel inline definitions into a single file (inline.h).
|
|
|
|
|
- Fixed a minor problem in the interrupt initialization code for the LPC214x
|
2007-10-24 15:05:24 +00:00
|
|
|
|
demo, regrouped the VIC-specific code into vic.c/vic.h.
|
2007-10-23 19:50:46 +00:00
|
|
|
|
- Fixed a bug into the LPC2148 serial driver (limited to the serial port 2).
|
2007-11-13 16:38:23 +00:00
|
|
|
|
- Implemented HW transmit FIFO preloading in the LPC2148 serial driver in
|
2007-10-24 12:12:43 +00:00
|
|
|
|
order to minimize the number of interrupts generated, it is possible to
|
|
|
|
|
disable the feature and return to the old code which is a bit smaller, see
|
|
|
|
|
the configuration parameters in ./ARM7-LPC214x/GCC/lpc214x_serial.h.
|
2007-10-27 07:37:32 +00:00
|
|
|
|
- Some more work done on the AVR port, it is almost complete but not tested
|
|
|
|
|
yet because my JTAG probe broke...
|
2007-10-19 08:25:15 +00:00
|
|
|
|
|
2007-10-14 07:07:54 +00:00
|
|
|
|
*** 0.3.4 ***
|
|
|
|
|
- Fixed a problem in chVTSetI().
|
2007-10-15 14:52:56 +00:00
|
|
|
|
- New API, chVTIsArmedI(), it is a macro in delta.h.
|
|
|
|
|
- New API, chThdResumeI(), it is a macro in threads.h. This function is just
|
|
|
|
|
an alias for chSchReadyI() but makes the code more readable.
|
|
|
|
|
- New API, chThdSuspend(). New switch CH_USE_SUSPEND added to chconf.h.
|
|
|
|
|
|
2007-10-13 06:59:54 +00:00
|
|
|
|
*** 0.3.3 ***
|
|
|
|
|
- Modified the chVTSetI(), now for the "time" parameter can have value zero
|
2007-10-13 11:04:26 +00:00
|
|
|
|
with meaning "infinite". This allows all the APIs with timeout parameters
|
|
|
|
|
to be invoked with no timeout.
|
2007-10-13 06:59:54 +00:00
|
|
|
|
- Fixes in the documentation.
|
|
|
|
|
- Renamed some APIs in the "Sch" group to have an S suffix instead of I.
|
|
|
|
|
|
2007-10-04 17:40:45 +00:00
|
|
|
|
*** 0.3.2 ***
|
2007-10-06 09:53:07 +00:00
|
|
|
|
- Modified the chSysInit() to give the idle thread absolute priority, the
|
|
|
|
|
priority is then lowered to the minimum value into the chSysPause(). This
|
|
|
|
|
is done in order to ensure that the initializations performed into the
|
2007-10-15 14:52:56 +00:00
|
|
|
|
main() procedure are finished before any thread starts.
|
2007-10-06 09:53:07 +00:00
|
|
|
|
- Added chThdSetPriority() new API.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Added a generic events generator timer module to the library code.
|
2007-10-06 17:01:14 +00:00
|
|
|
|
- Modified the ARM7-LPC214x-GCC demo to show the use of the event timer.
|
2007-10-06 08:58:52 +00:00
|
|
|
|
- Added the "#ifdef __cplusplus" stuff to the header files.
|
|
|
|
|
- Removed an obsolete definition in ./src/templates/chtypes.h.
|
2007-10-04 17:40:45 +00:00
|
|
|
|
|
2007-10-01 17:42:47 +00:00
|
|
|
|
*** 0.3.1 ***
|
2007-10-03 18:18:58 +00:00
|
|
|
|
- Test program added to the demos. Telnet the MinGW and MSVS demos and type
|
|
|
|
|
"test" at the "ch>" prompt. On the LPC214x demo the test is activated by
|
2007-10-03 18:19:49 +00:00
|
|
|
|
pressing both the board buttons. The test performs tests on the ChibiOS/RT
|
|
|
|
|
functionalities.
|
2007-10-03 17:14:03 +00:00
|
|
|
|
The test code is also a good example of APIs usage and ChibiOS/RT behavior.
|
|
|
|
|
- Fixed bug in chEvtWaitTimeout(), the timeout code performed an useless
|
|
|
|
|
dequeue operation.
|
|
|
|
|
- Fixed a bug in chSemWaitTimeoutS() and chSemWaitTimeout(), the semaphore
|
|
|
|
|
counter was not atomically updated on a timeout condition.
|
|
|
|
|
- Fixed bug on RT semaphores, the priority queuing was broken.
|
|
|
|
|
- Fixed a bug in the MinGW demo, the chThdExit() code was not correctly
|
|
|
|
|
reported to the thread waiting in chThdWait().
|
|
|
|
|
- Fixed a function declaration in semaphores.h.
|
2007-10-02 16:52:18 +00:00
|
|
|
|
- Lists code moved into chlists.c from various other places optimized and
|
|
|
|
|
reorganized.
|
2007-10-01 17:42:47 +00:00
|
|
|
|
- The list of the threads waiting in chThdWait() is now a single link list,
|
|
|
|
|
this saves some space.
|
|
|
|
|
- Cleaned the template files code, the files contained some obsolete
|
|
|
|
|
declarations.
|
2007-10-03 17:14:03 +00:00
|
|
|
|
- Code optimization in chSemWaitTimeoutS(), chSemWaitTimeout() and
|
|
|
|
|
chSemSignalWait().
|
2007-10-01 17:42:47 +00:00
|
|
|
|
- Code optimization in chEvtSend().
|
2007-10-03 17:14:03 +00:00
|
|
|
|
- Code optimization in chVTDoTickI().
|
2007-10-01 17:42:47 +00:00
|
|
|
|
- Added a Semaphore pointer to the Thread structure, this allows to know on
|
|
|
|
|
which semaphore a thread is waiting on. It takes no space because it is
|
|
|
|
|
located in the union inside the Thread structure. This also allowed a minor
|
|
|
|
|
optimization inside chSemWaitTimeout() and chSemWaitTimeoutS().
|
2007-10-01 17:44:01 +00:00
|
|
|
|
- Changed the priority type to unsigned in order to make it compatible
|
|
|
|
|
with a byte value, this is very important for 8 bits architectures.
|
2007-10-03 17:14:03 +00:00
|
|
|
|
- Modified the MinGW and MSVS demos to use 1ms ticks instead of 10ms as
|
|
|
|
|
before.
|
2007-10-01 17:42:47 +00:00
|
|
|
|
|
2007-09-28 18:42:04 +00:00
|
|
|
|
*** 0.3.0 ***
|
|
|
|
|
- ChibiOS/RT goes beta.
|
|
|
|
|
- Diet for the threads code, some simple APIs become macros.
|
|
|
|
|
- Thread Local Storage implemented as a single API: chThdLS().
|
|
|
|
|
The API simply returns a pointer into the thread working area, see the
|
|
|
|
|
documentation on the web site.
|
2009-01-22 15:37:29 +00:00
|
|
|
|
- Moved some documentation and images from the web site into the Doxygen
|
2007-09-28 18:42:04 +00:00
|
|
|
|
generated HTMLs.
|
|
|
|
|
|
2007-09-25 18:41:39 +00:00
|
|
|
|
*** 0.2.1 ***
|
|
|
|
|
- Optimizations in the RT semaphores subsystem. The support for this
|
|
|
|
|
subsystem should still be considered experimental and further changes may
|
|
|
|
|
happen in future versions.
|
|
|
|
|
- Bug fix in the virtual timers handling code, now the timers can be re-armed
|
|
|
|
|
from within the callback code in order to create periodic virtual timers.
|
|
|
|
|
- Modified the t_prio type in the demos to be 32bits wide instead of 16bits,
|
|
|
|
|
this results in a better code in critical sections of the kernel.
|
|
|
|
|
|
2007-09-22 14:10:02 +00:00
|
|
|
|
*** 0.2.0 ***
|
|
|
|
|
- Introduced support for ARM in thumb mode.
|
2007-09-22 14:12:10 +00:00
|
|
|
|
- Optimized context switching when thumb-interworking is not required, one
|
|
|
|
|
less instruction.
|
2007-09-22 14:10:02 +00:00
|
|
|
|
- Minor fixes to the ARM demo.
|
|
|
|
|
|
2007-09-21 16:44:36 +00:00
|
|
|
|
*** 0.1.1 ***
|
|
|
|
|
- Some fixes into the documentation
|
2007-11-22 15:24:50 +00:00
|
|
|
|
- Renamed the makefiles to Makefile, upper case M.
|
2007-09-21 16:44:36 +00:00
|
|
|
|
|
|
|
|
|
*** 0.1.0 ***
|
2007-09-25 18:41:39 +00:00
|
|
|
|
- First alpha release
|