diff --git a/ARM.CMSIS-DSP.pdsc b/ARM.CMSIS-DSP.pdsc index 19a41c2e..a57fe141 100644 --- a/ARM.CMSIS-DSP.pdsc +++ b/ARM.CMSIS-DSP.pdsc @@ -34,7 +34,7 @@ Components required for DSP - + diff --git a/Doxygen/dropdown.png b/Doxygen/dropdown.png new file mode 100644 index 00000000..1a8a9ed5 Binary files /dev/null and b/Doxygen/dropdown.png differ diff --git a/Doxygen/version.css b/Doxygen/version.css new file mode 100644 index 00000000..941eafdf --- /dev/null +++ b/Doxygen/version.css @@ -0,0 +1,45 @@ +/* Dropdown Button */ +.dropbtn { + margin: 0px; + padding: 0px 0px 0px 1em; + background-image: url(dropdown.png); + background-repeat: no-repeat; + background-size: 0.75em; + background-position: left center; +} + +/* Dropdown button on hover & focus */ +.dropbtn:hover, .dropbtn:focus { + background-size: 0.8em; +} + +/* The container
- needed to position the dropdown content */ +.dropdown { + position: relative; + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #f1f1f1; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.4); + z-index: 1; +} + +/* Links inside the dropdown */ +.dropdown-content a { + # color: black; + color: #3A568E; + padding: 4px 6px; + text-decoration: none; + display: block; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover {background-color: #ddd} + +/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */ +.show {display:block;} diff --git a/README.md b/README.md index 65c69feb..d8f3a42c 100755 --- a/README.md +++ b/README.md @@ -34,15 +34,19 @@ With this wrapper you can design your algorithm in Python using an API as close The goal is to make it easier to move from a design to a final implementation in C. -### Synchronous Data Flow +### Synchronous Data Flow (SDF) CMSIS-DSP is also providing an experimental [synchronous data flow scheduler](SDFTools/README.md): * You define your compute graph in Python -* A static schedule (computed by the Python script is generated) -* The static schedule can be run on the device +* A static schedule (computed by the Python script) is generated +* The static schedule can be run on the device with very low overhead -The scripts for the synchronous data flow (SDF) are part of the CMSIS-DSP Python wrapper. +The Python scripts for the synchronous data flow (SDF) are part of the CMSIS-DSP Python wrapper. + +The header files are part of the CMSIS-DSP pack (version 1.10.2 and above). + +The audio streaming nodes on top of CMSIS-RTOS2 are not part of the CMSIS-DSP pack but can be found in the repository. They are demo quality only. They can be used with Arm Virtual Hardware. The SDF is making it easier to implement a streaming solution : connecting different compute kernels each consuming and producing different amount of data. @@ -81,7 +85,7 @@ This optimization will **not** occur when `-fno-builtin` is used and it will hav Some compiler may also require the use of option `-munaligned-access` to specify that unaligned accesses are used. -### Half float support +## Half float support `f16` data type (half float) has been added to the library. It is useful only if your Cortex has some half float hardware acceleration (for instance with Helium extension). If you don't need `f16`, you should disable it since it may cause compilation problems. Just define `-DDISABLEFLOAT16` when building. @@ -140,7 +144,7 @@ project (testcmsisdsp VERSION 0.1) add_subdirectory(${CMSISDSP}/Source bin_dsp) ``` -CMSIS-DSP is dependent on the CMSIS Core includes. So, you should define `CMSISCORE` on the cmake command line. The path used will be `${CMSISCORE}\Include`. +CMSIS-DSP is dependent on the CMSIS Core includes. So, you should define `CMSISCORE` on the cmake command line. The path used will be `${CMSISCORE}/Include`. You should also set the compilation options to use to build the library. @@ -163,13 +167,12 @@ You need to build with `-D__GNUC_PYTHON__` on the compiler command line. This fl When this flag is enabled, CMSIS-DSP is defining a few macros used in the library for compiler portability: ```C -#include #define __ALIGNED(x) __attribute__((aligned(x))) #define __STATIC_FORCEINLINE static inline __attribute__((always_inline)) #define __STATIC_INLINE static inline ``` -If the compiler you are using is requiring different definitions, you can add them to `arm_math_types.h` in the `Include` folder of the library. MSVC and XCode are already supported and in those case, you don't need to define `-D__GNUC_PYTHON`__ +If the compiler you are using is requiring different definitions, you can add them to `arm_math_types.h` in the `Include` folder of the library. MSVC and XCode are already supported and in those case, you don't need to define `-D__GNUC_PYTHON__` Then, you need to define `-DARM_MATH_NEON` @@ -178,7 +181,7 @@ For cmake the equivalent options are: * -DHOST=ON * -DNEON=ON -cmake is automatically including the `ComputeLibrary` folder. If you are using a different build, you need to include this folder too. +cmake is automatically including the `ComputeLibrary` folder. If you are using a different build, you need to include this folder too to build with Neon support. ### Running