***************************************************************************** *** Files Organization *** ***************************************************************************** --{root} - ChibiOS directory. +--readme.txt - This file. +--documentation.html - Shortcut to the web documentation page. +--license.txt - GPL license text. +--demos/ - Demo projects, one directory per platform. +--docs/ - Documentation. | +--common/ - Documentation common build resources. | +--hal/ - Builders for HAL. | +--nil/ - Builders for NIL. | +--rt/ - Builders for RT. +--ext/ - External libraries, not part of ChibiOS. +--os/ - ChibiOS components. | +--common/ - Shared OS modules. | | +--abstractions/ - API emulator wrappers. | | | +--cmsis_os/ - CMSIS OS emulation layer for RT. | | | +--nasa_osal/ - NASA Operating System Abstraction Layer. | | +--ext/ - Vendor files used by the OS. | | +--ports/ - RTOS ports usable by both RT and NIL. | | +--startup/ - Startup support. | +--ex/ - EX component. | | +--dox/ - EX documentation resources. | | +--include/ - EX header files. | | +--devices / - EX complex drivers. | +--hal/ - HAL component. | | +--boards/ - HAL board support files. | | +--dox/ - HAL documentation resources. | | +--include/ - HAL high level headers. | | +--lib/ - HAL libraries. | | | +--complex/ - HAL collection of complex drivers. | | | | +--mfs/ - HAL managed flash storage driver. | | | | +--serial_nor/ - HAL managed flash storage driver. | | | +--fallback/ - HAL fall back software drivers. | | | +--peripherals/ - HAL peripherals interfaces. | | | +--streams/ - HAL streams. | | +--osal/ - HAL OSAL implementations. | | | +--lib/ - HAL OSAL common modules. | | +--src/ - HAL high level source. | | +--ports/ - HAL ports. | | +--templates/ - HAL driver template files. | | +--osal/ - HAL OSAL templates. | +--oslib/ - RTOS modules usable by both RT and NIL. | | +--include/ - OSLIB high level headers. | | +--src/ - OSLIB high level source. | | +--templates/ - OSLIB configuration template files. | +--nil/ - NIL RTOS component. | | +--dox/ - NIL documentation resources. | | +--include/ - NIL high level headers. | | +--src/ - NIL high level source. | | +--templates/ - NIL configuration template files. | +--rt/ - RT RTOS component. | | +--dox/ - RT documentation resources. | | +--include/ - RT high level headers. | | +--src/ - RT high level source. | | +--templates/ - RT configuration template files. | +--various/ - Various portable support files. +--test/ - Kernel test suite source code. | +--lib/ - Portable test engine. | +--hal/ - HAL test suites. | | +--testbuild/ - HAL build test and MISRA check. | +--nil/ - NIL test suites. | | +--testbuild/ - NIL build test and MISRA check. | +--rt/ - RT test suites. | | +--testbuild/ - RT build test and MISRA check. | | +--coverage/ - RT code coverage project. +--testex/ - EX integration test demos. +--testhal/ - HAL integration test demos. ***************************************************************************** *** Releases and Change Log *** ***************************************************************************** *** Next *** - NEW: Improved MFS to use explicitly non-cacheable buffers for potentially DMA-accessible I/O areas. - NEW: FatFS now functional on STM32H7xx, added a target to the VFS demo. - NEW: Improved cache settings in STM32H7xx mcuconf.h. - NEW: Modified SDMMCv2 to allow for uncached buffers, tested on STM32H7xx. - NEW: Added OCTOSPIv2 driver using MDMA for STM32H7xx. - NEW: Added demos for STM32H723ZG Nucleo144 and STM32H735ZI Discovery boards. - NEW: Added support for STM32H723/25/33/35. - NEW: Updated ST Cube headers for STM32H7xx. - NEW: Added a Posix-favored shell named "msh" (Mini Shell). The shell is able to run sub-apps inside the same sandbox. The shell can either be placed statically in flash or loaded dynamically in RAM. - NEW: Added runnable "apps" capability to SBs, apps available so far: msh, ls. - NEW: Added ability to load ELF files to SBs. - NEW: Enhanced Posix API for SBs leveraging the VFS integration. - NEW: SBs and VFS integration. Each SB can see its own VFS instance. - NEW: Added integration of LittleFS on top of our flash infrastructure. - NEW: Added a new MEM_IS_VALID_FUNCTION() macro to RT and NIL. - NEW: Improved HAL flash interface with mutual exclusion methods, improved EFL and SNOR drivers to use it. - NEW: Added a centralized errors handler under /os/common/utils. It will replace those in HAL and SB and will be shared among multiple subsystems. - NEW: Added a new OOP model under /os/common/utils. It will replace the one in HAL and will be shared among multiple subsystems. - NEW: Changed SB configuration options names to be prefixed with SB_CFG_. - NEW: Added a new CH_CFG_HARDENING_LEVEL option to RT. - NEW: Added a chXXXDispose() function to all objects in NIL. - NEW: Added a chXXXDispose() function to all objects in RT. - NEW: Added VFS-related commands to the shell, disabled by default. - NEW: Added a new VFS subsystem (Virtual File System), it allows to assemble trees of files from multiple "File System Drivers" into a single tree and access it as a whole. - NEW: Added MEM_NATURAL_ALIGN macro to RT and NIL. - NEW: Added static initializer for virtual timers in RT. - NEW: Added new function chHeapIntegrityCheck(). - NEW: Added EFL driver implementation for STM32G4xx. - NEW: Function chCoreGetStatusX() changed to return a memory region object instead of a simple size. - NEW: RT and NIL upgraded to support the enhanced OSLIB. - NEW: Memory areas/pointers checker functions added to OSLIB. - NEW: STM32G0B1 USBv2 driver. - NEW: USBv1 driver optimization and removal of a potential race condition (not demonstrated). - NEW: Added elfAcquireBus()/eflReleaseBus() functions to EFL driver. - NEW: Increased stacks size in RT test suite from 128 to 192. added an option to override the stack size by defining THREADS_STACK_SIZE in the makefile. - NEW: Added STM32L073RZ-Nucleo64 to USB-CDC "multi" demo. Removed old demo. - NEW: Added an STM32 WDG "multi" demo. Removed all old WDG demos. - NEW: Added option to copy vectors in RAM on GCC startup for ARMv6-M, ARMv7-M and ARMv8-M-ML. - NEW: On STM32WBxx added a check on STM32_LSI_ENABLE required by IWDG. - NEW: Added SPIv2 support also to STM32WB and STM32WL. - FIX: Re-opened and fixed bug #1100 (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed STM32 RTCv2 registers synchronization errata (bug #1231) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed STM32 ADCv1 and ADCv5 do not allow prescaler divide value of 1 (bug #1230)(backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed missing chech on STM32 SPIv2 DMA settings for SPI1 (bug #1229) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed ARMv6-M port Keil compiler fail (bug #1228) (backported to 21.11.2). - FIX: Fixed invalid handling of lwIP NETIF_FLAG_LINK_UP flag (bug #1227) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed missing TIM16/17 errata handling for STM32G0xx (bug #1226) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed missing ADC errata handling for STM32G0xx (bug #1225) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed problem in the HAL I2C fallback driver (bug #1224) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed GPIOH clock not enabled on STM32L432 (bug #1223) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed invalid cumulative time stat in RT (bug #1222) (backported to 21.11.2). - FIX: Fixed incorrect type cast in TIME_I2US() (bug #1221) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed missing clock disable for STM32 OCTOSPI2 (bug #1220) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed wrong condition in STM32 sio_lld_read() function (bug #1219) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed STM32 Ethernet driver causes system hang after 2^31 packets sent/received (bug #1218)(backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed clock re-initialization problem in STM32 USARTv2 and USARTv3 drivers (bug #1217)(backported to 21.11.2). - FIX: Fixed assertion on initialization of STM32H7xx (bug #1216) (backported to 21.11.2). - FIX: Fixed Virtual Timers failure in a specific condition (bug #1215) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed invalid STM32_OTG_STEPPING for STM32F40_41xxx (bug #1214) (backported to 21.11.2). - FIX: Fixed SPIv2 driver compile fails when SPI_USE_SYNCHRONIZATION is FALSE (bug #1213)(backported to 21.11.2). - FIX: Fixed invalid state transition in SNOR flash driver (bug #1212) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed missing exit condition in sioSynchronizeRX() and sioSynchronizeTX() (bug #1211)(backported to 21.11.2). - FIX: Fixed missing check in chobjcaches.h (bug #1210) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed misspelled chTraceSuspendI() function name (bug #1209) (backported to 21.11.2). - FIX: Fixed RT testbuild application broken (bug #1208) (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed PWR_CR2_USV not set in STM32L4+ mcuconf.h file (bug #1207) (backported to 21.11.1). - FIX: Fixed USB not enabled on STM32F103x6 (bug #1206) (backported to 20.3.5)(backported to 21.11.1). - FIX: Fixed RT test suite build fails when CH_CFG_USE_TIMESTAMP is FALSE (bug #1205)(backported to 21.11.1). - FIX: Fixed wrong number of CAN filters for STM32L496/9A6 (bug #1204) (backported to 20.3.5)(backported to 21.11.1). - FIX: Fixed DMA stream not disabled in STM32 QUADSPIv1 driver (bug #1203) (backported to 20.3.5)(backported to 21.11.1). - FIX: Fixed I2C4 DMA streams for STM32L496 (bug #1202) (backported to 20.3.5)(backported to 21.11.1). - FIX: Fixed STM32_SDMMC2_NUMBER on STM32H7 (bug #1201) (backported to 20.3.5)(backported to 21.11.1). - FIX: Fixed STM32G0B1 demo application hangs debuggers (bug #1200) (backported to 21.11.1).