Error: L6218E: Undefined symbol arch_asm_delay_us


I'm trying to compile an example project (simple_button) from BLE_SDK6_examples (

I have already the SDK installed and I have executed the python script as suggested (python -sdkpath “<path to your sdk repository>”).

When I try to compile the project it says the following error:

Rebuild started: Project: simple_button
*** Using Compiler 'V6.21', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'Simple_Button_531'
compiling exceptions.c...
assembling startup_DA14531.s...
compiling uart_utils.c...
compiling systick.c...
compiling system_DA14531.c...
compiling user_periph_setup.c...
compiling syscntl.c...
compiling main.c...
compiling otp_cs.c...
compiling gpio.c...
compiling hw_otpc_531.c...
compiling uart.c...
compiling arch_system.c...
.\out_DA14531\Objects\simple_button_531.axf: Error: L6218E: Undefined symbol arch_asm_delay_us (referred from uart.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 1 error messages.
".\out_DA14531\Objects\simple_button_531.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:01

I don't know what to do to remove this error.

Can someone help me?


Best regards

  • Hi Javi,

    Thank you for posting your question online.
    The Git examples have been ported to SDK v6.0.18 and later. 
    Which SDK version are you trying to use?

    Best Regards,

  • Hi Javi,

    Thanks for the clarification.
    In order to compile our GitHub Examples on the SDK v6.0.20 you will need to follow the steps below:
    1) Download the example folder file and place it inside the following path: ...\\projects\target_apps\ble_examples
    2) Use the Python script provided on our GitRepo to fix all the SDK paths to your PC
    3) Open the Project in Keil, and make sure to include the system_library files in the sdk_arch folder.

    You will only need to include the system_library_531.c file for the DA14531 SoC.or DA14531MOD.
    In order to do that, right click on sdk_arch folder and select "Add Existing Files to Group 'sdk_arch' "

    Navigate on the following path to find the system_library_531.c file: ...\\sdk\platform\system_library\src\DA14531
    4) Save and compile the project

    Best Regards,

  • Hi,

    I have successfully compiled the project with 0 Errors.

    I'm trying to Debug but it doesn't find the JLink connected:

    I have also tried loading the .hex file with SmartBond but it doesn't find the JLink.

    Windows recognizes the JLink:




  • Hi Javier,

    Thank you for the reply.
    From the Windows Manager you have shared I would guess that you have the USB DEV Kit.
    If I am mistaken, please correct me. 
    Are you sure that you have the correct DIP Switch configuration?
    Please refer on UM-B-125:

    If the DIP Switch Configuration is correct, I would guess that there is a pre-loaded FW inside the Dev Kit that has disabled the SWD interface. 
    This can happen if you are in Sleep mode and cannot wake-up or if you explicitly remapped the SWD GPIOs.
    If this is the case, then you will need to use 1-Wire UART Configuration to access and erase the SPI Flash.
    In order to do that, you will have to use the following DIP Switch Configuration:
    DIP Switch [1 to 5]: ON
    DIP Switch [6 to 10]: OFF
    DIP Switch [11 to 12]: ON
    On SmartSnippets Toolbox select DA14531 and the UART COM:

    Go select the 1-Wire UART option on the Configurator tab:

    Go to the Programmer tab--> Flash Code--> Connect
    You will be prompted on the Log window to trigger the Reset in order to successfully connect via 1-Wire UART. 
    After that you can Read and Erase the SPI Flash and try again to download your FW.

    Best Regards,

  • I'm using the Infineon XMC 2Go board to program the DA14531

Reply Children