From 9f95ff5b6ba01db09552b84a0ab79607060a2666 Mon Sep 17 00:00:00 2001 From: Ali Labbene Date: Wed, 11 Dec 2019 08:59:21 +0100 Subject: Official ARM version: v5.4.0 Add CMSIS V5.4.0, please refer to index.html available under \docs folder. Note: content of \CMSIS\Core\Include has been copied under \Include to keep the same structure used in existing projects, and thus avoid projects mass update Note: the following components have been removed from ARM original delivery (as not used in ST packages) - CMSIS_EW2018.pdf - .gitattributes - .gitignore - \Device - \CMSIS - \CoreValidation - \DAP - \Documentation - \DoxyGen - \Driver - \Pack - \RTOS\CMSIS_RTOS_Tutorial.pdf - \RTOS\RTX - \RTOS\Template - \RTOS2\RTX - \Utilities - All ARM/GCC projects files are deleted from \DSP, \RTOS and \RTOS2 Change-Id: Ia026c3f0f0d016627a4fb5a9032852c33d24b4d3 --- docs/DSP/html/ChangeLog_pg.html | 432 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 432 insertions(+) create mode 100644 docs/DSP/html/ChangeLog_pg.html (limited to 'docs/DSP/html/ChangeLog_pg.html') diff --git a/docs/DSP/html/ChangeLog_pg.html b/docs/DSP/html/ChangeLog_pg.html new file mode 100644 index 0000000..ed53d4f --- /dev/null +++ b/docs/DSP/html/ChangeLog_pg.html @@ -0,0 +1,432 @@ + + + + + +Revision History of CMSIS-DSP +CMSIS-DSP: Revision History of CMSIS-DSP + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
CMSIS-DSP +  Version 1.5.2 +
+
CMSIS DSP Software Library
+
+
+ +
+
    + +
+
+ + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Revision History of CMSIS-DSP
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Version Description
V1.5.2 Modified arm_math.h
    +
  • fixed GNU Compiler specific diagnostics.
  • +
  • moved __SSAT and __USAT to CMSIS-Core
  • +
+
V1.5.1

Changed copyright note.

+

Added ARMv8M DSP libraries.

+
V1.5.0

Modified arm_math.h

+
    +
  • removed macro TABLE_SIZE.
  • +
  • changed preprocessor conditions to select functions instead of SIMD instruction for Cortex-M3.
  • +
+

Modified arm_const_structs.c

+
    +
  • Added structure instances for the RFFT functions (equivalent to CFFT structures).
  • +
+
V1.4.10 (no source code change [still labeled 1.4.5])

Modified arm_sin_cos_f32.c

+ +

Modified arm_var_f32.c

+ +
V1.4.9 (no source code change [still labeled 1.4.5]) 2016/09/26

Modified arm_mat_mult_fast_q15.c, arm_mat_mult_fast_q31.c

+ +

Modified arm_conv_partial_q15.c

+ +

Modified arm_conv_q15.c

+ +

Modified arm_correlate_q15.c

+ +
V1.4.8 (no source code change [still labeled 1.4.5]) 2015/12/18

Modified arm_math.h, arm_bitreversal2.S

+
    +
  • corrected arm_sin_f32() for very small negative input values.
  • +
+

Modified arm_sin_f32.c

+
    +
  • Updated Texas Instruments Arm Compiler support.
  • +
+

Updated documentation

+ +
V1.4.7 (no source code change [still labeled 1.4.5]) 2015/10/20

Modified arm_math.h

+
    +
  • Added explicit type casts to remove compiler warnings.
  • +
  • Supressed irrelevant warnings for toolchain GCC.
  • +
+

Updated documentation

+
    +
  • functions arm_cos_f32, arm_sin_f32 use table lookup combined with linear interpolation (since V1.4.2). This is now documented.
  • +
+
V1.4.6 (no source code change [still labeled 1.4.5]) 2015/08/26 Modified arm_math.h +
V1.4.5 2015/03/19

Added support for the Cortex-M7 processor

+

Fixed bug in arm_mat_inverse_f32.c and arm_mat_inverse_f64.c. They weren't properly handling diagonal matrices.

+

arm_cfft_f32.c - help documentation updated

+

Updated documentation to show deprecated functions

+
V1.4.4 2014/07/31

Added the following new files:

+ +

Optimizations to the following files:

+ +
V1.4.3 2014/03/12

Undid changes to arm_biquad_cascade_df1_q31.c

+

Added support for COSMIC

+

Changed 'short' to 'q15_t' where appropriate

+

Fixed arm_conv_partial_fast_q15.c for UNALIGNED_SUPPORT_DISABLE

