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

Trouble with Keil MDK-ARM, probably with CMSIS files.

I have trouble compiling successfully even the simplest of example codes for the nRF51822 with the Keil MDK-ARM toolchain (v5).

For example, for the "blinky" project, I get the following console output:

Build target 'nrf51822_xxaa (256K)' Clean started - Project: 'blinky' deleting intermediate output files for target 'nrf51822_xxaa (256K)' creating preprocessor file for main.c... compiling main.c... assembling startup_arm_nrf51.s... creating preprocessor file for system_nrf51.c... compiling system_nrf51.c... creating preprocessor file for nrf_delay.c... compiling nrf_delay.c... linking... ._build\blinky_arm.axf: error: L6002U: Could not open file ._build\main.o: No such file or directory Not enough information to produce a FEEDBACK file. Finished: 1 information, 0 warning, 0 error and 1 fatal error messages. "._build\blinky_arm.axf" - 1 Error(s), 0 Warning(s).

The thing is that two files do not get translated into .o files: nrf_delay.c and main.c (in the error message above, the file-not-found error shows up for main.o).

I tried to figure our why the compiler would not produce any output for these two files. The problem is not with any path settings. Finally, it seems that when I exclude "core_cm0.h" from the includes of both files, the files get translated into .o code. However, this is obviously not a viable work-around.

Is there any know problem with the CMSIS files that come with MDK-ARM? Could this problem be related somehow to my specific Windows XP, SP3 machine? I am running out of ideas here.

Some time ago, I had installed a complete toolchain MDK-ARM 4.xx, which was working fine from the start at that time. Therefore, being tired with MDK-ARM v5, I removed it and replaced it with MDK-ARM v4.73, currently still available from the Keil website. The problem turned out to be the same.

I also tried to compile other example projects as well, the result is always the same. All files that make reference to "core_cm0.h" do not get translated to object code.

I would be grateful for any input !

Best, Severin

Related