load command inside gdb CLI doesn't flash new image into device

I use `west debug` to start `gdb` for debugging nRF5340DK

when I use `west build` to update the image, I use `load` command inside gdb CLI, the new `zephyr.elf` is loaded, then `mon reset` and `continue` but the execution (changed text inside LOG_) still remains, I think the load doesn't flash the device as intended.

(gdb) mon flash download=1
Flash download enabled
(gdb) load
Loading section rom_start, size 0x154 lma 0x8000
Loading section text, size 0x4464c lma 0x8154
Loading section .ARM.exidx, size 0x8 lma 0x4c7a0
Loading section initlevel, size 0xa8 lma 0x4c7a8
Loading section device_area, size 0xa0 lma 0x4c850
Loading section sw_isr_table, size 0x228 lma 0x4c8f0
Loading section app_shmem_regions, size 0x8 lma 0x4cb18
Loading section _static_thread_data_area, size 0x2c lma 0x4cb20
Loading section ctors, size 0xc lma 0x4cb4c
Loading section log_const_area, size 0xc0 lma 0x4cb58
Loading section log_backend_area, size 0x10 lma 0x4cc18
Loading section zephyr_dbg_info, size 0x41 lma 0x4cc28
Loading section shell_area, size 0x30 lma 0x4cc6c
Loading section shell_root_cmds_area, size 0x30 lma 0x4cc9c
Loading section shell_subcmds_area, size 0x14 lma 0x4cccc
Loading section shell_dynamic_subcmds_area, size 0xc lma 0x4cce0
Loading section rodata, size 0xb594 lma 0x4ccf0
Loading section datas, size 0x5c0 lma 0x58a84
Loading section device_states, size 0x10 lma 0x59044
Loading section log_mpsc_pbuf_area, size 0x44 lma 0x59054
Loading section log_msg_ptr_area, size 0x4 lma 0x59098
Loading section log_dynamic_area, size 0x60 lma 0x5909c
Loading section k_mem_slab_area, size 0x20 lma 0x590fc
Loading section k_mutex_area, size 0x14 lma 0x5911c
Loading section k_sem_area, size 0x18 lma 0x59130
Loading section net_buf_pool_area, size 0x34 lma 0x59148
Loading section kobject_data, size 0x5d0 lma 0x5917c
Loading section .last_section, size 0x4 lma 0x5974c
Start address 0x00017f20, load size 331593
Transfer rate: 477 KB/sec, 7055 bytes/write.
(gdb) mon reset
Resetting target
(gdb) c
Continuing.

Parents Reply
  • Hi,

    I am sorry for a delayed reply.

    There are 2 commands - one loads a new hex/elf file to the device and the other one loads the symbols to gdb. They do not perform 2 actions at once but one action only. Therefore, you would need to run them both.
    File command loads symbols to gdb and does not load anything to the device.
    Load command loads new data to the device and does not load symbols.

    Best regards,
    Dejan

Children
No Data
Related