Hi Benjamin,

The reason that you are getting those problems is because of the lack of 
support for Beaglebone for the Ethdriver component. The picoserver application 
uses the Ethdriver component to interface with the Ethernet device and the 
component itself relies on the Ethernet drivers located inside our 'util_libs' 
repository (see https://github.com/seL4/util_libs, in particular the 
'libethdrivers' folder).

I have tried to add support for Beaglebone to the Ethdriver component but gave 
up due to a high effort-to-benefit ratio and also the task not being of a high 
priority. The Ethernet drivers for Beaglebone are outdated and requires a 
rewriting effort to get it to work well with the PicoServer and Ethdriver 
environment.

Currently, we do not have plans to resolve this issue. If you wish to undertake 
the task of rewriting the Beaglebone Ethernet drivers, there is a pointer I can 
give you.

You would need to remove the existing coupling with the lwIP library. The 
drivers use portions of the library and this may conflict with the PicoTCP 
library. See util_libs/libethdrivers/src/plat/am335x/lwiplib.h and 
util_libs/libethdrivers/src/plat/am335x/cpsw/cpswif.[c|h].

Sincerely,
Damon
________________________________
From: Devel <[email protected]> on behalf of KAP Benjamin 
<[email protected]>
Sent: Sunday, 5 May 2019 6:03 AM
To: [email protected]
Subject: [seL4] BeagleBone and CAmkES app picoserver

Hello

I am trying to compile the CAmkES app picoserver for the BeagleBone Black but I 
do encounter some errors which I cannot manage to solve.

Steps:
- I repo synced the latest camkes-manifest which was added support for the 
BeagleBone
- added am335x implementations to the Ethdriver global-component
- created subfolder and issued ../init-build.sh -DPLATFORM=am335x 
-DSIMULATION=0 -DAARCH32=1 -DCAMKES_APP=picoserver
- ninja

Errors:

[1/48] Building C object 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/cpsw/cpswif.c.obj
FAILED: 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/cpsw/cpswif.c.obj
ccache /usr/bin/arm-linux-gnueabi-gcc --sysroot=/host/PICO -DHAVE_AUTOCONF 
-I../projects/util_libs/libethdrivers/src/plat/am335x/cpsw 
-I../projects/util_libs/libethdrivers/include 
-I../projects/util_libs/libethdrivers/plat_include/am335x 
-I../projects/util_libs/libethdrivers/arch_include/arm -Iautoconf 
-Ikernel/gen_config -Ielfloader-tool/gen_config -Ilibsel4/gen_config 
-Iprojects/camkes-tool/libsel4camkes/gen_config 
-Iprojects/capdl/capdl-loader-app/gen_config 
-Iprojects/projects_libs/libusbdrivers/gen_config -Iprojects/rumprun/gen_config 
-Iprojects/seL4_libs/libsel4vka/gen_config 
-Iprojects/seL4_libs/libsel4utils/gen_config 
-Iprojects/seL4_libs/libsel4platsupport/gen_config 
-Iprojects/seL4_libs/libsel4serialserver/gen_config 
-Iprojects/seL4_libs/libsel4debug/gen_config 
-Iprojects/seL4_libs/libsel4test/gen_config 
-Iprojects/seL4_libs/libsel4muslcsys/gen_config 
-Iprojects/seL4_libs/libsel4vmm/gen_config 
-Iprojects/seL4_projects_libs/libsel4arm-vmm/gen_config 
-Iprojects/util_libs/libutils/gen_config 
-Iprojects/util_libs/libplatsupport/gen_config 
-Iprojects/util_libs/libethdrivers/gen_config 
-Iprojects/util_libs/libpicotcp/gen_config 
-Iprojects/musllibc/build-temp/stage/include 
-I../projects/util_libs/libplatsupport/include 
-I../projects/util_libs/libplatsupport/plat_include/am335x 
-I../projects/util_libs/libplatsupport/arch_include/arm 
-I../projects/util_libs/libutils/include 
-I../projects/util_libs/libutils/arch_include/arm 
-Iprojects/util_libs/libpicotcp/picotcp_external/picotcp/build/include 
-march=armv7-a -marm   -D__KERNEL_32__ -g   -nostdinc -fno-pic -fno-pie 
-fno-stack-protector -fno-asynchronous-unwind-tables -ftls-model=local-exec 
-mfloat-abi=softfp -std=gnu11 -MD -MT 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/cpsw/cpswif.c.obj
 -MF 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/cpsw/cpswif.c.obj.d
 -o 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/cpsw/cpswif.c.obj
   -c ../projects/util_libs/libethdrivers/src/plat/am335x/cpsw/cpswif.c
