From 69aa39ff927e44c72f7f4824ee47934660c5055c Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Tue, 31 Jan 2017 16:08:48 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10076 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/license/chlicense.h | 37 ++++++++++++++++----- release_note_next.txt | 74 +++++++++++++++++++++++++++++++++--------- 2 files changed, 88 insertions(+), 23 deletions(-) diff --git a/os/license/chlicense.h b/os/license/chlicense.h index a0c8ed2c7..72322d872 100644 --- a/os/license/chlicense.h +++ b/os/license/chlicense.h @@ -55,15 +55,20 @@ #define CH_LICENSE_GPL 0 #define CH_LICENSE_GPL_EXCEPTION 1 #define CH_LICENSE_COMMERCIAL_FREE 2 -#define CH_LICENSE_COMMERCIAL_DEVELOPER 3 -#define CH_LICENSE_COMMERCIAL_FULL 4 -#define CH_LICENSE_PARTNER 5 +#define CH_LICENSE_COMMERCIAL_DEV_1000 3 +#define CH_LICENSE_COMMERCIAL_DEV_5000 4 +#define CH_LICENSE_COMMERCIAL_FULL 5 +#define CH_LICENSE_COMMERCIAL_RUNTIME 6 +#define CH_LICENSE_PARTNER 7 /** @} */ #include "chcustomer.h" #if CH_LICENSE == CH_LICENSE_PARTNER #include "chpartner.h" #endif +#if CH_LICENSE == CH_LICENSE_COMMERCIAL_RUNTIME +#include "chruntime.h" +#endif /*===========================================================================*/ /* Module pre-compile time settings. */ @@ -120,15 +125,23 @@ #define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED #elif CH_LICENSE == CH_LICENSE_COMMERCIAL_FREE -#define CH_LICENSE_TYPE_STRING "Zero Cost Registered License" +#define CH_LICENSE_TYPE_STRING "Zero Cost Registered License for 500 Cores" #define CH_LICENSE_ID_STRING "N/A" -#define CH_LICENSE_ID_CODE "2015-0000" +#define CH_LICENSE_ID_CODE "2017-0000" #define CH_LICENSE_MODIFIABLE_CODE FALSE #define CH_LICENSE_FEATURES CH_FEATURES_INTERMEDIATE #define CH_LICENSE_MAX_DEPLOY 500 -#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEVELOPER -#define CH_LICENSE_TYPE_STRING "Developer-Only Commercial License" +#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEVELOPER_1000 +#define CH_LICENSE_TYPE_STRING "Developer Commercial License for 1000 Cores" +#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING +#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE +#define CH_LICENSE_MODIFIABLE_CODE TRUE +#define CH_LICENSE_FEATURES CH_FEATURES_FULL +#define CH_LICENSE_DEPLOY_LIMIT 1000 + +#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEVELOPER_5000 +#define CH_LICENSE_TYPE_STRING "Developer Commercial License for 5000 Cores" #define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING #define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE #define CH_LICENSE_MODIFIABLE_CODE TRUE @@ -136,13 +149,21 @@ #define CH_LICENSE_DEPLOY_LIMIT 5000 #elif CH_LICENSE == CH_LICENSE_COMMERCIAL_FULL -#define CH_LICENSE_TYPE_STRING "Full Commercial License" +#define CH_LICENSE_TYPE_STRING "Full Commercial License for Unlimited Deployment" #define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING #define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE #define CH_LICENSE_MODIFIABLE_CODE TRUE #define CH_LICENSE_FEATURES CH_FEATURES_FULL #define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED +#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_RUNTIME +#define CH_LICENSE_TYPE_STRING "Runtime Commercial License" +#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING +#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE +#define CH_LICENSE_MODIFIABLE_CODE TRUE +#define CH_LICENSE_FEATURES CH_FEATURES_FULL +#define CH_LICENSE_MAX_DEPLOY CH_RUNTIME_MAX_DEPLOY + #elif CH_LICENSE == CH_LICENSE_PARTNER #define CH_LICENSE_TYPE_STRING "Partners Special Commercial License" #define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING diff --git a/release_note_next.txt b/release_note_next.txt index 302fa9cdc..d3dd7c90b 100644 --- a/release_note_next.txt +++ b/release_note_next.txt @@ -3,27 +3,51 @@ ****************************************************************************** ChibiOS next is composed of several independent but inter-operable -sub-projects: RT, NIL, HAL. +sub-projects: RT, NIL, HAL, EX. *** ChibiOS next highlights **** This release is focused on RTOS general improvements, both RT and NIL received -a series of important new features. +a series of important improvements, new features have been added. *** ChibiOS next general improvements *** -- Rationalized source tree to reduce code duplication. +- Shared licensing headers under /os/licenses, now all products are handled + by the same license include files. +- New ChibiOS/EX subsystems. EX sits on top of HAL and provides portable + drivers for devices residing the MCU like MEMS, sensors, memories, + displays etc. - Shared RTOS components, now allocators, mailboxes and binary semaphores are usable by both RT and NIL. -- Shared ports architecture. Now RTOS ports work for both RT and NIL, no - more duplication. + - Memory Pools now have a new variant named "Guarded Memory Pool" including + a semaphore that guards the allocation function, the caller waits if there + is not an object available in the pool. +- FatFS 0.10b has been integrated. +- Rationalized source tree to reduce code duplication. +- New unit test library. +- Test suites have been rewritten using an unique code generation system + 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 *** + +- Common ports architecture. Now RTOS ports work for both RT and NIL, no + more code duplication. Ports are now also licensed for both NIL and RT. - MPU use for hardware stack checking in ARMCMx port. -- Enhanced shell. *** What's new in RT 4.0.0 *** -- Common ports architecture. -- Ability to use the new shared RTOS components. +- Now uses the common ports architecture. +- Now uses the new shared RTOS components. - New threading API, now creating static threads is even faster. - Extended priority range from 1..127 to 1..255. - Enhanced dynamic threading, safer and easier to use. @@ -33,14 +57,34 @@ a series of important new features. but also IRQs, halts and user events. The trace record now stores both the "slow" system time and a RT stamp for increased accuracy. - New kernel hooks for a more flexible code instrumentation. +- Removed I/O queues, now the HAL has an improved equivalent. - Experimental NASA OSAL implementation. -*** What's new in HAL 4.1.0 *** - - *** What's new in NIL 2.0.0 *** -- Common ports architecture. -- Ability to use the new shared RTOS components. -- State checker. -- Parameters checks. +- Now uses the common ports architecture. +- Now uses the new shared RTOS components. +- All new features are optional so there is no code size increase. +- Enhanced source-level compatibility with RT. +- Enhanced debug features. + - State checker like in RT. + - Parameters checks like in RT. + +*** What's new in HAL 5.0.0 *** + +- Improved serial driver. + - It is possible to set a different buffer size for each port. + - SW overruns and HW overruns now have a separate event flag. +- Events handling in the PAL driver. Now it is able to support interrupts + handling and callbacks. +- EXT driver is still supported but marked as deprecated. +- New interface for flash devices (used by EX). +- New interfaces for accelleromet, barometer, compass, gyroscope, + hygrometer and thermometer devices (used by EX). +- Added an I2C bit banged driver as fallback for faulty hardwares. +- Improved OSAL architecture with shared sub-modules. +- All file names have been prefixed by "hal_" in order to prevent collisions + with 3rd parties files. This should make integration of external libraries + much easier. +- Improved behavior of HAL queues, now the timeout is absolute not just an + inter-byte timeout.