+

Fixed arm_mat_cmplx_mult_q15.c for UNALIGNED_SUPPORT_DISABLE

+

Fixed arm_conv_partial_opt_q7.c for UNALIGNED_SUPPORT_DISABLE

+

Restored the internal fftlen of 16 to arm_rfft_fast_init_f32.c

+

Updated core_xxx.h files to newer versions from ARM

+
V1.4.2 2013/10/16

Moved const structures from arm_const_structs.h to arm_const_structs.c

+

Rfft_fast_f32 no longer allows fft length of 16 as it wouldn't have worked anyways

+

Partial convolution was producing the wrong results in some cases

+

arm_lms_q31 and q15 now saturate the results in the M0 code to match the M3 & M4 code

+

Rfft_q15 and q31 had potential overflow issues resolved

+

arm_biquad_cascade_df1_q31.c had a typo which resulted in incorrect outputs

+

fast math sine and cosine now use linear interpolation

+

controller sin/cos now uses a more accurate interpolation algorithm

+

arm_mat_inverse was reading outside its input array

+

arm_cmplx_dot_prod was incorrect

+

switched some incorrect usages of __ssat to clip_q63_to_q31

+

changed var & std q31 to downshift input data by 8

+

var q31 & q15 no longer output larger data types

+

arm_mat_cmplx_mult_q15.c was done incorrectly for big vs little endian

+

arm_mat_mult_q31.c was inconsistent with the other multiplies, so added saturation

+

arm_conv_partial_q15 had an incorrect comparison between signed & unsigned values

+
V1.4.1 2013/02/20

Updated licenses in headers to 2013

+

Fixed ALIGN4 macro in arm_math.h

+

Added files to Cortex-M0 projects so that all projects have same file list

+

Fixed bugs in

+ +
V1.4.0 2013/01/09

Updated with more optimizations, bug fixes and new license information in headers

+

Optimized functions:

+
    +
  • arm_biquad_cascade_df2T_f32
  • +
  • arm_biquad_cascade_df1_q31
  • +
  • arm_fir_f32
  • +
  • arm_fir_fast_q31
  • +
  • arm_cfft_f32
  • +
  • arm_cfft_radix2_q31
  • +
  • arm_rfft_fast_f32 (new function)
  • +
+

Fixed compiler warnings in arm_math.h for comparing signed and unsigned ints

+

Fixed a saturation bug in arm_rms_q15

+

Simplified the code in arm_sin_cos_q31

+

Added a preprocessor directive to treat the Cortex M0+ just like the Cortex M0

+

The following functions were deprecated and will be removed in a future version

+
    +
  • arm_cfft_radix2_f32
  • +
  • arm_cfft_radix2_init_f32
  • +
  • arm_cfft_radix4_f32
  • +
  • arm_cfft_radix4_init_f32
  • +
+
V1.3.0

Added CMSIS DSP Software Library

+

The CMSIS DSP Software Library is a suite of common signal processing functions targeted to Cortex-M processor based microcontrollers. Even though the code has been specifically optimized towards using the extended DSP instruction set of the Cortex-M4 processor, the library can be compiled for any Cortex-M processor.

+

For more information please see CMSIS DSP Library documentation. Added Cortex-M4 Core Support

+

Additional folder CM4, containing the Cortex-M4 core support files, has been added. CM0 CM3 CM4 CoreSupport DeviceSupport

+

New naming for Core Support Files

+

The new Core Support Files are:

+
    +
  • core_cm#.h (# = 0, 3, 4)
  • +
  • core_cmFunc.h (Cortex-M Core Register access functions)
  • +
  • core_cmInstr.h (Cortex-M Core instructions)
  • +
  • core_cm4_simd.h (Cortex-M4 SIMD instructions)
  • +
+
V1.2.0

Removed CMSIS Middelware packages

+

CMSIS Middleware is on hold from ARM side until a agreement between all CMSIS partners is found. SystemFrequency renamed to SystemCoreClock

+

The variable name SystemCoreClock is more precise than SystemFrequency because the variable holds the clock value at which the core is running. Changed startup concept

+

The old startup concept (calling SystemInit_ExtMemCtl from startup file and calling SystemInit from main) has the weakness that it does not work for controllers which need a already configuerd clock system to configure the external memory controller.

+

Changed startup concept

