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

  • Picture updated, DIP switch 1 to 5 ON, 6 to 9 are OFF, 10 to 12 are ON. 

  • Hi Javier,

    Thank you for updating the picture.
    It seems that you are able to detect the SWD interface and the DA14531.
    Could you please try multiple times to see if you are able to erase the Flash?


    Best Regards,
    OV_Renesas

Reply Children
  • It seems that it has been programmed after several tries:

    I will try to connect the cables from the USB Dev Kit to my board.

    Thanks.

    Best regards,

    Javier

  • Hi Javier,

    Glad you were able to program the USB Dev Kit.
    If you want to use your USB Dev Kit to program your custom board, please refer here:
    19. Serial Wire Debug Probe — DA145XX Tutorial SDK Getting started (renesas.com)

    Best Regards,
    OV_renesas

  • Hi,

    Thanks a lot for your help, the link is useful. I've been able to debug DA14531MOD from the USB Dev Kit with cables connected to my board.
    Now I'm having problems when trying to program the device. After several tries, the program is loaded:

    I have checked connections and everything seems fine. I have removed R3 and R11 from USB Dev Kit and connected GND, 3V3, SWDIO and SWCLK to my board, DIP switch from 1 to 9 are OFF and from 10 to 12 are ON. I'm able to debug and sometimes the device can be programmed.

    Do you have any clue why this is happening?

    Thanks.

    Best regards,

    Javier

  • Hi Javier,

    Thank you for the reply.

    Thanks a lot for your help, the link is useful. I've been able to debug DA14531MOD from the USB Dev Kit with cables connected to my board.

    Glad you were able to debug and program your custom board via the USB Dev Kit.

    I'm able to debug and sometimes the device can be programmed.

    Do you have any clue why this is happening?

    Thanks.

    The Renesas SmartBond Flash Programmer is a Development Tool and not a Production tool.
    Unfortunately, we can not guarantee that it is going to work 100% of the time while testing.
    The issues you are witnessing should be related to noise on the SWD lines. 
    Please use as small as possible (in length) wires to connect the custom board with the SWD interface on the USB Dev Kit.

    You can also try to work with the SmartSnippets Toolbox. It requires some more steps in order to program a device, but on the Log window you can receive debug messages that would make us understand why the programming might have failed.

    Best Regards,
    OV_Renesas