This commit is contained in:
parent
7de968937e
commit
e59026d87c
88
README.md
88
README.md
@ -70,8 +70,9 @@ prerequisites.
|
|||||||
## Building the OBSW and flashing it on the Q7S
|
## Building the OBSW and flashing it on the Q7S
|
||||||
|
|
||||||
1. ARM cross-compiler installed, either as part of [Vivado 2018.2 installation](#vivado) or
|
1. ARM cross-compiler installed, either as part of [Vivado 2018.2 installation](#vivado) or
|
||||||
as a [separate download](#arm-toolchain)
|
as a [separate download](#arm-toolchain). The Xiphos SDK also installs a cross-compiler,
|
||||||
2. [Q7S sysroot](#sysroot) on local development machine
|
but its version is currently too old to compile the OBSW (7.3.0).
|
||||||
|
2. [Q7S sysroot](#sysroot) on local development machine. It is installed by the Xiphos SDK
|
||||||
3. Recommended: Eclipse or [Vivado 2018.2 SDK](#vivado) for OBSW development
|
3. Recommended: Eclipse or [Vivado 2018.2 SDK](#vivado) for OBSW development
|
||||||
3. [TCF agent](https://wiki.eclipse.org/TCF) running on Q7S
|
3. [TCF agent](https://wiki.eclipse.org/TCF) running on Q7S
|
||||||
|
|
||||||
@ -88,7 +89,7 @@ When using Windows, run theses steps in MSYS2.
|
|||||||
1. Clone the repository with
|
1. Clone the repository with
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://egit.irs.uni-stuttgart.de/eive/eive_obsw.git
|
git clone https://egit.irs.uni-stuttgart.de/eive/eive-obsw.git
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Update all the submodules
|
2. Update all the submodules
|
||||||
@ -144,13 +145,53 @@ When using Windows, run theses steps in MSYS2.
|
|||||||
There are also different values for `-DTGT_BSP` to build for the Raspberry Pi
|
There are also different values for `-DTGT_BSP` to build for the Raspberry Pi
|
||||||
or the Beagle Bone Black: `arm/raspberrypi` and `arm/beagleboneblack`.
|
or the Beagle Bone Black: `arm/raspberrypi` and `arm/beagleboneblack`.
|
||||||
|
|
||||||
5. Build the software with
|
## Build for the Q7S target root filesystem with `yocto`
|
||||||
|
|
||||||
|
The EIVE root filesystem will contain the EIVE OBSW and the Watchdog component.
|
||||||
|
It is currently generated with `yocto`, but the tool can not compile the primary
|
||||||
|
OBSW due to toolchain version incompatibility. Therefore, the OBSW components
|
||||||
|
are currently compiled using the toolchain specified in this README (e.g. installed by Vivado).
|
||||||
|
|
||||||
|
However, it is still possible to install the two components using yocto. A few helper files were
|
||||||
|
provided to make this process easier. The following steps can be used to install the OBSW
|
||||||
|
components and a version file to the yocto sources for the generation of the complete EIVE root
|
||||||
|
file system image. The steps here are shown for Ubuntu, you can use the according Windows
|
||||||
|
helper scripts as well.
|
||||||
|
|
||||||
|
1. Copy the `q7s-env.sh` script to the same layer as the `eive-obsw`.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd cmake-build-debug-q7s
|
cp scripts/q7s-env.sh ..
|
||||||
|
cd ..
|
||||||
|
./q7s-env.sh
|
||||||
|
q7s-make-release.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Compile the OBSW components in release mode
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd cmake-build-release-q7s
|
||||||
cmake --build . -j
|
cmake --build . -j
|
||||||
```
|
```
|
||||||
|
|
||||||
|
3. Make sure the [`q7s-yocto`](https://egit.irs.uni-stuttgart.de/eive/q7s-yocto)
|
||||||
|
repository or the [`q7s-package`](https://egit.irs.uni-stuttgart.de/eive/q7s-package.git)
|
||||||
|
repository and its `q7s-yocto` submodule were cloned in the same directory layer as
|
||||||
|
the `eive-obsw`.
|
||||||
|
|
||||||
|
4. Run the install script to install the files into `q7s-yocto`.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
install-obsw-yocto.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Navigate into the `q7s-yocto` repo and review the changes. You can then add and push those
|
||||||
|
changes.
|
||||||
|
|
||||||
|
6. You can now rebuild the root filesystem with the updated OBSW using `yocto`. This probably needs
|
||||||
|
to be done on another machine or in a VM. The [`q7s-yocto`](https://egit.irs.uni-stuttgart.de/eive/q7s-yocto)
|
||||||
|
repository contains details on how to best do this.
|
||||||
|
|
||||||
## Building in Xilinx SDK 2018.2
|
## Building in Xilinx SDK 2018.2
|
||||||
|
|
||||||
1. Open Xilinx SDK 2018.2
|
1. Open Xilinx SDK 2018.2
|
||||||
@ -661,35 +702,7 @@ Thus the replies are received with a larger delay compared to a direct TCP conne
|
|||||||
3. Make sure the netmask of the ehternet interface of the workstation matches the netmask of the Q7S
|
3. Make sure the netmask of the ehternet interface of the workstation matches the netmask of the Q7S
|
||||||
* When IP address is set to 192.168.133.10 and the netmask is 255.255.255.0, an example IP address for the workstation
|
* When IP address is set to 192.168.133.10 and the netmask is 255.255.255.0, an example IP address for the workstation
|
||||||
is 192.168.133.2
|
is 192.168.133.2
|
||||||
|
4. Make sure th `tcf-agent` is running by checking `systemctl status tcf-agent`
|
||||||
4. Run tcf-agent on Q7S
|
|
||||||
|
|
||||||
* Tcf-agent is not yet integrated in the rootfs of the Q7S. Therefore build tcf-agent manually
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git clone git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
|
|
||||||
cd org.eclipse.tcf.agent/agent
|
|
||||||
make CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld MACHINE=arm NO_SSL=1 NO_UUID=1
|
|
||||||
```
|
|
||||||
|
|
||||||
* Transfer executable agent from org.eclipse.tcf.agent/agent/obj/GNU/Linux/arm/Debug to /tmp of Q7S
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cd obj/GNU/Linux/arm/Debug
|
|
||||||
scp agent root@192.168.133.10:/tmp
|
|
||||||
```
|
|
||||||
|
|
||||||
* On Q7S
|
|
||||||
```sh
|
|
||||||
cd /tmp
|
|
||||||
chmod +x agent
|
|
||||||
```
|
|
||||||
|
|
||||||
* Run agent
|
|
||||||
```sh
|
|
||||||
./agent
|
|
||||||
```
|
|
||||||
|
|
||||||
5. In Xilinx SDK 2018.2 right click on project → Debug As → Debug Configurations
|
5. In Xilinx SDK 2018.2 right click on project → Debug As → Debug Configurations
|
||||||
6. Right click Xilinx C/C++ applicaton (System Debugger) → New →
|
6. Right click Xilinx C/C++ applicaton (System Debugger) → New →
|
||||||
7. Set Debug Type to Linux Application Debug and Connectin to Linux Agent
|
7. Set Debug Type to Linux Application Debug and Connectin to Linux Agent
|
||||||
@ -699,8 +712,8 @@ Thus the replies are received with a larger delay compared to a direct TCP conne
|
|||||||
11. Test connection (This ensures the TCF Agent is running on the Q7S)
|
11. Test connection (This ensures the TCF Agent is running on the Q7S)
|
||||||
12. Select Application tab
|
12. Select Application tab
|
||||||
* Project Name: eive_obsw
|
* Project Name: eive_obsw
|
||||||
* Local File Path: Path to eiveobsw-linux.elf (in `_bin\linux\devel`)
|
* Local File Path: Path to OBSW application image with debug symbols (non-stripped)
|
||||||
* Remote File Path: `/tmp/eive_obsw.elf`
|
* Remote File Path: `/tmp/<OBSW NAME>`
|
||||||
|
|
||||||
# <a id="file-transfer"></a> Transfering Files to the Q7S
|
# <a id="file-transfer"></a> Transfering Files to the Q7S
|
||||||
|
|
||||||
@ -726,7 +739,8 @@ From a windows machine files can be copied with putty tools (note: use IPv4 addr
|
|||||||
pscp -scp -P 22 eive@192.168.199.227:</directory-to-example-file/>/example-file </windows-machine-path/>
|
pscp -scp -P 22 eive@192.168.199.227:</directory-to-example-file/>/example-file </windows-machine-path/>
|
||||||
````
|
````
|
||||||
|
|
||||||
More detailed information about the used q7s commands can be found in the Q7S user manual.
|
A helper script named `q7s-cp.py` can be used together with the `q7s-port.sh`
|
||||||
|
script to make this process easier.
|
||||||
|
|
||||||
# <a id="q7s"></a> Q7S OBC
|
# <a id="q7s"></a> Q7S OBC
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user