Cross-compilaiton process tweak and SCEX bugfix #625
@ -47,6 +47,11 @@ will consitute of a breaking change warranting a new major release:
|
||||
recovery handling becomes stuck in the custom recovery sequence when swichting power back on.
|
||||
- The dual lane custom recovery handling was adapted to always perform proper power switch handling
|
||||
irrespective of current or target modes.
|
||||
- The cross compiler binary path now needs to be set explicitely as an environmental variable
|
||||
named `CROSS_COMPILE_BIN_PATH` when setting up the build system. This prevents CMake from
|
||||
selecting wrong cross-compilers. CMake will not seach in the system path for cross-compilers
|
||||
anymore.
|
||||
- Compile fix if SCEX is compiled for the EM.
|
||||
|
||||
# [v2.0.4] 2023-04-19
|
||||
|
||||
|
18
README.md
18
README.md
@ -99,11 +99,21 @@ When using Windows, run theses steps in MSYS2.
|
||||
git submodule update --init
|
||||
```
|
||||
|
||||
3. Ensure that the cross-compiler is working with `arm-linux-gnueabihf-gcc --version` and that
|
||||
3. Create two system variables to pass the system root path and the cross-compiler path to the
|
||||
build system. You only need to do this once when setting up the build system.
|
||||
Example for Unix:
|
||||
|
||||
```sh
|
||||
export CROSS_COMPILE_BIN_PATH=<absolutePathToCrossCompilerBinPath>
|
||||
export ZYNQ_7020_SYSROOT=<absolutePathToSysroot>
|
||||
```
|
||||
|
||||
4. Ensure that the cross-compiler is working with
|
||||
`${CROSS_COMPILE_BIN_PATH}/arm-linux-gnueabihf-gcc --version` and that
|
||||
the sysroot environmental variables have been set like specified in the
|
||||
[root filesystem chapter](#sysroot).
|
||||
|
||||
4. Run the CMake configuration to create the build system in a `build-Debug-Q7S` folder.
|
||||
5. Run the CMake configuration to create the build system in a `build-Debug-Q7S` folder.
|
||||
Add `-G "MinGW Makefiles` in MinGW64 on Windows.
|
||||
|
||||
```sh
|
||||
@ -112,7 +122,7 @@ When using Windows, run theses steps in MSYS2.
|
||||
cmake --build . -j
|
||||
```
|
||||
|
||||
You can also use provided shell scripts to perform these commands.
|
||||
Please note that you can also use provided shell scripts to perform these commands.
|
||||
```sh
|
||||
cp scripts/q7s-env.sh ..
|
||||
cp scripts/q7s-env-em.sh ..
|
||||
@ -144,7 +154,7 @@ When using Windows, run theses steps in MSYS2.
|
||||
There are also different values for `-DTGT_BSP` to build for the Raspberry Pi
|
||||
or the Beagle Bone Black: `arm/raspberrypi` and `arm/beagleboneblack`.
|
||||
|
||||
5. Build the software with
|
||||
6. Build the software with
|
||||
|
||||
```sh
|
||||
cd cmake-build-debug-q7s
|
||||
|
@ -140,7 +140,7 @@ void ObjectFactory::produce(void* args) {
|
||||
#endif /* OBSW_ADD_TEST_CODE == 1 */
|
||||
#if OBSW_ADD_SCEX_DEVICE == 1
|
||||
createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false,
|
||||
pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
|
||||
power::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
|
||||
#endif
|
||||
createAcsController(true, enableHkSets);
|
||||
HeaterHandler* heaterHandler;
|
||||
|
@ -40,8 +40,8 @@ set(CROSS_COMPILE_OBJCOPY "${CROSS_COMPILE}-objcopy")
|
||||
set(CROSS_COMPILE_SIZE "${CROSS_COMPILE}-size")
|
||||
|
||||
# At the very least, cross compile gcc and g++ have to be set!
|
||||
find_program (CMAKE_C_COMPILER ${CROSS_COMPILE_CC} REQUIRED)
|
||||
find_program (CMAKE_CXX_COMPILER ${CROSS_COMPILE_CXX} REQUIRED)
|
||||
find_program (CMAKE_C_COMPILER ${CROSS_COMPILE_CC} HINTS $ENV{CROSS_COMPILE_BIN_PATH} NO_DEFAULT_PATH REQUIRED)
|
||||
find_program (CMAKE_CXX_COMPILER ${CROSS_COMPILE_CXX} HINTS $ENV{CROSS_COMPILE_BIN_PATH} NO_DEFAULT_PATH REQUIRED)
|
||||
# Useful utilities, not strictly necessary
|
||||
find_program(CMAKE_SIZE ${CROSS_COMPILE_SIZE})
|
||||
find_program(CMAKE_OBJCOPY ${CROSS_COMPILE_OBJCOPY})
|
||||
|
@ -4,7 +4,7 @@
|
||||
# custom cross-compiler and sysroot path setups
|
||||
|
||||
# Adapt the following two entries to your need
|
||||
CROSS_COMPILE_BIN_PATH="/opt/q7s-gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin"
|
||||
export CROSS_COMPILE_BIN_PATH="/opt/q7s-gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin"
|
||||
export ZYNQ_7020_SYSROOT="/opt/xiphos/sdk/ark/sysroots/cortexa9hf-neon-xiphos-linux-gnueabi"
|
||||
|
||||
export PATH=$PATH:${CROSS_COMPILE_BIN_PATH}
|
||||
|
@ -4,7 +4,7 @@
|
||||
# custom cross-compiler and sysroot path setups
|
||||
|
||||
# Adapt the following two entries to your need
|
||||
CROSS_COMPILE_BIN_PATH="/opt/q7s-gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin"
|
||||
export CROSS_COMPILE_BIN_PATH="/opt/q7s-gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin"
|
||||
export ZYNQ_7020_SYSROOT="/opt/xiphos/sdk/ark/sysroots/cortexa9hf-neon-xiphos-linux-gnueabi"
|
||||
|
||||
export PATH=$PATH:${CROSS_COMPILE_BIN_PATH}
|
||||
|
Loading…
x
Reference in New Issue
Block a user