+
    +
  • SystemInit() is called from startup file before premain.
  • +
  • SystemInit() configures the clock system and also configures an existing external memory controller.
  • +
  • SystemInit() must not use global variables.
  • +
  • SystemCoreClock is initialized with a correct predefined value.
  • +
  • Additional function void SystemCoreClockUpdate (void) is provided.
  • +
  • SystemCoreClockUpdate() updates the variable SystemCoreClock and must be called whenever the core clock is changed.
  • +
  • SystemCoreClockUpdate() evaluates the clock register settings and calculates the current core clock.
  • +
+

Advanced Debug Functions

+

ITM communication channel is only capable for OUT direction. To allow also communication for IN direction a simple concept is provided.

+
    +
  • Global variable volatile int ITM_RxBuffer used for IN data.
  • +
  • Function int ITM_CheckChar (void) checks if a new character is available.
  • +
  • Function int ITM_ReceiveChar (void) retrieves the new character.
  • +
+

For detailed explanation see file CMSIS debug support.htm.

+

Core Register Bit Definitions

+

Files core_cm3.h and core_cm0.h contain now bit definitions for Core Registers. The name for the defines correspond with the Cortex-M Technical Reference Manual.

+

e.g. SysTick structure with bit definitions

+
+
typedef struct
+
{
+
__IO uint32_t CTRL;
+
__IO uint32_t LOAD;
+
__IO uint32_t VAL;
+
__I uint32_t CALIB;
+
} SysTick_Type;
+
+
/* SysTick Control / Status Register Definitions */
+
#define SysTick_CTRL_COUNTFLAG_Pos 16
+
#define SysTick_CTRL_COUNTFLAG_Msk (1ul << SysTick_CTRL_COUNTFLAG_Pos)
+
#define SysTick_CTRL_CLKSOURCE_Pos 2
+
#define SysTick_CTRL_CLKSOURCE_Msk (1ul << SysTick_CTRL_CLKSOURCE_Pos)
+
#define SysTick_CTRL_TICKINT_Pos 1
+
#define SysTick_CTRL_TICKINT_Msk (1ul << SysTick_CTRL_TICKINT_Pos)
+
#define SysTick_CTRL_ENABLE_Pos 0
+
#define SysTick_CTRL_ENABLE_Msk (1ul << SysTick_CTRL_ENABLE_Pos)
+
/* SysTick Reload Register Definitions */
+
#define SysTick_LOAD_RELOAD_Pos 0
+
#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFul << SysTick_LOAD_RELOAD_Pos)
+
/* SysTick Current Register Definitions */
+
#define SysTick_VAL_CURRENT_Pos 0
+
#define SysTick_VAL_CURRENT_Msk (0xFFFFFFul << SysTick_VAL_CURRENT_Pos)
+
/* SysTick Calibration Register Definitions */
+
#define SysTick_CALIB_NOREF_Pos 31
+
#define SysTick_CALIB_NOREF_Msk (1ul << SysTick_CALIB_NOREF_Pos)
+
#define SysTick_CALIB_SKEW_Pos 30
+
#define SysTick_CALIB_SKEW_Msk (1ul << SysTick_CALIB_SKEW_Pos)
+
#define SysTick_CALIB_TENMS_Pos 0
+
#define SysTick_CALIB_TENMS_Msk (0xFFFFFFul << SysTick_VAL_CURRENT_Pos)
+
/* end of group CMSIS_CM3_SysTick */
+

DoxyGen Tags

+

DoxyGen tags in files core_cm3.[c,h] and core_cm0.[c,h] are reworked to create proper documentation using DoxyGen. Folder Structure

+

The folder structure is changed to differentiate the single support packages.

+
CM0
+CM3
+    CoreSupport
+    DeviceSupport
+        Vendor
+            Device
+                Startup
+                    Toolchain
+                    Toolchain
+                    ...
+            Device
+            ...
+        Vendor
+        ...
+    Example (optional)
+        Toolchain
+            Device
+            Device
+            ...
+        Toolchain
+        ...
+Documentation
+
V1.1.0 2012/02/15 Updated with more optimizations, bug fixes and minor API changes.
V1.0.11 2011/10/18 Bug Fix in conv, correlation, partial convolution.
V1.0.10 2011/7/15 Big Endian support added and Merged M0 and M3/M4 Source code.
V1.0.3 2010/11/29 Re-organized the CMSIS folders and updated documentation.
V1.0.2 2010/11/11 Documentation updated.
V1.0.1 2010/10/05 Production release and review comments incorporated.
V1.0.0 2010/09/20 Production release and review comments incorporated.
V0.0.9 2010/08/27 Added files: +
V0.0.7 2010/06/10 Misra-C changes done
V0.0.5 2010/04/26 incorporated review comments and updated with latest CMSIS layer
V0.0.3 2010/03/10 DP Initial version
+
+
+ + + + -- cgit