This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

L6985E error while compiling bootloader program.

I am trying add UART functionality in  nRF5_SDK_11.0.0_89a8197\examples\dfu\bootloader.

After adding all required files and compiling program I am getting following error

..\_build\nrf52832_xxaa_s132.axf: Error: L6985E: Unable to automatically place AT section bootloader_settings.o(.ARM.__AT_0x0007E000) with required base address 0x0007e000. Please manually place in the scatter file using the --no_autoat option.
Not enough information to produce a FEEDBACK file.
Not enough information to list image symbols.

I am using nRF52832 board, sdk 11.

Could anyone help me in solving this issue?

Parents
  • Hi,

    It indicates that there is not enough room for the bootloader settings, because the size of the bootloader code has increased with your changes. If you end up needing more space for the bootloader you can allocate more by reducing the start address (IROM start/size setting), but if you do that you also have to make sure to adjust the dfu_types.h-->BOOTLOADER_REGION_START accordingly. 

    But you might want to upgrade to a newer SDK version, as told in this post..

  • Hi Sigurd,

    Sorry for the delay in   reply, I tried by reducing the starting address from 7A000 to 70000 in (IROM start/size settings).

    I have changed BOOTLOADER_REGION_START also to 70000 from 7A000.

    When I compiled the code I got the following errors

    linking...
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_fifo.o(i.app_fifo_put).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching memcmp.o(.text).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.rx_enable).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_timer_appsh.o(i.app_timer_evt_get).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_timer_appsh.o(i.app_timer_evt_schedule).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching bootloader.o(i.bootloader_dfu_start).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_error.o(i.app_error_handler_bare).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_timer.o(i.NVIC_ClearPendingIRQ).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_timer.o(i.NVIC_EnableIRQ).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_timer.o(i.NVIC_SetPendingIRQ).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_dual_bank.o(i.dfu_compare_block).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_dual_bank.o(i.dfu_copy_sd).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_fifo.o(i.app_fifo_get).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.UARTE0_UART0_IRQHandler).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.nrf_gpio_cfg_output).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_fifo.o(i.fifo_get).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching softdevice_handler.o(i.softdevice_ble_evt_handler_set).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching softdevice_handler.o(i.softdevice_enable).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching softdevice_handler.o(i.softdevice_sys_evt_handler_set).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching ble_dfu.o(i.uint32_encode).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching pstorage_raw.o(i.pstorage_clear).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.nrf_gpio_cfg_input).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_fifo.o(i.fifo_put).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching softdevice_handler_appsh.o(i.softdevice_evt_get).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching ble_dfu.o(.constdata).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.nrf_drv_uart_tx_in_progress).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_dual_bank.o(i.dfu_reset).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_transport_ble.o(i.nrf_gpio_pin_set).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching softdevice_handler_appsh.o(i.softdevice_evt_schedule).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_transport_ble.o(i.nrf_gpio_cfg_output).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching ble_conn_params.o(i.ble_conn_params_stop).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching pstorage_raw.o(i.is_word_aligned).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.nrf_uart_int_enable_check).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching bootloader_settings.o(i.bootloader_util_settings_get).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_dual_bank.o(i.dfu_register_callback).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching ble_advdata.o(i.uint16_encode).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.nrf_uart_event_check).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching nrf_drv_uart.o(i.nrf_uarte_event_check).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(i.sys_evt_dispatch).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching ble_conn_params.o(.constdata).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching app_timer.o(i.SWI0_EGU0_IRQHandler).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching bootloader_util.o(i.bootloader_util_app_start).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_transport_ble.o(i.conn_params_error_handler).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_transport_ble.o(i.service_error_handler).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching softdevice_handler.o(i.softdevice_fault_handler).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(i.uart_event_handle).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6406E: No space in execution regions with .ANY selector matching dfu_dual_bank.o(i.dfu_cleared_func_swap).
    .\_build\nrf52832_xxaa_s132.axf: Error: L6407E: Sections of aggregate size 0x300 bytes could not fit into .ANY selector(s).
    Not enough information to list image symbols.
    Not enough information to list load addresses in the image map.

    How can I solve this issue?

  • I changed the size from 4000 to E000, now I am getting following error

    .\_build\nrf52832_xxaa_s132.axf: Error: L6218E: Undefined symbol Image$$RW_IRAM1$$Base (referred from softdevice_handler.o).
    Not enough information to produce a FEEDBACK file.
    Not enough information to list load addresses in the image map.

  • Could you upload a screenshot that shows the IROM/RAM settings in Keil ?

  • Hi,

    It looks like you have removed the check in the IRAM1 checkbox. It should look like this:

  • Hi Sigurd,

    Now it is working fine, thanks for the help.

Reply Children
No Data
Related