RIOT-OS / Release-Specs

Specification for RIOT releases and corresponding test configurations
4 stars 21 forks source link

08 - Task 11: Building zephyr on atsamr21_xpro not possible #276

Open Gabriel-Graf opened 1 year ago

Gabriel-Graf commented 1 year ago

Looks like the sRAM is to small.

For recreating this command is used in folder zephyrproject/zephyr/samples/net:

west build -b atsamr21_xpro ./sockets/echo_server -- -DOVERLAY_CONFIG=overlay-802154.conf

this is the output from the terminal:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/laptop/zephyrproject/zephyr/samples/net/build
-- west build: building application
[1/220] Preparing syscall dependency handling

[2/220] Generating include/generated/version.h
-- Zephyr version: 3.3.0-rc1 (/home/laptop/zephyrproject/zephyr), build: v3.3.0-rc1-32-g48a6f160f285
[210/220] Linking C executable zephyr/zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /home/laptop/zephyrproject/zephyr/samples/net/build/zephyr/zephyr_pre0.map 
: && ccache /home/laptop/zephyr-sdk-0.15.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc  -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr/zephyr_pre0.elf  zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj  -fuse-ld=bfd  -Wl,-T  zephyr/linker_zephyr_pre0.cmd  -Wl,-Map=/home/laptop/zephyrproject/zephyr/samples/net/build/zephyr/zephyr_pre0.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/aarch32/libarch__arm__core__aarch32.a  zephyr/arch/arch/arm/core/aarch32/cortex_m/libarch__arm__core__aarch32__cortex_m.a  zephyr/lib/libc/minimal/liblib__libc__minimal.a  zephyr/subsys/net/libsubsys__net.a  zephyr/subsys/net/l2/ieee802154/libsubsys__net__l2__ieee802154.a  zephyr/subsys/net/ip/libsubsys__net__ip.a  zephyr/subsys/net/lib/config/libsubsys__net__lib__config.a  zephyr/subsys/net/lib/conn_mgr/libsubsys__net__lib__conn_mgr.a  zephyr/subsys/random/libsubsys__random.a  zephyr/drivers/interrupt_controller/libdrivers__interrupt_controller.a  zephyr/drivers/console/libdrivers__console.a  zephyr/drivers/gpio/libdrivers__gpio.a  zephyr/drivers/ieee802154/libdrivers__ieee802154.a  zephyr/drivers/spi/libdrivers__spi.a  zephyr/drivers/serial/libdrivers__serial.a  zephyr/drivers/timer/libdrivers__timer.a  zephyr/drivers/pinctrl/libdrivers__pinctrl.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  -L"/home/laptop/zephyr-sdk-0.15.2/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.1.0/thumb/v6-m/nofp"  -L/home/laptop/zephyrproject/zephyr/samples/net/build/zephyr  -lgcc  zephyr/arch/common/libisr_tables.a  -no-pie  -mcpu=cortex-m0plus  -mthumb  -mabi=aapcs  -mfp16-format=ieee  -Wl,--gc-sections  -Wl,--build-id=none  -Wl,--sort-common=descending  -Wl,--sort-section=alignment  -Wl,-u,_OffsetAbsSyms  -Wl,-u,_ConfigAbsSyms  -nostdlib  -static  -Wl,-X  -Wl,-N  -Wl,--orphan-handling=warn && cd /home/laptop/zephyrproject/zephyr/samples/net/build/zephyr && /usr/bin/cmake -E echo
/home/laptop/zephyr-sdk-0.15.2/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.1.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/zephyr_pre0.elf section `noinit' will not fit in region `RAM'
/home/laptop/zephyr-sdk-0.15.2/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.1.0/../../../../arm-zephyr-eabi/bin/ld.bfd: region `RAM' overflowed by 1456 bytes
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /home/laptop/zephyrproject/zephyr/samples/net/build
maribu commented 1 year ago

Hi, thanks for the report.

Would you mind to open that on the zephyr project instead, maybe at https://github.com/zephyrproject-rtos/zephyr ?

We are the developers of RIOT, which is a competitor IoT OS to Zephyr. Some of do regularly test for interoperability with Zephyr as part of the release test. But to be honest I personally have never looked at or used Zephyr so far. The Zephyr devs will be much more competent in helping you out with issues on Zephyr.

chrysn commented 1 year ago

Thanks for the report. Pinging @leandrolanzieri who AFAIK has the best knowledge of how the interop test with Zephyr is run, and why the build command does not work any more. Maybe Zephyr's requirements grew, and we'll need to use a different board or application to do the interop testing.

MrKevinWeiss commented 1 year ago

We may need to clarify on our documentation how to do that, even fix a version. I think configuration is no easy task for Zephyr and and we should be explicit how we have things configured.

@jia200x was able to get some configuration running for this release at least...

kaspar030 commented 1 year ago

Would you mind to open that on the zephyr project instead, maybe at https://github.com/zephyrproject-rtos/zephyr ?

Maybe the Zephyr guys can help fixing this, but the issue is still in our release specs, so having the issue here is fine. our docs show command lines that don't work anymore. :)