diff --git a/change_log.md b/change_log.md new file mode 100644 index 0000000000000000000000000000000000000000..e23b95fdebc174d98a6cb3f44a253d231a7ef9e2 --- /dev/null +++ b/change_log.md @@ -0,0 +1,63 @@ +SCP-firmware Change Log +======================= + +Copyright (c) 2019, Arm Limited and Contributors. All rights reserved. + +SCP-firmware - version 2.4.0 +============================ + +New features +------------ + +- Module-based architecture with an event-driven execution model: + - Firmware code is organized into modules, where a module fulfills a well- + defined role (driver HAL, driver, protocol or service). + - A framework drives the initialization, orchestration of, and interactions + between modules. + +- Processor-agnostic module code enables firmware portability across systems: + - Processor-dependent features (e.g. interrupt handling) are abstracted from + the modules by the framework. + - The framework relies on an interface whose implementation is processor- + dependent to provide these features. + +- Module configurability easing the re-use of modules on different platforms: + - Strict split between the hardware and software feature configuration data + and module code. + +- A native framework test suite provides rapid development and validation of the + core framework implementation. + +- Support for Armv7-M control processor architecture based on CMSIS v5 and Keil + RTX 5. + +- Provides system initialization support to enable boot of the application + cores. + +- Provides the following runtime services: + - Power domain management + - System power management + - Performance domain management (Dynamic voltage and frequency scaling) + - Clock management + - Sensor management + +- Provides a reference implementation of the System Control and Management + Interface v1.0 (SCMI, platform-side). The SCMI specification can be found + [here](http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf). + +- Provides a build system supporting: + - The GNU Arm Embedded and Arm Compiler 6 toolchains + - Platforms with multiple firmware images + +- In-source Doxygen documentation + +- Support for the SGM-775 platform + +Known issues +------------ + +- The build system does not configure the compiler to avoid code generation of + unaligned accesses. As ARMv7-M targets are configured to trap on unaligned + word or halfword accesses, this can result in hardware exceptions. + [This patch](https://github.com/ARM-software/SCP-firmware/commit/d2a77e0d4d0d369f7504c032a380578a4d145438) + fixes this issue. diff --git a/doc/config.dxy b/doc/config.dxy index a03d07279b5e8ef1792bbc749fdcb9cbc64e3971..ae6ebd10465cec8fd2bdcca14d364550b0b8d6ff 100644 --- a/doc/config.dxy +++ b/doc/config.dxy @@ -114,6 +114,7 @@ WARN_LOGFILE = INPUT = $(TOP_DIR)/readme.md \ $(TOP_DIR)/license.md \ $(TOP_DIR)/user_guide.md \ + $(TOP_DIR)/change_log.md \ $(BS_DIR)/doc.md \ $(DOC_DIR)/code_style.md \ $(DOC_DIR)/framework.md \ diff --git a/readme.md b/readme.md index 4e5b4b7e2197fbb343e56afafdf90e5ec813e0f2..8233d308fd365dfebb163c7635ba5304a1491774 100644 --- a/readme.md +++ b/readme.md @@ -40,10 +40,12 @@ Functionality ------------- - Initialization of the system to enable application core boot -- Power domain management -- System power management -- Dynamic voltage and frequency scaling (DVFS) -- Sensor management +- Runtime services: + - Power domain management + - System power management + - Performance domain management (Dynamic voltage and frequency scaling) + - Clock management + - Sensor management - System Control and Management Interface (SCMI, platform-side) - Support for the GNU Arm Embedded and Arm Compiler 6 toolchains - Support for platforms with several control processors