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
Copy file name to clipboardExpand all lines: docs/core/PORTING.md
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ Although uVisor is highly self-contained, it still requires some support from th
31
31
32
32
1.**Library glue layer**. The [ARMmbed/uvisor](https://github.com/ARMmbed/uvisor)`Makefile` allows you to build both release and debug libraries for all family configurations. The logic to generate this libraries, publish them, and then pick the right library for the right target at build time is OS-specific. This logic must be provided by a glue layer.
33
33
1.**Linker script**. It contains specific memory regions and symbols that uVisor relies on.
34
-
1.**Start-up script**. uVisor boots right after the system basic initialization, and before the C/C++ library initialization. The start-up script needs to call `uvisor_api.init()` in between those two.
34
+
1.**Start-up script**. uVisor boots right after the system basic initialization, and before the C/C++ library initialization. The start-up script needs to call `uvisor_init()` in between those two.
35
35
36
36
If you are porting uVisor to mbed OS, you will find that the library glue layer is already embedded in the [mbed OS code-base](https://github.com/ARMmbed/uvisor-lib). The linker script and start-up code also live in the same repository. We will guide you through the modifications needed in those files later in this guide.
37
37
@@ -297,7 +297,7 @@ The build process generates as many static libraries (`*.a` files) as your famil
297
297
298
298
You now need to integrate uVisor in the mbed OS code-base for your target. This requires the following steps, which we will cover in detail:
299
299
300
-
* Add a hook to `uvisor_api.init()` in your start-up script.
300
+
* Add a hook to `uvisor_init()` in your start-up script.
301
301
* Add the uVisor-specific sections to your platforms' linker scripts.
302
302
* Deploy the uVisor libraries for your target platforms.
303
303
* Enable uVisor in your targets.
@@ -313,24 +313,23 @@ Assuming that you already ported your platform to mbed, the start-up script usua
The start-up code must call the function `uvisor_api.init()` right after system initialization (usually called `SystemInit()`) and right before the C/C++ library initialization.
316
+
The start-up code must call the function `uvisor_init()` right after system initialization (usually called `SystemInit()`) and right before the C/C++ library initialization.
Make sure that no static initialization (zeroing the BSS section, loading data from flash to SRAM) happens before the uVisor initialization. Even setting a single global variable before `uvisor_api.init()` and then referring to it later on might result in data corruption.
332
+
Make sure that no static initialization (zeroing the BSS section, loading data from flash to SRAM) happens before the uVisor initialization. Even setting a single global variable before `uvisor_init()` and then referring to it later on might result in data corruption.
334
333
335
334
The conditional guards that we used in the example above rely on the `FEATURE_UVISOR` and `UVISOR_SUPPORTED` symbols, which will be covered shortly.
0 commit comments