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
For windows, linux, bsd or devices suported a file system like littlefs, the following directory structure is used. (Note for devices using inx's simple flat FS then the filenames rename the same, but there is no directory strcuture.)
686
686
687
-
## ./bin
687
+
## Windows & Linux
688
+
### ./bin
688
689
689
690
This is the main container for ehs executable code. This contains subdirectories listed below plus the following files:
690
691
691
-
### .bbin/run_ehs.sh
692
+
#### .bbin/run_ehs.sh
692
693
693
694
```bash
694
695
run_ehs.sh or run_ehs.bat # sarts ehs.exe with any env and os intialisation required.
@@ -700,12 +701,12 @@ Arguements may include
700
701
./run_ehs.sh NO_RESTART DEBUG # starts ehs with logging to disk or GDB. respectively.
701
702
```
702
703
703
-
###./bin/ehs.exe ehs.exe
704
+
#### `./bin/ehs.exe ehs.exe`
704
705
705
706
This is the ehs core executable (user space kernel) this should be run as root in which case it will gain high thread priority and will run as a linux REAL_TIME_THREAD_PRIOIRITY if ran as root.
706
707
707
708
708
-
###./bin/cslib/
709
+
#### `./bin/cslib/`
709
710
DLLs (e.g. so) loaded dynamically by EHS that are not available in the OS.
710
711
711
712
These are located in run_ehs.sh where LD_LIBRARY_PATH is set to find them.
@@ -718,25 +719,21 @@ runtime libraries including for example plugin directories for middleware such a
718
719
These are typically standalone [.so]() or .dll files required for EHS components
719
720
EHS core should not be dependent on these libs.
720
721
721
-
### ./bin/cscore/
722
-
722
+
#### `./bin/cscore/`
723
723
Rarely used additional DLL location for core eRT runtime dependencies. files such as any libc.so can be deployed here, whcih are needed at initial loading of ehs.
724
+
S
724
725
726
+
### `./appdata/`
727
+
contains default temporary and named Lucid applications (SODL files)
728
+
### `./sysdata/`
729
+
OS scripts and data used by supivisor processes and OS level initialisation scripts.
730
+
### `./devman`
731
+
Included on builds tha supper Devman. This contains subfolder that identify the server configuration and reference credentials and certificate requirements
725
732
726
-
### **Component Support Directories (Plugins)**
727
-
728
-
---
729
-
730
-
Many 3rd party support libraries require directories to contain plugin libs, extensions, meta data or scripting to run. Examples include VLC, LUA.
731
-
THis may not be used at all any more. Plugsin are usually included as subdirectories to cslib
732
-
733
-
#### **Entry**
734
-
735
-
ehs/bin/csdir
733
+
### Example Linux runtime files
736
734
737
-
## eRT **Runtime
738
735
739
-
Degrees of pmemory ersistence:
736
+
Degrees of memory persistence:
740
737
741
738
1. Runtime Dynamic
742
739
1. Restart Application
@@ -794,8 +791,18 @@ Degrees of pmemory ersistence:
794
791
795
792
```
796
793
794
+
## Android
795
+
The Android file system for applicaitons (typically) `/sdcard/Android/data/com.inx.ehs/files` contains the same as a Windows Linux file system, but does not include a `./bin` directory.
797
796
798
-
### ert-components Multi-target Code Structure**
797
+
## MCUs with Littlefs
798
+
These als follow the general scheme of Windows and Linux, but without a ./bin directory.
799
+
Zephyr builds may include libraries in this directory.
800
+
801
+
802
+
803
+
# Source Tree Layout
804
+
805
+
## ert-components Multi-target Code Structure**
799
806
800
807
```bash
801
808
./Common/ # HW independent
@@ -804,14 +811,14 @@ Degrees of pmemory ersistence:
804
811
```
805
812
806
813
807
-
808
-
### Toolchain Selection
814
+
# SDK Configuration
815
+
## Toolchain Selection
809
816
810
817
the default toolchains are selected on the basis of the target OS, but are also arranged by which host they can run on. <HOST_OS> is the build systems architecture string as defined by **uname -i** on the build host**.**
811
818
812
819
The `../ert-contrib-middleware` repo contains toolchains that are not installed with a host (dockerhub host) tree contains toolchains
813
820
814
-
**To use a host installed toolchain** use
821
+
To use a host installed toolchain use
815
822
```make
816
823
TOOLCHAIN_NAME=HOST
817
824
```
@@ -824,19 +831,19 @@ Which toolchain that is used is defined by the `EHS_OS` and `EHS_ARCH` make vari
824
831
825
832
If **TOOLCHAIN_NAME, CC_OVERRIDE, or EHS_GNU_*** options are not set the following base toolchain will be used:
The base toolchain may be soft-linked in the toolchains directory to a more specific version so that the default can be easily changed to more up to date compilers if required (**TODO in ert-build-support**).
836
+
The base toolchain may be soft-linked in the toolchains directory to a more specific version so that the default can be easily changed to more up to date compilers if required.
830
837
831
-
If either **EHS_GNU_OS** or **EHS_GNU_ARCH** are setthen these will override the respective **EHS_OS** or **EHS_ARCH** parameters for the toolchain path. This is to allow matching of toolchains to GNU specific GNU formats that are used by compilers and also when building middleware packages with autotools for example.
838
+
If either `EHS_GNU_OS` or `EHS_GNU_ARCH` are setthen these will override the respective `EHS_OS` or `EHS_ARCH` parameters for the toolchain path. This is to allow matching of toolchains to GNU specific GNU formats that are used by compilers and also when building middleware packages with autotools for example.
832
839
833
840
#### Overriding Toolchains
834
841
835
842
There are cases where a specific toolchain is used for a target, which can be selected using the
836
843
837
844
Some toolchains use different naming conventions to the standard gcc format, particularly for cross-compilation.
838
845
839
-
The path to the toolchain binaries within **ert-build-support/toolchains/** can be explicitly set using by setting the variable **TOOLCHAIN_NAME** to the path.
846
+
The path to the toolchain binaries within `ert-build-support/toolchains/` can be explicitly set using by setting the variable `TOOLCHAIN_NAME` to the path.
0 commit comments