Bluetooth Fundamentals course - Lesson 1 -- Flashed Sample Firmware had no LED or Logging Information

Hello,

I'm working through the fundamental courses and trying to get my nrf54lm20 development board setup. After I have built and flashed the sample firmware to the dev board. There had been no LED lighting up on the board nor any messages logged when listening on the emulated terminal. The emulated terminal had no message showing up. I'm unsure if the board is even starting after flashing the firmware. There were no error messages during the build or flashing process. Both finished normally.

Below is the build configuration used and the flash logging messages. It is building with the default configurations with sysbuild. As a side note, the flashed firmware was working normally with hello world applications.

   

Thank you,

Parents
  • Hi,

    Just to confirm, are you trying to use the sample (Bluetooth LE LED Button service) given in exercise 1 of lesson 1? Can you please share a screenshot of your terminal log when you try to build and flash and also of your setup? Have you tried a different board target (Boards and Board targets)? I will try to test this on my end too and get back to you soon with an update. 

    Best Regards,

    Samruddhi

  • Hi,

    Yes, I'm trying to use the Bluetooth LE LED Button service. The same result happened when I tried later exercise solutions. As for other targets, I only have nrf54lm20 DK. I've tried this on two different board so I don't think its an hardware problem on specific boards.

    For your information. When I was testing with other apps the same behaviour started appearing when I added `CONFIG_BT=y` in the prj.conf file. Even if no bluetooth related function was used in the code.

    Below is the logs from the build:

    Building l1
    west build --build-dir <userhome>/bt-fund/l1/build <userhome>/bt-fund/l1 --pristine --board nrf54lm20dk/nrf54lm20a/cpuapp --sysbuild -- -DCONF_FILE="prj.conf"
    
    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: <userhome>/ncs/toolchains/2ac5840438/usr/local/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
    -- Cache files will be written to: <userhome>/.cache/zephyr
    -- Found west (found suitable version "1.4.0", minimum required is "0.14.0")
    -- Board: nrf54lm20dk, qualifiers: nrf54lm20a/cpuapp
    Parsing <userhome>/bt-fund/l1/Kconfig.sysbuild
    Loaded configuration '<userhome>/bt-fund/l1/build/_sysbuild/empty.conf'
    Merged configuration '<userhome>/bt-fund/l1/build/_sysbuild/empty.conf'
    Configuration saved to '<userhome>/bt-fund/l1/build/zephyr/.config'
    Kconfig header saved to '<userhome>/bt-fund/l1/build/_sysbuild/autoconf.h'
    -- 
       ************************
       * Running CMake for l1 *
       ************************
    Loading Zephyr default modules (Zephyr base).
    -- Application: <userhome>/bt-fund/l1
    -- CMake version: 3.21.0
    -- Found Python3: <userhome>/ncs/toolchains/2ac5840438/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
    -- Cache files will be written to: <userhome>/.cache/zephyr
    -- Zephyr version: 4.2.99 (<userhome>/ncs/v3.2.4/zephyr)
    -- Found west (found suitable version "1.4.0", minimum required is "0.14.0")
    -- Board: nrf54lm20dk, qualifiers: nrf54lm20a/cpuapp
    -- Found host-tools: zephyr 0.17.0 (<userhome>/ncs/toolchains/2ac5840438/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.17.0 (<userhome>/ncs/toolchains/2ac5840438/opt/zephyr-sdk)
    -- Found Dtc: <userhome>/ncs/toolchains/2ac5840438/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6") 
    -- Found BOARD.dts: <userhome>/ncs/v3.2.4/zephyr/boards/nordic/nrf54lm20dk/nrf54lm20dk_nrf54lm20a_cpuapp.dts
    unit address and first address in 'reg' (0x5004c000) don't match for /soc/peripheral@50000000/vpr@4c000/mailbox@1
    -- Generated zephyr.dts: <userhome>/bt-fund/l1/build/l1/zephyr/zephyr.dts
    -- Generated pickled edt: <userhome>/bt-fund/l1/build/l1/zephyr/edt.pickle
    -- Generated devicetree_generated.h: <userhome>/bt-fund/l1/build/l1/zephyr/include/generated/zephyr/devicetree_generated.h
    Parsing <userhome>/bt-fund/l1/Kconfig
    Loaded configuration '<userhome>/ncs/v3.2.4/zephyr/boards/nordic/nrf54lm20dk/nrf54lm20dk_nrf54lm20a_cpuapp_defconfig'
    Merged configuration '<userhome>/bt-fund/l1/prj.conf'
    Merged configuration '<userhome>/bt-fund/l1/build/l1/zephyr/.config.sysbuild'
    Configuration saved to '<userhome>/bt-fund/l1/build/l1/zephyr/.config'
    Kconfig header saved to '<userhome>/bt-fund/l1/build/l1/zephyr/include/generated/zephyr/autoconf.h'
    -- Found GnuLd: <userhome>/ncs/toolchains/2ac5840438/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version "2.38") 
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: <userhome>/ncs/toolchains/2ac5840438/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
    -- Using ccache: <userhome>/ncs/toolchains/2ac5840438/usr/bin/ccache
    -- Found gen_kobject_list: <userhome>/ncs/v3.2.4/zephyr/scripts/build/gen_kobject_list.py
    CMake Warning at <userhome>/ncs/v3.2.4/zephyr/CMakeLists.txt:2321 (message):
      __ASSERT() statements are globally ENABLED
      
    -- Configuring done
    -- Generating done
    -- Build files have been written to: <userhome>/grad_proj/bluetooth/bt-fund/l1/build/l1
    -- Configuring done
    -- Generating done
    -- Build files have been written to: <userhome>/grad_proj/bluetooth/bt-fund/l1/build
    -- west build: building application
    [7/335] Generating include/generated/zephyr/version.h
    -- Zephyr version: 4.2.99 (<userhome>/ncs/v3.2.4/zephyr), build: ncs-v3.2.4
    [335/335] Linking C executable zephyr/zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:      195840 B      2028 KB      9.43%
                 RAM:       31304 B       511 KB      5.98%
            IDT_LIST:          0 GB        32 KB      0.00%
    Generating files from <userhome>/bt-fund/l1/build/l1/zephyr/zephyr.elf for board: nrf54lm20dk
    [10/10] Generating ../merged.hex
    
    Flashing build to nRF54LM20 DK
    west flash -d <userhome>/grad_proj/bluetooth/bt-fund/l1/build --dev-id 1051898111
    
    -- west flash: rebuilding
    [0/5] Performing build step for 'l1'
    ninja: no work to do.
    [2/5] No install step for 'l1'
    [3/5] Completed 'l1'
    [4/5] cd <userhome>/bt-fund/l1/build/_sysbuild && <userhome>/ncs/toolchains/2ac5840438/usr/local/bin/cmake -E true
    -- west flash: using runner nrfutil
    -- runners.nrfutil: reset after flashing requested
    -- runners.nrfutil: Flashing file: <userhome>/bt-fund/l1/build/merged.hex
    -- runners.nrfutil: Connecting to probe
    -- runners.nrfutil: Programming image
    -- runners.nrfutil: Verifying image
    -- runners.nrfutil: Reset
    -- runners.nrfutil: Board(s) with serial number(s) 1051898111 flashed successfully.

    Thank you

  • Hi,

    Can you please check the board configurator just in case something has been set there and let me know? The issue could also be that the power to LED is being cut.  

    Best Regards,

    Samruddhi

  • The board configurator shows the LED is on. After flashing the terminal outputs no logging message, this includes both the logging messages in the sample application and the two lines that outputs the version of the sdk and Zephyr. So I'm not sure the board even boot successfully after flashing.

    Thanks,

  • Hi,

    What revision number is being used? Could you please try the following: Flash Blinky sample (so that we can check if the LEDs & GPIO are working properly and the board is correctly programmed), use the board configurator to modify VDD (set low at 1.7) and then reset. See if the LEDs work by doing this. 

    Best Regards,

    Samruddhi

  • Hi. 


    The LED and the blinky sample does work. and the board has revision number 0.7.0.

    I tried to run debug on the board, the output through RTT after enabling BT in the proj.conf are the following. And the second chunk is what was outputted when running west debug, listening for the address then running backtrace.

    Thanks,


    [00:00:00.000,160] <err> os: ***** BUS FAULT *****
    [00:00:00.000,168] <err> os:   Precise data bus error
    [00:00:00.000,173] <err> os:   BFAR Address: 0x50047004
    [00:00:00.000,186] <err> os: r0/a1:  0x20001a08  r1/a2:  0x20004197  r2/a3:  0x00000000
    [00:00:00.000,195] <err> os: r3/a4:  0x20004190 r12/ip:  0x00000001 r14/lr:  0x80000000
    [00:00:00.000,201] <err> os:  xpsr:  0x00014400
    [00:00:00.000,206] <err> os: Faulting instruction address (r15/pc): 0xe000ed00
    [00:00:00.000,227] <err> os: >>> ZEPHYR FATAL ERROR 25: Unknown error on CPU 0
    [00:00:00.000,244] <err> os: Current thread: 0x20002408 (unknown)
    [00:00:00.984,253] <err> os: Halting system

    Reading symbols from /home/bluetooth/l1/build/l1/zephyr/zephyr.elf...
    Remote debugging using :2331
    arch_system_halt (reason=reason@entry=25) at /home/ncs/v3.2.4/zephyr/kernel/fatal.c:30
    30              for (;;) {
    Resetting target
    Loading section rom_start, size 0x4c8 lma 0x0
    Loading section text, size 0x150b4 lma 0x4c8
    Loading section .ARM.exidx, size 0x8 lma 0x1557c
    Loading section initlevel, size 0xa0 lma 0x15584
    Loading section device_area, size 0xe0 lma 0x15624
    Loading section sw_isr_table, size 0x910 lma 0x15704
    Loading section entropy_driver_api_area, size 0x8 lma 0x16014
    Loading section gpio_driver_api_area, size 0x24 lma 0x1601c
    Loading section clock_control_driver_api_area, size 0x1c lma 0x16040
    --Type <RET> for more, q to quit, c to continue without paging--c
    Loading section uart_driver_api_area, size 0xc lma 0x1605c
    Loading section log_const_area, size 0xb8 lma 0x16068
    Loading section log_backend_area, size 0x10 lma 0x16120
    Loading section zephyr_dbg_info, size 0x44 lma 0x16130
    Loading section rodata, size 0x33b4 lma 0x16180
    Loading section datas, size 0x35c lma 0x1953c
    Loading section device_states, size 0x10 lma 0x19898
    Loading section log_mpsc_pbuf_area, size 0x44 lma 0x198a8
    Loading section log_msg_ptr_area, size 0x4 lma 0x198ec
    Loading section k_mutex_area, size 0x78 lma 0x198f0
    Loading section k_sem_area, size 0x18 lma 0x19968
    Loading section k_event_area, size 0x20 lma 0x19980
    Loading section net_buf_pool_area, size 0xd0 lma 0x199a0
    Loading section .last_section, size 0x4 lma 0x19a70
    Start address 0x0000b250, load size 105056
    Transfer rate: 65 KB/sec, 4377 bytes/write.
    Resetting target
    (gdb) awatch *0x50047004
    Hardware access (read/write) watchpoint 1: *0x50047004
    (gdb) c
    Continuing.
    [New Remote target]
    
    Thread 2 received signal SIGTRAP, Trace/breakpoint trap.
    [Switching to Remote target]
    (gdb) bt
    #0  z_arm_usage_fault () at /home/ncs/v3.2.4/zephyr/arch/arm/core/cortex_m/fault_s.S:80
    #1  <signal handler called>
    #2  0x00006448 in sym_KNXPCDCG3D5MEDJBO3R6REAMOHWZ5KSX2FRQDJA ()
    #3  0x00006560 in mpsl_init ()
    #4  0x0000d9c2 in mpsl_lib_init_internal () at /home/ncs/v3.2.4/nrf/subsys/mpsl/init/mpsl_init.c:437
    #5  mpsl_lib_init_sys () at /home/ncs/v3.2.4/nrf/subsys/mpsl/init/mpsl_init.c:479
    #6  0x0000f0e6 in z_sys_init_run_level (level=level@entry=INIT_LEVEL_PRE_KERNEL_1) at /home/ncs/v3.2.4/zephyr/kernel/init.c:246
    #7  0x0000f2ee in z_cstart () at /home/ncs/v3.2.4/zephyr/kernel/init.c:564
    #8  0x0000b4d0 in z_prep_c () at /home/ncs/v3.2.4/zephyr/arch/arm/core/cortex_m/prep_c.c:223
    #9  0x0000b2a8 in z_arm_reset () at /home/ncs/v3.2.4/zephyr/arch/arm/core/cortex_m/reset.S:233
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)


  • The problem was fixed after updating the sdk version. It seemed like a problem building the older SDK, building with v3.3.0 with nrf54lm20b as the target fixed the issue.

    The development kit's description on the site did say it needed the v3.3.0 previews SDKs at least, but it wasn't mentioned in the courses. 

Reply Children
No Data
Related