We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
So the company I'm working for currently has a few lab laptops and I just pick one of them up in the morning and grab yesterdays code off the drive. Well for the most part I've been using the same laptop however when I switched laptops the other day my entire project went crazy and my project just stopped working all together. I'm working with a nordic nrf51822 by the way. Now the one laptop has a newer version of the MDK I'm using however I don't think that should be an issue. I noticed when I was going through the compiler control string in Keil Uvision5 there were a couple of differences. Below are the parts of the control string that differ between the two computers. The first snip of code comes from the laptop that my code works on. If this is a question for nordic I understand I just figured I would ask on the Keil forum first to see if perhaps it was a setting I had messed up in Keil.
-I C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\1.1.4\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="513" -DNRF51 -DNRF51 -DDEBUG_NRF_USER -DBLE_STACK_SUPPORT_REQD -DUSE_UART_HW_FLOW_CTRL -DSTATIC_POWER_ADJUSTED_BIT -DSOFTDEVICE_PRESENT -DSPI_MASTER_0_ENABLE -o ".\_build\*.o" --omf_browse ".\_build\*.crf" --depend ".\_build\*.d"
-I C:\Users\lab\Desktop\Nemesis\Nemesis08.07.15\nrf_a4wp_sdk_1.5.1\board\pca10001\a4wp\pru_app_wired_debug\arm\RTE -I C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DNRF51 -DNRF51 -DDEBUG_NRF_USER -DBLE_STACK_SUPPORT_REQD -DUSE_UART_HW_FLOW_CTRL -DSTATIC_POWER_ADJUSTED_BIT -DSOFTDEVICE_PRESENT -DSPI_MASTER_0_ENABLE -o ".\_build\*.o" --omf_browse ".\_build\*.crf" --depend ".\_build\*.d"
Besides the version difference, the laptop your program doesn't work on has an extra SDK installed. Maybe that SDK has a header file that has the same name - but incompatible content - to what your program expected to find.
Remove that include path and see if that is enough to fix your problem.
The laptop that works has an older pack in a different directory, perhaps you should start by copying over the older/working pack, and make sure the project is pulling code from there, and confirm if it works. If the older pack works and the newer one doesn't start by diff'ing the code to see what changed on the code/include basis.
It might be wise just to diff everything anyway, then you'd understand the areas you need to focus your attention on.
It's also not that hard to install different version of Keil in different directories and get the working environments in sync that way.