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

Parents
  • Back once more. Thanks for your reply Ole. I had checked the ARM::CMSIS pack and that was fine.

    After another hour or so of debugging I finally came to think that the problem might be completely unrelated to the code, to Keil or CMSIS. And what a surprise when I made a blind guess and disabled my "application control" option in my firewall. There must have been a strange interaction between the firewall and the arm compiler and especially the assembler, since only those files were concerned that had __ASM statements in them.

    So, actually, no problem with CMSIS.

    That was a tough one, and yet so simple in the end.

    Best, Severin

  • Was that on Windows 8? Could you explain how you disabled the application control?

Reply Children
No Data
Related