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

Region `FLASH' overflowed by X bytes

Hello everybody!

I'm developing an application using CMSIS DSP library, so i included about 20 math files and using finctions from these files.

After compiling i get a linker errror:

1>            FLASH:      417260 B       256 KB    159.17%
1>             SRAM:       43728 B       128 KB     33.36%
1> c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: zephyr\zephyr_prebuilt.elf section `rodata' will not fit in region `FLASH'
1> c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: region `FLASH' overflowed by 155116 bytes
1> collect2.exe: error: ld returned 1 exit status
 

As i know, NRF9160 has 1 Mb of FLASH, but linker tells that i have overflow of 256 Kb.

How can i fix this problem with linker or smth else in this situation?

Thank you!

Parents
  • Hello, Hakon

    Here it is:


    Building ‘zephyr/include/generated/driver-validation.h’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/CMakeFiles/driver_validation_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/driver_validation_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/include/generated/kobj-types-enum.h’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/include/generated/otype-to-str.h’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/CMakeFiles/kobj_types_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/kobj_types_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/misc/generated/syscalls.json’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/include/generated/syscall_list.h’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/CMakeFiles/syscall_list_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/include/generated/syscall_dispatch.c’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/syscall_list_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/include/generated/syscall_macros.h’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/CMakeFiles/syscall_macros_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/syscall_macros_h_target’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_offsets’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/liboffsets.a’ from solution ‘build’ in configuration ‘Common’
    1> Compiling ‘offsets.c’
    1> Archiving ‘liboffsets.a’
    Building ‘zephyr/include/generated/offsets.h’ from solution ‘build’ in configuration ‘Common’
    1> Combining ‘zephyr/include/generated/offsets.h’
    Building ‘zephyr/CMakeFiles/offsets_h’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/offsets_h’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_..__nrf__lib__bsdlib’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_app’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_arch__arm__core’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_arch__arm__core__cortex_m’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_arch__arm__core__cortex_m__mpu’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_drivers__adc’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_drivers__gpio’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_drivers__serial’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_kernel’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_lib__libc__newlib’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_subsys__app_memory’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_subsys__net’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_zephyr’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/linker.cmd’ from solution ‘build’ in configuration ‘Common’
    1> Combining ‘zephyr/linker.cmd’
    Building ‘zephyr/CMakeFiles/linker_script’ from solution ‘build’ in configuration ‘Common’
    Building ‘zephyr/linker_script’ from solution ‘build’ in configuration ‘Common’
    Building ‘cmake_object_order_depends_target_zephyr_prebuilt’ from solution ‘build’ in configuration ‘Common’
    Building ‘libapp.a’ from solution ‘build’ in configuration ‘Common’
    1> Compiling ‘FFT.c’
    2> Compiling ‘main.c’
    3> Compiling ‘CompressionNordic.c’
    4> Compiling ‘arm_rfft_f32.c’
    3> ../src/Periph/CompressionNordic.c:55:38: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
    3> ../src/Periph/CompressionNordic.c:105:9: warning: implicit declaration of function 'free'; did you mean 'frexp'? [-Wimplicit-function-declaration]
    3> ../src/Periph/CompressionNordic.c:59:19: warning: unused variable 'size_sign1' [-Wunused-variable]
    3> ../src/Periph/CompressionNordic.c:47:9: warning: unused variable 'k' [-Wunused-variable]
    3> ../src/Periph/CompressionNordic.c:108:1: warning: control reaches end of non-void function [-Wreturn-type]
    3> ../src/Periph/CompressionNordic.c:168:1: warning: control reaches end of non-void function [-Wreturn-type]
    3> ../src/Periph/CompressionNordic.c:227:1: warning: control reaches end of non-void function [-Wreturn-type]
    1> ../src/Periph/FFT.c:136:1: warning: control reaches end of non-void function [-Wreturn-type]
    1> ../src/Periph/FFT.c:301:1: warning: control reaches end of non-void function [-Wreturn-type]
    4> Compiling ‘arm_cfft_f32.c’
    2> ../src/main.c:212:6: warning: unused variable 'i' [-Wunused-variable]
    2> At top level:
    2> ../src/main.c:91:37: warning: 'm_2nd_channel_cfg' defined but not used [-Wunused-const-variable=]
    3> Compiling ‘arm_cfft_radix8_f32.c’
    1> Compiling ‘arm_common_tables.c’
    2> Compiling ‘arm_bitreversal2.c’
    4> Compiling ‘arm_const_structs.c’
    3> Compiling ‘arm_cmplx_mag_f32.c’
    2> Compiling ‘arm_max_f32.c’
    4> Compiling ‘arm_rfft_fast_f32.c’
    3> Compiling ‘arm_rfft_fast_init_f32.c’
    2> Compiling ‘arm_mult_f32.c’
    3> Compiling ‘arm_cmplx_mult_real_f32.c’
    4> Compiling ‘arm_cos_f32.c’
    2> Compiling ‘arm_fill_f32.c’
    3> Compiling ‘arm_copy_f32.c’
    4> Compiling ‘arm_add_f32.c’
    3> Compiling ‘arm_min_f32.c’
    2> Compiling ‘arm_mean_f32.c’
    2> Compiling ‘arm_offset_f32.c’
    4> Compiling ‘arm_std_f32.c’
    3> Compiling ‘arm_rfft_init_f32.c’
    2> Compiling ‘arm_dct4_init_f32.c’
    4> Compiling ‘arm_dct4_f32.c’
    3> Compiling ‘arm_cfft_radix4_init_f32.c’
    2> Compiling ‘arm_scale_f32.c’
    4> Compiling ‘arm_cmplx_mult_cmplx_f32.c’
    3> Compiling ‘arm_cfft_radix4_f32.c’
    4> Compiling ‘arm_bitreversal.c’
    Building ‘zephyr/libzephyr.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libapp.a’
    2> Compiling ‘isr_tables.c’
    3> Compiling ‘sw_isr_common.c’
    4> Compiling ‘arm_core_cmse.c’
    2> Compiling ‘work_q.c’
    3> Compiling ‘thread_entry.c’
    1> Compiling ‘fdtable.c’
    4> Compiling ‘crc32_sw.c’
    3> Compiling ‘crc16_sw.c’
    1> Compiling ‘mempool.c’
    2> Compiling ‘crc8_sw.c’
    4> Compiling ‘rb.c’
    3> Compiling ‘printk.c’
    2> Compiling ‘configs.c’
    1> Compiling ‘mpu_regions.c’
    2> Compiling ‘system_nrf9160.c’
    4> Compiling ‘soc.c’
    3> Compiling ‘nrfx_glue.c’
    1> Compiling ‘nrfx_uarte.c’
    2> Compiling ‘socket_offload.c’
    3> Compiling ‘rand32_timer.c’
    4> Compiling ‘uart_console.c’
    2> Compiling ‘nrf5_power_clock.c’
    3> Compiling ‘sys_clock_init.c’
    4> Compiling ‘nrf_rtc_timer.c’
    Building ‘zephyr/arch/arm/core/libarch__arm__core.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libzephyr.a’
    2> Assembling ‘exc_exit.S’
    3> Assembling ‘swap_helper.S’
    4> Assembling ‘cpu_idle.S’
    2> Assembling ‘fault_s.S’
    1> Assembling ‘isr_wrapper.S’
    3> Compiling ‘irq_init.c’
    2> Compiling ‘swap.c’
    4> Compiling ‘fault.c’
    1> Compiling ‘irq_manage.c’
    3> Compiling ‘thread.c’
    4> Compiling ‘fatal.c’
    2> Compiling ‘sys_fatal_error_handler.c’
    1> Compiling ‘thread_abort.c’
    Building ‘zephyr/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libarch__arm__core.a’
    2> Assembling ‘vector_table.S’
    3> Assembling ‘reset.S’
    4> Assembling ‘nmi_on_reset.S’
    1> Compiling ‘prep_c.c’
    2> Compiling ‘scb.c’
    3> Compiling ‘nmi.c’
    4> Compiling ‘exc_manage.c’
    Building ‘zephyr/arch/arm/core/cortex_m/mpu/libarch__arm__core__cortex_m__mpu.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libarch__arm__core__cortex_m.a’
    2> Compiling ‘arm_core_mpu.c’
    3> Compiling ‘arm_mpu.c’
    Building ‘zephyr/lib/libc/newlib/liblib__libc__newlib.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libarch__arm__core__cortex_m__mpu.a’
    2> Compiling ‘libc-hooks.c’
    Building ‘zephyr/subsys/app_memory/libsubsys__app_memory.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘liblib__libc__newlib.a’
    2> Compiling ‘app_memdomain.c’
    Building ‘zephyr/subsys/net/libsubsys__net.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libsubsys__app_memory.a’
    2> Compiling ‘buf.c’
    3> Compiling ‘net_pkt.c’
    Building ‘zephyr/nrf/lib/bsdlib/lib..__nrf__lib__bsdlib.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libsubsys__net.a’
    2> Compiling ‘bsd_os.c’
    3> Compiling ‘nrf91_sockets.c’
    Building ‘zephyr/drivers/adc/libdrivers__adc.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘lib..__nrf__lib__bsdlib.a’
    2> Compiling ‘adc_nrfx_saadc.c’
    Building ‘zephyr/drivers/gpio/libdrivers__gpio.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libdrivers__adc.a’
    2> Compiling ‘gpio_nrfx.c’
    Building ‘zephyr/drivers/serial/libdrivers__serial.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libdrivers__gpio.a’
    2> Compiling ‘uart_nrfx_uarte.c’
    Building ‘zephyr/kernel/libkernel.a’ from solution ‘build’ in configuration ‘Common’
    1> Archiving ‘libdrivers__serial.a’
    2> Compiling ‘alert.c’
    1> Compiling ‘errno.c’
    3> Compiling ‘device.c’
    4> Compiling ‘idle.c’
    2> Compiling ‘init.c’
    3> Compiling ‘mailbox.c’
    1> Compiling ‘mem_slab.c’
    4> Compiling ‘mempool.c’
    1> Compiling ‘msg_q.c’
    2> Compiling ‘mutex.c’
    3> Compiling ‘pipes.c’
    4> Compiling ‘queue.c’
    2> Compiling ‘sched.c’
    1> Compiling ‘sem.c’
    3> Compiling ‘stack.c’
    4> Compiling ‘system_work_q.c’
    1> Compiling ‘thread.c’
    3> Compiling ‘thread_abort.c’
    4> Compiling ‘version.c’
    2> Compiling ‘work_q.c’
    4> Compiling ‘smp.c’
    3> Compiling ‘timeout.c’
    1> Compiling ‘timer.c’
    2> Compiling ‘poll.c’
    1> Archiving ‘libkernel.a’
    Building ‘zephyr/zephyr_prebuilt.elf’ from solution ‘build’ in configuration ‘Common’
    1> Compiling ‘empty_file.c’
    1> Linking ‘zephyr_prebuilt.elf’
    1> Memory region         Used Size  Region Size  %age Used
    1>            FLASH:      417260 B       256 KB    159.17%
    1>             SRAM:       43728 B       128 KB     33.36%
    1> c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: zephyr\zephyr_prebuilt.elf section `rodata' will not fit in region `FLASH'
    1> c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: region `FLASH' overflowed by 155116 bytes
    1> collect2.exe: error: ld returned 1 exit status
    1>         IDT_LIST:         152 B         2 KB      7.42%
    Build failed

  • Yeah, but what's the name you put into cmake or whatever command you're using? Is it nrf9160_pca10090?

  • You don't have an overflow of 256KB, it says you have 256KB left of storage on the flash. Do you have anything else flashed on the chip?

  • My project based on the working sample  (ncs\nrf\samples\nrf9160\adc\).

    It's uses Zephyr OS. 

    So there is nothing else except this modified project.

  • If you try building some other project, do you get the same linker error or does it tell you have 256 KB available there as well?

Reply Children
Related