Release note draft.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11270 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
d06c9437a0
commit
c68731f14d
|
@ -3,91 +3,132 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
|
|
||||||
ChibiOS next is composed of several independent but inter-operable
|
ChibiOS next is composed of several independent but inter-operable
|
||||||
sub-projects: RT, NIL, HAL, EX.
|
sub-projects: RT, NIL, HAL, EX. Plus several external libraries
|
||||||
|
integrated in our structure: WolfSSL, FatFS and lwIP.
|
||||||
|
|
||||||
*** ChibiOS next highlights ****
|
*** ChibiOS next highlights ****
|
||||||
|
|
||||||
This release is focused on RTOS general improvements, both RT and NIL received
|
This release is focused on features and general improvements, HAL, RT and NIL
|
||||||
a series of important improvements, new features have been added.
|
received a series of important improvements, new features have been added.
|
||||||
|
|
||||||
*** ChibiOS next general improvements ***
|
*** ChibiOS next general improvements ***
|
||||||
|
|
||||||
- Shared licensing headers under /os/licenses, now all products are handled
|
- WolfSSL 1.12.2 has been integrated. HTTPS demo added.
|
||||||
by the same license include files.
|
- FatFS 0.13 has been integrated.
|
||||||
- New ChibiOS/EX subsystems. EX sits on top of HAL and provides portable
|
- lwIP 2.0.3 has been integrated.
|
||||||
drivers for devices residing the MCU like MEMS, sensors, memories,
|
- CMSIS 5.1.1 has been integrated.
|
||||||
displays etc.
|
- Improved build system based on make.
|
||||||
- Shared RTOS components, now allocators, mailboxes and binary semaphores
|
- Improved integration with Eclipse, launch configurations have been
|
||||||
are usable by both RT and NIL.
|
centralized for many projects.
|
||||||
- Memory Pools now have a new variant named "Guarded Memory Pool" including
|
- Several HAL and test applications have become "multi projects", a single
|
||||||
a semaphore that guards the allocation function, the caller waits if there
|
project is able to build for multiple targets/boards.
|
||||||
is not an object available in the pool.
|
- Improved test engine.
|
||||||
- FatFS 0.10b has been integrated.
|
- Added a test suite generator written in FTL, now it is possible to generate
|
||||||
- Rationalized source tree to reduce code duplication.
|
test code without the need of SPC5Studio.
|
||||||
- New unit test library.
|
- Added a board files generator written in FTL, now it is possible to generate
|
||||||
- Test suites have been rewritten using an unique code generation system
|
board files without the need of ChibiStudio.
|
||||||
starting from XML descriptions.
|
|
||||||
- Startup files have been separated from ports and licensed under Apache 2.0
|
|
||||||
license, now it is possible to use ChibiOS startups and ld files in projects
|
|
||||||
without RT, NIL, HAL or EX.
|
|
||||||
- Improved GCC ld scatter files with multi RAM/Flash regions capability.
|
|
||||||
- GCC makefiles system improvements.
|
|
||||||
- Support for all new Nucleo and Discovery boards from ST.
|
|
||||||
- CMSIS updated to version 4.50.
|
|
||||||
- Enhanced shell with history and quoted parameters. Common commands have
|
|
||||||
beed included in a shared module in order to avoid duplication in the
|
|
||||||
various demos.
|
|
||||||
|
|
||||||
*** What's new in RT/NIL ports ***
|
*** What's new in RT/NIL ports ***
|
||||||
|
|
||||||
- Common ports architecture. Now RTOS ports work for both RT and NIL, no
|
- GHS compiler support added to the Power e200z port.
|
||||||
more code duplication. Ports are now also licensed for both NIL and RT.
|
- Experimental ARM Cortex-A Trust Zone support.
|
||||||
- MPU use for hardware stack checking in ARMCMx port.
|
|
||||||
|
|
||||||
*** What's new in RT 4.0.0 ***
|
*** What's new in OS Library ***
|
||||||
|
|
||||||
- Now uses the common ports architecture.
|
- OS library now has its own test suite.
|
||||||
- Now uses the new shared RTOS components.
|
- Mailbox API changed by adding "Timeout" to those function that have
|
||||||
- New threading API, now creating static threads is even faster.
|
timeout capability, for consistency with the rest of the system.
|
||||||
- Extended priority range from 1..127 to 1..255.
|
- Added an "Objects Factory" to the OS Library, it allows to dynamically
|
||||||
- Enhanced dynamic threading, safer and easier to use.
|
allocate reference-counted kernel objects/buffers or to register
|
||||||
- Enhanced Registry, it is now possible to find threads by name, by pointer
|
static objects. Allocated/registered objects can be retrieved by name.
|
||||||
or by working area.
|
- Added an "Objects FIFO" object to the OS Library, it allows to
|
||||||
- Enhanced trace buffer, it is able to store events regarding not just threads
|
exchange complex objects between threads/ISRs. It is based on a
|
||||||
but also IRQs, halts and user events. The trace record now stores both the
|
mailbox and a guarded memory pool.
|
||||||
"slow" system time and a RT stamp for increased accuracy.
|
- Added alignment handling to memory pools.
|
||||||
- New kernel hooks for a more flexible code instrumentation.
|
|
||||||
- Removed I/O queues, now the HAL has an improved equivalent.
|
|
||||||
- Experimental NASA OSAL implementation.
|
|
||||||
- Posix simulator added.
|
|
||||||
|
|
||||||
*** What's new in NIL 2.0.0 ***
|
*** What's new in RT 5.0.0 ***
|
||||||
|
|
||||||
- Now uses the common ports architecture.
|
- The type systime_t has been split in systime_t and sysinterval_t, the
|
||||||
- Now uses the new shared RTOS components.
|
two can have different size. The system is now more rigorous in time
|
||||||
- Added implementation of thread queues directly in the kernel, removed it
|
handling, an absolute time is something different from an interval,
|
||||||
from NIL OSAL.
|
sysinterval_t can be larger than the systime_t, this means that it is
|
||||||
- All new features are optional so there is no code size increase.
|
now possible to use very long intervals when the system time uses a small
|
||||||
- Enhanced source-level compatibility with RT.
|
counter.
|
||||||
- Enhanced debug features.
|
- Time conversion macros have been renamed in TIME_S2I(), TIME_MS2I(),
|
||||||
- State checker like in RT.
|
TIME_US2(), TIME_I2S(), TIME_I2MS() and TIME_I2US. Conversion is now done
|
||||||
- Parameters checks like in RT.
|
by casting all operands to a large time_conv_t type improving safety by
|
||||||
|
eliminating integer truncations.
|
||||||
|
- Time conversion functions have been renamed in: chTimeS2I(), chTimeMS2I(),
|
||||||
|
chTimeUS2I(), chTimeI2S(), chTimeI2MS() and chTimeI2US().
|
||||||
|
- New functions have been added for dealing with operations with time and
|
||||||
|
intervals: chTimeAddX() and chTimeDiffX().
|
||||||
|
- All functions that have a timeout parameter now take a sysinterval_t type
|
||||||
|
instead of systime_t.
|
||||||
|
- Improved test suite.
|
||||||
|
- Enhanced Events API, added chEvtGetAndClearEventsI() and chEvtAddEventsI().
|
||||||
|
- The chconf.h configuration files now are tagged with the version
|
||||||
|
number for safety. The system rejects obsolete files during
|
||||||
|
compilation. Stronger checks are performed on chconf.h, now missing
|
||||||
|
settings trigger an error instead of getting a default.
|
||||||
|
|
||||||
*** What's new in HAL 5.0.0 ***
|
*** What's new in NIL 3.0.0 ***
|
||||||
|
|
||||||
|
- The type systime_t has been split in systime_t and sysinterval_t, the
|
||||||
|
two can have different size. The system is now more rigorous in time
|
||||||
|
handling, an absolute time is something different from an interval.
|
||||||
|
- Time conversion macros have been renamed in TIME_S2I(), TIME_MS2I(),
|
||||||
|
TIME_US2(), TIME_I2S(), TIME_I2MS() and TIME_I2US. Conversion is now done
|
||||||
|
by casting all operands to a large time_conv_t type improving safety by
|
||||||
|
eliminating integer truncations.
|
||||||
|
- New functions have been added for dealing with operations with time and
|
||||||
|
intervals: chTimeAddX() and chTimeDiffX().
|
||||||
|
- All functions that have a timeout parameter now take a sysinterval_t type
|
||||||
|
instead of systime_t.
|
||||||
|
- Improved test suite.
|
||||||
|
- The chconf.h configuration files now are tagged with the version
|
||||||
|
number for safety. The system rejects obsolete files during
|
||||||
|
compilation.
|
||||||
|
|
||||||
|
*** What's new in HAL 6.0.0 ***
|
||||||
|
|
||||||
|
- Added a Managed Flash Storage module to the HAL. This modules handles
|
||||||
|
garbage collection, storage self-repair and wear leveling.
|
||||||
- Improved serial driver.
|
- Improved serial driver.
|
||||||
- It is possible to set a different buffer size for each port.
|
- Added a "control" function to the channels interface, it allows to add
|
||||||
- SW overruns and HW overruns now have a separate event flag.
|
custom features to the various implementations.
|
||||||
- Events handling in the PAL driver. Now it is able to support interrupts
|
- Added I-class functions to the serial driver: sdGetI(), sdReadI(),
|
||||||
handling and callbacks.
|
sdPutI() and sdWriteI().
|
||||||
- EXT driver is still supported but marked as deprecated.
|
- Improved PAL driver.
|
||||||
- New interface for flash devices (used by EX).
|
- Added an user parameter to the PAL callbacks for consistency with other
|
||||||
- New interfaces for accelerometer, barometer, compass, gyroscope,
|
drivers.
|
||||||
hygrometer and thermometer devices (used by EX).
|
- Added blocking functions for edge synchronization: palWaitLineTimeout()
|
||||||
- Added an I2C bit banged driver as fall-back for faulty hardwares.
|
and palWaitLineTimeoutS().
|
||||||
- Improved OSAL architecture with shared sub-modules.
|
- Improved SPI driver.
|
||||||
- All file names have been prefixed by "hal_" in order to prevent collisions
|
- Now there are multiple modes for CS handling: by PAL pad (previous one), by
|
||||||
with 3rd parties files. This should make integration of external libraries
|
PAL line, by PAL port mask and LLD-specific.
|
||||||
much easier.
|
- Added circular continuous mode to the SPI driver.
|
||||||
- Improved behavior of HAL queues, now the timeout is absolute not just an
|
- Improved CAN driver.
|
||||||
inter-byte timeout.
|
- Added callback capability to the CAN driver. Now it is possible to use
|
||||||
|
callbacks in place of classic events.
|
||||||
|
- Improved USB driver.
|
||||||
|
- Added a usbWakeupHost() function for standby exit.
|
||||||
|
- Modified the HAL queues to improve performance. Added new functions:
|
||||||
|
iqGetI(), iqReadI(), oqPutI() and oqWriteI().
|
||||||
|
|
||||||
|
*** What's new in EX 1.0.0 ***
|
||||||
|
|
||||||
|
- None changed.
|
||||||
|
|
||||||
|
*** What's new in STM32 HAL support ***
|
||||||
|
|
||||||
|
- Updated SPI drivers to implement the new circular mode of the HAL SPI
|
||||||
|
driver model.
|
||||||
|
- Updated STM32F1xx headers to 1.6, STM32F3xx to 1.9, STM32L0xx to 1.10,
|
||||||
|
STM32L4xx to 1.9, STM32H7xx to 1.1.
|
||||||
|
- Implemented PAL enhancements in GPIOv1, GPIOv2 and GPIOv3 implementations.
|
||||||
|
- Modified the STM32 OTGv1 driver to work without pump thread, transfers
|
||||||
|
are now done in the ISR.
|
||||||
|
- Added STM32L496xx/STM32L4A6xx support.
|
||||||
|
- Added STM32F030x4 support.
|
||||||
|
- Added initial STM32H7xx support.
|
||||||
|
|
Loading…
Reference in New Issue