133 lines
3.2 KiB
Markdown
133 lines
3.2 KiB
Markdown
# NetModule OEM Linux
|
|
The purpose of this repository is to provide a base or a template for customers to build their own distribution based on the NetModule OEM Linux distribution.
|
|
|
|
The submodules and source revisions are frozen to match the latest release.
|
|
|
|
|
|
## Initial steps
|
|
Before building anything, it is required to get all the submodules. This is done with the following commands:
|
|
```
|
|
git submodule init
|
|
git submodule update
|
|
```
|
|
|
|
### Copy PFE firmware
|
|
Please make sure that you copy the PFE firmware with the right version meta-netmodule-bsp/recipes-kernel/pfe/pfe_<version> to meta-netmodule-bsp/recipes-kernel/pfe/pfe/. You need to copy the class and util firmware files. This is necessary because the firmware is currently only available under NDA.
|
|
|
|
## Selecting hardware target
|
|
The hardware target can be selected by sourcing the machine_select script:
|
|
```
|
|
source machine_select
|
|
9 # Selecting ProCV2.2
|
|
```
|
|
|
|
## Building an image
|
|
This distribution provides three images:
|
|
|
|
1. The minimal image
|
|
2. The "release" image
|
|
3. The development image
|
|
|
|
### The minimal image
|
|
It is a initramfs image which can be loaded from the bootloader. It gives access to basic linux functionalities and allows to flash other images.
|
|
|
|
It can be built with the following commands:
|
|
```
|
|
source env.image-minimal
|
|
bitbake virtual/netmodule-image
|
|
```
|
|
|
|
### The "release" image
|
|
This is the default image providing all functionalities of the system.
|
|
|
|
It can be build with the following commands:
|
|
```
|
|
source env.image-ostree
|
|
bitbake netmodule-linux-image
|
|
```
|
|
|
|
### The development image
|
|
This is the default image extended with development and debugging tools.
|
|
|
|
It can be build with the following commands:
|
|
```
|
|
source env.image-ostree
|
|
bitbake netmodule-linux-image-dev
|
|
```
|
|
|
|
## Usage
|
|
|
|
### 1000BaseT1
|
|
|
|
The PFE driver comes up automatically. However, it does by default rely on autoneg. This doesn't seem to work with the Göpel Media Converter EasyCON. Therefore, a reset is required. Currently pfe0 shares the reset signal with eth0. That's why the following works:
|
|
```
|
|
brginup.sh enable-pfe
|
|
ifconfig eth0 down
|
|
ifconfig eth0 up
|
|
```
|
|
Now the 1000BaseT1 PHY works in default mode.
|
|
|
|
### Modem
|
|
The modem is disabled by default. However, it is possible to enable it with the following command:
|
|
```
|
|
bringup.sh enable-modem
|
|
```
|
|
|
|
To use adb you have to do the following:
|
|
```
|
|
echo 0x2c7c >> ~/.android/adb_usb.ini
|
|
adb shell
|
|
```
|
|
|
|
### Wifi
|
|
Enable the Wifi module (make sure you enable the modem first):
|
|
```
|
|
bringup.sh enable-wifi
|
|
```
|
|
|
|
### ADCs
|
|
Read out the SPI ADCs:
|
|
```
|
|
bringup.sh read-adc
|
|
```
|
|
|
|
### IMU
|
|
To enable the IMU you can call enable-imu.sh:
|
|
```
|
|
bringup.sh enable-imu.sh
|
|
```
|
|
|
|
To communicate with the imu you can use test-imu.sh:
|
|
```
|
|
# Read/Write
|
|
bringup.sh read-write-imu /dev/spidev1.0 1 2020
|
|
# Read
|
|
bringup.sh read-write-imu /dev/spidev1.0 1
|
|
```
|
|
|
|
### Secure Element
|
|
To enable the secure elelment call enable-secure-element:
|
|
```
|
|
bringup.sh enable-secure-element
|
|
```
|
|
There is no helper for the secure element available yet. You can use spidev_test to communicate with it:
|
|
```
|
|
spidev_test --help
|
|
```
|
|
|
|
### V2X
|
|
Enable the V2X and load a firmware (make sure you enable the modem first):
|
|
```
|
|
bringup.sh enable-v2x <path to fw>
|
|
```
|
|
|
|
### GPIOS
|
|
Set gpio:
|
|
```
|
|
bringup.sh set-gpio <gpio> <value>
|
|
```
|
|
Get gpio:
|
|
```
|
|
bringup.sh get-gpio <gpio>
|
|
```
|