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

Error Listing symbols

Hi All,

I am working on BLE+SD card.I am getting following error:-

*** Using Compiler 'V5.06 update 4 (build 422)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'nrf52832_xxaa'
compiling main.c...
linking...
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrf_block_device_sdc_ops (referred from main.o).
Not enough information to list image symbols.
Finished: 1 information, 0 warning and 1 error messages.
".\_build\nrf52832_xxaa.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:15

I know this is happening because compiler is not able to find particular header files correctly.

Can you help me counter this problem?

Thanks in advance.

Regards

  • Hi,

    This error is due to the compiler not being able to find the implementation of the symbol, it have found the declaration of the function in the header file. If the header file was not found, you would get an error that the particular header file was not found. If the declaration was not found in any file, you would get error that the function was declared implicitly.

    Over to the issue: you have most likely not included the source file nrf_block_device_sdc.c in you project. nrf_block_device_sdc_ops is created in the end of the file:

    const nrf_block_dev_ops_t nrf_block_device_sdc_ops = {
            .init = block_dev_sdc_init,
            .uninit = block_dev_sdc_uninit,
            .read_req = block_dev_sdc_read_req,
            .write_req = block_dev_sdc_write_req,
            .ioctl = block_dev_sdc_ioctl,
            .geometry = block_dev_sdc_geometry,
    };
    

    How are you referencing this in main?

    Best regards,

    Jørgen

  • Hello, Thanks Jorgen, yes you are right, i forgot to include the source file nrf_block_device_sdc.c in my project.

    Although, now i am getting another set of errors, please help me out with these:-

    *** Using Compiler 'V5.06 update 4 (build 422)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
    Build target 'nrf52832_xxaa'
    compiling main.c...
    linking...
    .\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_sdc_block_read (referred from nrf_block_dev_sdc.o).
    .\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_sdc_block_write (referred from nrf_block_dev_sdc.o).
    .\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_sdc_busy_check (referred from nrf_block_dev_sdc.o).
    .\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_sdc_info_get (referred from nrf_block_dev_sdc.o).
    .\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_sdc_init (referred from nrf_block_dev_sdc.o).
    .\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_sdc_uninit (referred from nrf_block_dev_sdc.o).
    Not enough information to list image symbols.
    Finished: 1 information, 0 warning and 6 error messages.
    ".\_build\nrf52832_xxaa.axf" - 6 Error(s), 0 Warning(s).
    Target not created.
    Build Time Elapsed:  00:00:12
    

    it seems that the app_sdcard.c source file is not able to find the necessary headers, it is only able to get sdk_config.h.

    What could be the possible reason?

    Thank you in advance.

    Best Regards, Khan

Related