Difference between revisions of "CMSIS notes"

From Wiki at Neela Nurseries
Jump to: navigation, search
(Starting local page on CMSIS embedded libraries.)
 
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
 +
CMSIS:  The Common Microcontroller Software Interface Standard
 +
 +
 +
Starting point naming elements of CMSIS:<br />
 +
*  https://developer.arm.com/tools-and-software/embedded/cmsis
  
  
Line 5: Line 11:
 
*  https://arm-software.github.io/CMSIS_5/Core/html/using_TrustZone_pg.html
 
*  https://arm-software.github.io/CMSIS_5/Core/html/using_TrustZone_pg.html
 
</ul>
 
</ul>
 +
 +
 +
In CMSIS file `./modules/hal/cmsis/CMSIS/DSP/Include/arm_math_types.h`:
 +
 +
<pre>
 +
503  /**
 +
504    * @brief Error status returned by some functions in the library.
 +
505    */
 +
506
 +
507  typedef enum
 +
508  {
 +
509    ARM_MATH_SUCCESS        =  0,        /**< No error */
 +
510    ARM_MATH_ARGUMENT_ERROR = -1,        /**< One or more arguments are incorrect */
 +
511    ARM_MATH_LENGTH_ERROR  = -2,        /**< Length of data buffer is incorrect */
 +
512    ARM_MATH_SIZE_MISMATCH  = -3,        /**< Size of matrices is not compatible with the operation */
 +
513    ARM_MATH_NANINF        = -4,        /**< Not-a-number (NaN) or infinity is generated */
 +
514    ARM_MATH_SINGULAR      = -5,        /**< Input matrix is singular and cannot be inverted */
 +
515    ARM_MATH_TEST_FAILURE  = -6        /**< Test Failed */
 +
516  } arm_status;
 +
</pre>
 +
 +
 +
Also worth reviewing content of file `arm_math.h`.
 +
 +
 +
2021-11-06 SAT:
 +
 +
To make use of ARM RFFT FAST functions, in Zephyr app must assign 'y' to the Kconfig symbol CONFIG_CMSIS_DSP_TRANSFORM as in this post:
 +
 +
*  https://github.com/zephyrproject-rtos/zephyr/issues/32206
 +
 +
 +
<!-- comment -->

Latest revision as of 17:16, 27 December 2023

CMSIS: The Common Microcontroller Software Interface Standard


Starting point naming elements of CMSIS:



In CMSIS file `./modules/hal/cmsis/CMSIS/DSP/Include/arm_math_types.h`:

 503   /**
 504    * @brief Error status returned by some functions in the library.
 505    */
 506 
 507   typedef enum
 508   {
 509     ARM_MATH_SUCCESS        =  0,        /**< No error */
 510     ARM_MATH_ARGUMENT_ERROR = -1,        /**< One or more arguments are incorrect */
 511     ARM_MATH_LENGTH_ERROR   = -2,        /**< Length of data buffer is incorrect */
 512     ARM_MATH_SIZE_MISMATCH  = -3,        /**< Size of matrices is not compatible with the operation */
 513     ARM_MATH_NANINF         = -4,        /**< Not-a-number (NaN) or infinity is generated */
 514     ARM_MATH_SINGULAR       = -5,        /**< Input matrix is singular and cannot be inverted */
 515     ARM_MATH_TEST_FAILURE   = -6         /**< Test Failed */
 516   } arm_status;


Also worth reviewing content of file `arm_math.h`.


2021-11-06 SAT:

To make use of ARM RFFT FAST functions, in Zephyr app must assign 'y' to the Kconfig symbol CONFIG_CMSIS_DSP_TRANSFORM as in this post: