Keil uVision V5 Legacy Nordic Project Compile Errors

Hello,

I am trying to compile a legacy Nordic Project for evaluation purposes and I am getting some compile errors. The details are as follows:

Project: https://github.com/NordicPlayground/nrf52-ble-image-transfer-demo

Keil: uVision V5.38.0.0 MDK-Lite

ARM Compiler: V5.06 Update 6 (Build 750)

Nordic SDK: v16.0.0.

Nordic SoftDevice: S132 v7.0.1

Keil nRF_DeviceFamilyPack: 8.44.1

Other settings:

The compile errors I am getting as as follows:

linking...
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrf_drv_ppi_init (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_ppi_channel_alloc (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_ppi_channel_assign (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_ppi_channel_enable (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_saadc_buffer_convert (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_saadc_channel_init (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_saadc_init (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_saadc_sample_task_get (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_timer_enable (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_timer_extended_compare (referred from main.o).
.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol nrfx_timer_init (referred from main.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.

I removed the default ..\nRF5SDK160098a08e2\modules\nrfx\mdk folder from the C/C++ include table and replaced it with ..\Arm\Packs\NordicSemiconductor\nRF_DeviceFamilyPack\8.44.1\Device\Include folder

I noticed that in the apply_old_config.h file all of the drivers seem to be disabled even though in the sdk_config.h file, the necessary drivers are enabled.

I am sure I am doing something wrong in the file structures or some configurations.

Please advise.

Thanks,

Adnan

Parents
  • Hi Adnan

    These errors make it seem like the project isn't in the correct folder in your SDK, so that it's not able to find the driver/header files where these functions are defined. Where is the project located, and what is the relative path in your preprocessor definitions set to?

    If you're just doing evaluation, please note that we generally recommend new designs to use the nRF Connect SDK instead of the nRF5 SDK. More information in the nRF Connect SDK statement here.

    It's also worth noting that if you're using the nRF5 SDK, SEGGER Embedded Studio is in our opinion a better IDE to use for development, as you get a free license when using Nordic products, and our expertise in SES is generally better than with Keil.

    Best regards,

    Simon

  • Hello Simon,

    Thank you for getting back to me on this.

    I did initially start with the new nRF Connect SDK but unfortunately the camera requirement and time constraint for our eval process forced me to get this legacy sample up and running.

    I can switch to the SEGGER Emb. Studio if necessary.

    Currently the file structure is as follows:

    Project itself:

    C:\TPR-Nordicsemi-Sources\Keil\Projects\nrf52-ble-image-transfer-demo-master

    Nordic SDK + SoftDevice:

    C:\Nordic\sdk\nRF5SDK160098a08e2

    C:\Nordic\sdk\s132nrf52701

    Keil Device Family Pack:

    C:\Users\NOVA-00002\AppData\Local\Arm\Packs\NordicSemiconductor\nRF_DeviceFamilyPack\8.44.1

    For the Keil Install. I used the defaults paths as per the installation process.

    Please advise.

    Thanks,

    Adnan

Reply
  • Hello Simon,

    Thank you for getting back to me on this.

    I did initially start with the new nRF Connect SDK but unfortunately the camera requirement and time constraint for our eval process forced me to get this legacy sample up and running.

    I can switch to the SEGGER Emb. Studio if necessary.

    Currently the file structure is as follows:

    Project itself:

    C:\TPR-Nordicsemi-Sources\Keil\Projects\nrf52-ble-image-transfer-demo-master

    Nordic SDK + SoftDevice:

    C:\Nordic\sdk\nRF5SDK160098a08e2

    C:\Nordic\sdk\s132nrf52701

    Keil Device Family Pack:

    C:\Users\NOVA-00002\AppData\Local\Arm\Packs\NordicSemiconductor\nRF_DeviceFamilyPack\8.44.1

    For the Keil Install. I used the defaults paths as per the installation process.

    Please advise.

    Thanks,

    Adnan

Children
No Data
Related