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
1. Add the CMake as a module to the modules folder [here](https://github.com/nanoframework/nf-interpreter/tree/develop/CMake/Modules). The name of the module should follow the assembly name (Find**System.Device.Gpio**.cmake). Mind the CMake rules for the naming: start with _Find_ followed by the module name and _cmake_ extension. The CMake for the System.Device.Gpio module is [here](https://github.com/nanoframework/nf-interpreter/blob/main/CMake/Modules/FindSystem.Device.Gpio.cmake).
110
110
111
-
1. In the CMake [NF_NativeAssemblies.cmake](https://github.com/nanoframework/nf-interpreter/blob/main/CMake/Modules/NF_NativeAssemblies.cmake) add an option for the API. The option name must follow the pattern API_**namespace**. The option for System.Device.Gpio is API_System.Device.Gpio.
111
+
1. In the CMake [FindNF_NativeAssemblies.cmake](https://github.com/nanoframework/nf-interpreter/blob/main/CMake/Modules/FindNF_NativeAssemblies.cmake) add an option for the API. The option name must follow the pattern API_**namespace**. The option for System.Device.Gpio is API_System.Device.Gpio.
112
112
113
-
1. In the CMake [NF_NativeAssemblies.cmake](https://github.com/nanoframework/nf-interpreter/blob/main/CMake/Modules/NF_NativeAssemblies.cmake) find the macro `ParseApiOptions` and add a block for the API. Just copy/paste an existing one and replace the namespace with the one that you are adding.
113
+
1. In the CMake [NF_NativeAssemblies.cmake](https://github.com/nanoframework/nf-interpreter/blob/main/CMake/Modules/FindNF_NativeAssemblies.cmake) find the text `WHEN ADDING A NEW API add the corresponding block below` and add a block for the API. Just copy/paste an existing one and replace the namespace with the one that you are adding.
114
114
115
115
1. Update the template file for the CMake presets [here](https://github.com/nanoframework/nf-interpreter/blob/main/CMakeUserPresets.TEMPLATE.json) to include the respective options. For the System.Device.Gpio example you would add to the _OPTION1..._ and _OPTION2..._ (under _linkage_) the following line: "API_System.Device.Gpio" : "OFF"
Copy file name to clipboardExpand all lines: content/building/build-instructions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ If you are using VS Code as your development platform we suggest that you use th
40
40
41
41
In case you specify an RTOS and you want its source to be downloaded from the official repository, you'll need:
42
42
43
-
- For ChibiOS a SVN client. [Tortoise SVN](https://tortoisesvn.net/downloads) seems to be a popular choice for Windows machines.
43
+
- For ChibiOS a SVN client. [Tortoise SVN](https://tortoisesvn.net/downloads.html) seems to be a popular choice for Windows machines.
44
44
- For all the other repositories a Git client. [Fork](https://git-fork.com/) it's a great visual git client packed with a lot of features or [GitHub Desktop](https://desktop.github.com/) seems to be a popular choice for Windows machines.
Copy file name to clipboardExpand all lines: content/building/cmake-presets.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,7 +115,7 @@ Below is a list of the build options available (last updated October 2022) for t
115
115
- "NF_FEATURE_RTC" : **`OFF`**
116
116
- Allows you to specify whether to use the real time clock unit of the hardware for date & time functions. Depends on target availability. Default is `OFF`.
117
117
- "NF_FEATURE_USE_APPDOMAINS" : **`OFF`**
118
-
- Allows you to specify whether to include, or not, support for Application Domains. Default is `OFF`. More information about this is available in the documentation [here](https://msdn.microsoft.com/en-us/library/cxk374d9(v=vs.90).aspx). **Note that the complete removal of support for this feature is being considered (see issue [here](https://github.com/nanoframework/nf-interpreter/issues/303)).**
118
+
- Allows you to specify whether to include, or not, support for Application Domains. Default is `OFF`. More information about this is available in the documentation [here](https://msdn.microsoft.com/en-us/library/cxk374d9(v=vs.90).aspx). **Note that the complete removal of support for this feature is being considered.**
119
119
- "NF_FEATURE_SUPPORT_REFLECTION": "ON"
120
120
- Set to `OFF` to disable support for System.Reflection API.
Copy file name to clipboardExpand all lines: content/esp32/esp32_pin_out.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
ESP32 Pin out differ depending of the physical hardware. What is common is the GPIO numbering. So refer to the documentation of your specific board to find out the physical relation.
4
4
5
-
You can find all the details for the default mapping in [this file](https://github.com/nanoframework/nf-interpreter/blob/main/targets/FreeRTOS_ESP32/ESP32_WROOM_32/common/Esp32_DeviceMapping.cpp)
5
+
You can find all the details for the default mapping in [this file](https://github.com/nanoframework/nf-interpreter/blob/main/targets/ESP32/_common/DeviceMapping_common.cpp)
6
6
7
7
The default mapping defines how the pins are configured on start up. These pins configurations can be configured/redefined using the nanoFramework.Hardware.Esp32 assembly.
Copy file name to clipboardExpand all lines: content/hal-pal/chibios/clr-managed-heap.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,9 @@ This document describes how the CLR manged heap is defined as a ChibiOS target.
7
7
For STM32 based devices:
8
8
The configurations are chained by linker files:
9
9
10
-
- the target linker file provided for the nanoCLR in the target board folder, e.g. [STM32F091xC.ld](https://github.com/nanoframework/nf-interpreter/blob/main/targets/CMSIS-OS/ChibiOS/ST_NUCLEO_F091RC/nanoCLR/STM32F091xC.ld) and from within calls rules.ld **except** the F7 series which calls rules_clr.ld, rules_code.ld, rules_data.ld and rules_stacks.ld directly.
11
-
-[rules.ld](https://github.com/nanoframework/nf-interpreter/blob/main/targets/CMSIS-OS/ChibiOS/common/rules.ld) (which is common to all STM32 based ChibiOS targets and calls the next set of linker files)
12
-
-[rules_clr.ld](https://github.com/nanoframework/nf-interpreter/blob/main/targets/CMSIS-OS/ChibiOS/common/rules_clr.ld), [rules_code.ld](https://github.com/nanoframework/nf-interpreter/blob/main/targets/CMSIS-OS/ChibiOS/common/rules_code.ld), [rules_data.ld](https://github.com/nanoframework/nf-interpreter/blob/main/targets/CMSIS-OS/ChibiOS/common/rules_data.ld) and [rules_stacks.ld](https://github.com/nanoframework/nf-interpreter/blob/main/targets/CMSIS-OS/ChibiOS/common/rules_stacks.ld)
10
+
- the target linker file provided for the nanoCLR in the target board folder, e.g. [STM32F091xC.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/ST_NUCLEO64_F091RC/nanoCLR/STM32F091xC_CLR.ld) and from within calls rules.ld **except** the F7 series which calls rules_clr.ld, rules_code.ld, rules_data.ld and rules_stacks.ld directly.
11
+
-[rules.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/_common/rules.ld) (which is common to all STM32 based ChibiOS targets and calls the next set of linker files)
12
+
-[rules_clr.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/_common/rules_clr.ld), [rules_code.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/_common/rules_code.ld), [rules_data.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/_common/rules_data.ld) and [rules_stacks.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/_common/rules_stacks.ld)
13
13
14
14
## Managed heap location and size
15
15
@@ -21,15 +21,15 @@ This empowers developers to create new target boards with maximum flexibility of
21
21
22
22
### Definition the CLR managed heap location
23
23
24
-
The location of the CLR managed heap is set in in target linker file provided for nanoCLR in the target boards folder, e.g. [STM32F091xC_CLR.ld](https://github.com/nanoframework/nf-interpreter/blob/develop/targets/CMSIS-OS/ChibiOS/ST_NUCLEO64_F091RC/nanoCLR/STM32F091xC_CLR.ld)
24
+
The location of the CLR managed heap is set in in target linker file provided for nanoCLR in the target boards folder, e.g. [STM32F091xC_CLR.ld](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/ST_NUCLEO64_F091RC/nanoCLR/STM32F091xC_CLR.ld)
25
25
26
26
For example the line (usually toward the end of the file) will contain something similar to `REGION_ALIAS("CLR_MANAGED_HEAP_RAM", ram0);`. The example stated here defines CLR manged heap location as being set in the _ram0_ region. The RAM regions and respective sizes are defined in the same file. For further information, please check the ChibiOS documentation for details on how to define further RAM regions.
27
27
28
28
### Size of the CLR managed heap
29
29
30
30
The size of the CLR managed heap is automatically adjusted to take all the available RAM space after the CRT heap (if it's assigned to that same RAM region).
31
31
32
-
It maybe be required to adjust the size of the CRT heap. This is set in the CMake file of the target board, e.g. [CMakeLists.txt](https://github.com/nanoframework/nf-interpreter/blob/develop/targets/CMSIS-OS/ChibiOS/ST_NUCLEO64_F091RC/CMakeLists.txt).
32
+
It maybe be required to adjust the size of the CRT heap. This is set in the CMake file of the target board, e.g. [CMakeLists.txt](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/ST_NUCLEO64_F091RC/CMakeLists.txt).
33
33
Look for the `__crt_heap_size__` definition in a line that contain something similar to `--defsym=__crt_heap_size__=0x800`. In the example stated here the size of CRT heap is being set to 0x800.
34
34
35
35
When defining the size you need to take into account several factors:
Copy file name to clipboardExpand all lines: content/hal-pal/chibios/external-memory.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Considering that the default placement of the CLR managed is in the SoC internal
19
19
20
20
### Example for STM32F429I-Discovery reference target
21
21
22
-
To provide a working example of this configuration we are taking the STM32F429I-Discovery reference target that is in the nf-interpreter repository [here](https://github.com/nanoframework/nf-interpreter/tree/main/targets/CMSIS-OS/ChibiOS/ST_STM32F429I_DISCOVERY).
22
+
To provide a working example of this configuration we are taking the STM32F429I-Discovery reference target that is in the nf-interpreter repository [here](https://github.com/nanoframework/nf-interpreter/tree/main/targets/ChibiOS/ST_STM32F429I_DISCOVERY).
23
23
This targets board has a 64Mbit SDRAM (the chip is the IS42S16400J).
24
24
25
25
1. The _target_ implementation is provided in the `target_external_memory.c` file that is located in the target base folder. This location allows the function to be reused by nanoCLR and nanoBooter, if desired. Plus, it's included in the compile sequence at a time that the target CPU and other required definitions are already set.
Copy file name to clipboardExpand all lines: content/reference-targets/esp32.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,9 @@ All other images are built with variations of those images. There are variants t
25
25
26
26
All M5Stack boards carry ESP32 chips. Some are revision 1, others 3, and others PICO. Please checkout the [official documentation](https://docs.m5stack.com/en/products?id=core) to understand which one is based on which chip.
0 commit comments