Error: L6218E: Undefined symbol arch_asm_delay_us

Hi,

I'm trying to compile an example project (simple_button) from BLE_SDK6_examples (github.com/dialog-semiconductor/).

I have already the SDK installed and I have executed the python script as suggested (python dlg_make_keil5_env_v2.py -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...
linking...
.\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?

Thanks.

Best regards

Parents Reply Children
  • 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: ...\6.0.20.1338\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: ...\6.0.20.1338\sdk\platform\system_library\src\DA14531
    4) Save and compile the project

    Best Regards,
    OV_Renesas

  • 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:

    Thanks.

    Regards,

    Javier

  • 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,
    OV_Renesas

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

  • Hi Javier,

    Thank you for the reply.
    I have no experience with the board you mentioned and I cannot provide support on that because it is from a 3rd party company.
    But I can give some insights:
    The DA14531 can be programmed either by the SWD interface or via 1-Wire UART. 
    The 1-Wire UART programming can be done with any USB to Serial Module (FTDI cable etc.) via our SmartSnippets Toolbox. 

    In your case now, you have a DA14531 SoC or DA14531MOD?
    Is it a custom board or just the IC?
    Could you please share a simple schematic so we can get a better understanding?

    Best Regards,
    OV_Renesas

  • Hi,

    Thanks for the fast reply.

    I'm trying to follow this guide:

    Easy, Cost-Effective Bluetooth LE (BLE) with Dialog DA14531MOD - element14 Community

    I'm using the chip with an LED soldered, I want to do a simple blinky LED test and build something more complex from that.

    Thanks again.

    B.R.

    Javier

  • Hi Javier,

    Thank you for the reply.
    From my understanding you are working with the DA14531MOD.
    Please refer here: DA14531 Tiny module - Bluetooth Low Energy - Wireless Connectivity - Renesas Engineering Community

    MasCreyt wanted to download the Codeless Firmware on his board to test AT commands. You can follow the same procedure to download your firmware into the DA14531MOD.

    Unfortunately, I cannot provide you support for the specific Debugging board you have since it is not from Renesas or a partner of Renesas. 
    I can see on the link you shared some comments as well, another user which I believe is also part of this Forum, also faced some issues. Maybe his answer could be helpful to you.

    Best Regards,
    OV_Renesas

  • Hi,

    I have the USB Dev Kit, now I can debug with Keil but cannot flash when using SmartBond Flash Programmer:

    I have also tried the SmartSnippetsToolbox but it doesn't run:

    Thanks.

    Best regards,

    Javier

  • Hi Javier,

    Thank you for the reply.

    I have the USB Dev Kit, now I can debug with Keil but cannot flash when using SmartBond Flash Programmer:

    From the screenshot you shared I see that there are no devices being detected via JTAG interface.
    Could you please refer on my previous answer when I thought you originally were working with the USB Dev Kit?
    Have you set the Dip Switch configuration accordingly for SWD?
    DIP Switch 10 and 11 are for the SWD interface. 
    On the UM-B-125 you can find different DIP switch configurations for UART programming, SWD programming, debug etc.

    Best Regards,
    OV_Renesas