In file included from 
../projects/util_libs/libethdrivers/src/plat/am335x/cpsw/cpswif.c:47:0:
../projects/util_libs/libethdrivers/src/plat/am335x/cpsw/../lwiplib.h:46:22: 
fatal error: lwip/opt.h: No such file or directory
 #include <lwip/opt.h>
                      ^
compilation terminated.
[2/48] Performing build step for 'parse_capdl_tool'
make: Nothing to be done for 'all'.
[3/48] Building C object 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/beaglebone.c.obj
FAILED: 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/beaglebone.c.obj
ccache /usr/bin/arm-linux-gnueabi-gcc --sysroot=/host/PICO -DHAVE_AUTOCONF 
-I../projects/util_libs/libethdrivers/src/plat/am335x/cpsw 
-I../projects/util_libs/libethdrivers/include 
-I../projects/util_libs/libethdrivers/plat_include/am335x 
-I../projects/util_libs/libethdrivers/arch_include/arm -Iautoconf 
-Ikernel/gen_config -Ielfloader-tool/gen_config -Ilibsel4/gen_config 
-Iprojects/camkes-tool/libsel4camkes/gen_config 
-Iprojects/capdl/capdl-loader-app/gen_config 
-Iprojects/projects_libs/libusbdrivers/gen_config -Iprojects/rumprun/gen_config 
-Iprojects/seL4_libs/libsel4vka/gen_config 
-Iprojects/seL4_libs/libsel4utils/gen_config 
-Iprojects/seL4_libs/libsel4platsupport/gen_config 
-Iprojects/seL4_libs/libsel4serialserver/gen_config 
-Iprojects/seL4_libs/libsel4debug/gen_config 
-Iprojects/seL4_libs/libsel4test/gen_config 
-Iprojects/seL4_libs/libsel4muslcsys/gen_config 
-Iprojects/seL4_libs/libsel4vmm/gen_config 
-Iprojects/seL4_projects_libs/libsel4arm-vmm/gen_config 
-Iprojects/util_libs/libutils/gen_config 
-Iprojects/util_libs/libplatsupport/gen_config 
-Iprojects/util_libs/libethdrivers/gen_config 
-Iprojects/util_libs/libpicotcp/gen_config 
-Iprojects/musllibc/build-temp/stage/include 
-I../projects/util_libs/libplatsupport/include 
-I../projects/util_libs/libplatsupport/plat_include/am335x 
-I../projects/util_libs/libplatsupport/arch_include/arm 
-I../projects/util_libs/libutils/include 
-I../projects/util_libs/libutils/arch_include/arm 
-Iprojects/util_libs/libpicotcp/picotcp_external/picotcp/build/include 
-march=armv7-a -marm   -D__KERNEL_32__ -g   -nostdinc -fno-pic -fno-pie 
-fno-stack-protector -fno-asynchronous-unwind-tables -ftls-model=local-exec 
-mfloat-abi=softfp -std=gnu11 -MD -MT 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/beaglebone.c.obj
 -MF 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/beaglebone.c.obj.d
 -o 
projects/util_libs/libethdrivers/CMakeFiles/ethdrivers.dir/src/plat/am335x/beaglebone.c.obj
   -c ../projects/util_libs/libethdrivers/src/plat/am335x/beaglebone.c
../projects/util_libs/libethdrivers/src/plat/am335x/beaglebone.c:17:24: fatal 
error: lwip/netif.h: No such file or directory
 #include <lwip/netif.h>
                        ^
compilation terminated.
ninja: build stopped: subcommand failed.


Any help is very much appreciated.

Best regards,

Benjamin


P.S. The file 
projects/util_libs/libplatsupport/plat_include/am335x/platsupport/plat/timer.h 
contains the static UNUSED timer_properties_t dmt_properties which caused 
errors on compilation too. (I deleted the lines since they arent used anyways)

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to