You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CMSIS/RTX code is imported from <ahref="https://github.com/ARM-software/CMSIS_5/"target="_blank">the original CMSIS repository</a>.
3
+
CMSIS/RTX code is imported from <ahref="https://github.com/ARM-software/CMSIS_5/"target="_blank">the original CMSIS repository</a> with the help of python script in mbed-os repository `mbed-os\tools\importer\importer.py`.
4
4
5
5
#### Memory considerations
6
6
@@ -25,51 +25,8 @@ Option | Value | Description |
25
25
26
26
#### Code structure
27
27
28
-
Due to differences in how the Mbed OS and CMSIS directory structures look, you can't import the original code directly. Some directory changes are necessary:
29
-
30
-
CMSIS5 | Mbed OS | Explanation |
31
-
-------|---------|-------------|
32
-
`CMSIS_5/CMSIS/Core/Include/core_*.h` | `mbed-os/cmsis/` | Core specific code |
`CMSIS_5/CMSIS/RTOS2/RTX/Source/svc_user.c` | `mbed-os/rtos/rtx2/TARGET_CORTEX_M/` | RTX SVC user table |
42
-
`CMSIS_5/CMSIS/RTOS2/RTX/Source/{ARM,GCC,IAR}/` | `mbed-os/rtos/TARGET_CORTEX/rtx5/TARGET_{M0,M0P,M3,RTOS_M4_M7,M23,M33}/TOOLCHAIN_{ARM,GCC,IAR}` | Toolchain and core specific exception handlers |
28
+
Due to differences in how the Mbed OS and CMSIS directory structures look, you can't import the original code directly using `importer.py` and configuration file `cmsis_importer.json`.
43
29
44
30
#### Modification
45
31
46
-
Due to different use cases between Mbed OS and CMSIS, we had to make some modifications to the source code. We've tried to upstream our changes to the CMSIS repository, but in cases where they aren't compatible with CMSIS requirements, we are forced to maintain a small set of changes.
47
-
48
-
##### CMSIS
49
-
50
-
Filename | Description |
51
-
---------|-------------|
52
-
`cmsis_compiler.h` | Added IAR missing __ALIGNED attribute for earlier (less than 7.8.4) versions |
53
-
`cmain.S` | custom IAR non-RTOS boot sequence for Mbed |
`cmsis_os1.h` | Change `osThreadDef` to accept 3 parameters rather than 4 and be not static as expected by Mbed OS |
61
-
`core_cm.h` | Doxygen added; included headers changed to match Mbed OS core selection; deferred priority setting of SVCall to uVisor when uVisor is enabled |
62
-
`RTX_Config.h` | Doxygen added; Mbed OS RTX config included |
63
-
`rtx_evr.c` | CMSIS component definition include removed |
64
-
`rtx_evr.h` | Doxygen added |
65
-
`rtx_thread.c` | Added per-thread uVisor context; notify uVisor of OS events |
66
-
`rtx_kernel.c` | Added per-thread uVisor context; notify uVisor of OS events |
`irq_cm4.s` | For all toolchains: added case for Cortex M4 cores without VFP |
70
-
`svc_user.c` | Removed as its template file and should not be in our code base |
71
-
`rt_OsEventObserver.{c,h}` | Added an interface for uVisor to be notified about certain events from privileged code |
72
-
`irq_armv8mbl.S` | IAR toolchain: added file for Cortex M23 core |
73
-
`irq_armv8mml.S` | IAR toolchain: added file for Cortex M33 core |
74
-
75
-
<spanclass="notes">**Note:** For all toolchains, Mbed OS uses `irq_cm0.s` for both M0 and M0P cores.</span>
32
+
Due to different use cases between Mbed OS and CMSIS, we had to make some modifications to the source code. We've tried to upstream our changes to the CMSIS repository, but in cases where they aren't compatible with CMSIS requirements, we are forced to maintain a small set of changes. Changes are maintained as separate commits in mbed-os, and SHA's are listed in `commit_sha` section of `cmsis_importer.json` file.
0 commit comments