This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

eddystone example link error due to code size

I am trying to use the eddystone example I found in the ble_prepheral/ble_app_eddystone/pca10040 folder in SDK14.2 with my nRF52832 development board but I get the following link error.

._build\nrf52832_xxaa.axf: error: L6050U: The code size of this image (36056 bytes) exceeds the maximum allowed for this version of the linker.

What do I need to do? Upgrade the linker? How? Thanks

  • If you use Keil MDK in eval/tiral mode then you agreed licensing terms where it has code size limit of 32kB. If you want to build bigger FW binaries then you need to purchase some paid license (see Keil website for all the options). If you don't want to go that way then optimize your project/source code or switch to other compilation chain (like SES, IAR, GCC...)

  • If you don't want to pay for Keil, I would recommend using Segger Embedded Studio. You can find the eddystone SES project in the folder SDK_folder\examples\ble_peripheral\ble_app_eddystone\pca10040\s132\ses.

    You can use Segger Embedded Studio for commercial and non-commercial purpose with Nordic Semiconductor devices free of charge without any code limit. See this article for more information.

    You can download Segger Embedded Studio from here.

  • Thank you Sigurd. Segger successfully built the project. How do I download to the board though? It was so easy in Keil but in Segger I am a little confused. I see "Download file" option under Target menue but then there are multiple options for Elf, binary and Hex files but none of them find any files in the Win2k, x64 or x86 folders under USBDrivers or in the codecs.

    Update: When I try ""Build and Run", it complains that ...\nRF_SDK14\components\softdevice\s132\hex\s132_nrf52_5.0.0_softdevice.hex does not exist when in fact it does. New Update: I managed to locate and download the hex file from ..\nRF_SDK14\examples\ble_peripheral\ble_app_eddystone\pca10040\s132\ses\Output\Debug\Exe\ble_app_eddystone_pca10040_s132.hex and now I have an Eddystone beacon:)

  • You are 100% sure that the SoftDevice hex is in the folder?

    Try to unzip the SDK 14 .zip/archive again, so you have a clean SDK 14 setup, and see if that helpes.

    Note that we have several tutorial videos on how to get started with SES on Youtube

    EDIT: Great you got it working :)

Related