Modem trace on Thingy:91X

One of our employees is following the Cellular Fundamentals courses and they got stuck on getting modem traces out of the Thingy:91X.

In lesson 7 exercise 1, the course instructs you to create a build for "whichever board you are using" and then add the nrf91-modem-trace-uart snippet.

This is the result of the build:

[132/157] Building C object modules/hal_nordic/modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/home/matteo/ncs/v3.2.0/modules/hal/nordic/nrfx/drivers[146/157] Building C object modules/hal_nordic/modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/home/matteo/ncs/v3.2.0/modules/hal/nordic/nrfx/helpers[152/157] Linking C executable zephyr/zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /home/matteo/work/cell-fund/l7/l7_e1_sol/build/b0/zephyr/zephyr_pre0.map 
: && ccache /home/matteo/ncs/toolchains/43683a87ea/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc  -gdwarf-4 -Os 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  -T  zephyr/linker_zephyr_pre0.cmd  -Wl,-Map,/home/matteo/work/cell-fund/l7/l7_e1_sol/build/b0/zephyr/zephyr_pre0.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/libarch__arm__core.a  zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a  zephyr/arch/arch/arm/core/cortex_m/cmse/libarch__arm__core__cortex_m__cmse.a  zephyr/lib/libc/picolibc/liblib__libc__picolibc.a  zephyr/lib/libc/common/liblib__libc__common.a  zephyr/soc/soc/nrf9151/libsoc__nordic.a  zephyr/drivers/clock_control/libdrivers__clock_control.a  zephyr/drivers/console/libdrivers__console.a  zephyr/drivers/pinctrl/libdrivers__pinctrl.a  zephyr/drivers/serial/libdrivers__serial.a  zephyr/drivers/timer/libdrivers__timer.a  modules/nrf/lib/fprotect/lib..__nrf__lib__fprotect.a  modules/nrf/subsys/bootloader/bl_boot/lib..__nrf__subsys__bootloader__bl_boot.a  modules/nrf/subsys/bootloader/bl_crypto/lib..__nrf__subsys__bootloader__bl_crypto.a  modules/nrf/subsys/bootloader/bl_validation/lib..__nrf__subsys__bootloader__bl_validation.a  modules/nrf/subsys/bootloader/bl_storage/lib..__nrf__subsys__bootloader__bl_storage.a  modules/nrf/subsys/fw_info/lib..__nrf__subsys__fw_info.a  modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a  modules/hal_nordic/modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  -L/home/matteo/work/cell-fund/l7/l7_e1_sol/build/b0/zephyr  zephyr/arch/common/libisr_tables.a  /home/matteo/ncs/v3.2.0/nrfxlib/crypto/nrf_oberon/lib/cortex-m33/hard-float/liboberon_3.0.17.a  /home/matteo/ncs/v3.2.0/nrfxlib/crypto/nrf_cc310_bl/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_bl_0.9.12.a  -mcpu=cortex-m33  -mthumb  -mabi=aapcs  -mfpu=fpv5-sp-d16  -mfloat-abi=hard  -mfp16-format=ieee  -mtp=soft  -fuse-ld=bfd  -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  -Wl,-no-pie  -Wl,--undefined=_sw_isr_table  -Wl,--undefined=_irq_vector_table  -specs=picolibc.specs  -DPICOLIBC_DOUBLE_PRINTF_SCANF  /home/matteo/ncs/v3.2.0/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_platform_0.9.19.a -L/home/matteo/ncs/toolchains/43683a87ea/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v8-m.main+fp/hard -lc -lgcc && cd /home/matteo/work/cell-fund/l7/l7_e1_sol/build/b0/zephyr && /home/matteo/ncs/toolchains/43683a87ea/usr/local/bin/cmake -E true
/home/matteo/ncs/toolchains/43683a87ea/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/kernel/libkernel.a(timeout.c.obj): in function `elapsed':
/home/matteo/ncs/v3.2.0/zephyr/kernel/timeout.c:81: undefined reference to `sys_clock_elapsed'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.


I have tested and I can replicate the issue on a Thingy:91X, but not on my usual nRF9151DK.Edit: I reproduced this on the l7_e1_sol solution, so that there is no code of our own to muddy the waters.

I have found this post which shows the same problem, still on the Thingy:91X, but not related to the course, so it looks like the issue is between the specific nrf91-modem-trace-uart snippet and the Thingy91X (not nrf9151 SoCs in general).

I am wondering whether this has something to do with the nRF53 that provides USB connectivity and exposes the virtual UART?

Parents
  • A build error using the target board "thingy91x/nrf9151/ns" should not be related to the nRF53 of the Thingy:91X.

    From the log I guess you use NCS 3.2.0. It may help, if you provide the "command line" (e.g. "west build -b thingy91x/nrf9151/ns ... ") used to build.

    My suspicion is, that your a victim of the complexity of an "multi image sysbuild" and "snippets", see sysbuild and snippets . (Using the snippet for rtt and uart isn't that different, in both cases you will need to apply the snippet only to the application image.)

    Once it builds, you may need to replace the "communication bridge" on the nRF53 (see Thingy:91X - nrf53_connectivity_bridge_v2.0.1 - wrong characters), but I would just try without and see, if that works already.

    Let me also add, that using DKs comes in my experience with less struggle.

Reply
  • A build error using the target board "thingy91x/nrf9151/ns" should not be related to the nRF53 of the Thingy:91X.

    From the log I guess you use NCS 3.2.0. It may help, if you provide the "command line" (e.g. "west build -b thingy91x/nrf9151/ns ... ") used to build.

    My suspicion is, that your a victim of the complexity of an "multi image sysbuild" and "snippets", see sysbuild and snippets . (Using the snippet for rtt and uart isn't that different, in both cases you will need to apply the snippet only to the application image.)

    Once it builds, you may need to replace the "communication bridge" on the nRF53 (see Thingy:91X - nrf53_connectivity_bridge_v2.0.1 - wrong characters), but I would just try without and see, if that works already.

    Let me also add, that using DKs comes in my experience with less struggle.

Children
No Data
Related