Hello,
We want to flash a CC1110 product with Keil 5 with a working project, here is some informations.
WHAT WE HAVE :We have 2 computers : 1) A rather old one using Keil 4, we use this one to flash CC1110 products and it is working well.
2) A much recent computer using Keil 5, we flash STM32 devices and it is also going well.
WHAT WE WANT :While migrating all CC1110 projects to the recent computer, going from Keil 4 to Keil 5 seems to be ok.
BUT, we are struggling to flash the CC1110 devices.
WHAT WE TRIED :
We followed Readme.txt instruction of SmartRF04MON.zip to install the CC1110 driver.
We have this line in C:/Keil_v5/TOOLS.INI : TDRV10=BIN\SmartRF04Mon.dll ("SmartRF04Mon")
There is no TDRVX duplicate.
We also have the SmartRF04Mon.dll in C:/Keil_v5/C51/BIN/
So, we select ("SmartRF04Mon") in Options for Target --> Utilities --> Use Target Driver for Flash Programming.
Compiling and flashing the device doesn't throw any error, but the device does not work at all. We tried the same device with our old computer, and it worked fine.
Thank you,
LouisBa said:Compiling and flashing the device doesn't throw any error, but the device does not work at all. We tried the same device with our old computer, and it worked fine.
I think you need to find out if the code generation fails or if the Flash download. You wrote that you used your old PC to download the application image to the microcontroller. I assume that the application image was also generated on this old PC. You also wrote that you compile and flash the application with the new PC and it does not work.
I would try to find out if the code generation or the Flash download is the reason for the issue. You could download the application image generated by the new PC with the old PC (by exchanging the linker output file which usually has not file extension). On the other hand, you can download the application image generated by the old PC with the new PC. Then you should know if the new application image or the Flash download is the reason for your problems. With this debug driver, you should also be able to start a debug session to see if the code has been downloaded.
If you don't want to modify your old microcontroller application significantly, I would install the same old PK51 version on the new PC as you had on your old PC in order to generate the same executable code.
Hi Hans,
Thank you for your answer,
Hans Schneebauer said:On the other hand, you can download the application image generated by the old PC with the new PC
Device was working after not compiling the program (untouched by Keil 5 but generated with Keil 4 on old PC) then flash.
So it seems that the code generation is wrong here.
After looking to change compilation/linker configuration I didn't find anything interesting, do you have any suggestion on this ?
Hans Schneebauer said:If you don't want to modify your old microcontroller application significantly, I would install the same old PK51 version on the new PC as you had on your old PC in order to generate the same executable code.
I am also using Keil 5 for another project so I just want to be able to switch projects on the same PC with the same Keil version.
LouisBa said:So it seems that the code generation is wrong here.
Yes, it really seems so.
LouisBa said:After looking to change compilation/linker configuration I didn't find anything interesting, do you have any suggestion on this ?
PK51 version 9 with µVision 4 started in 2009. There should not be any code incompatibility up to now. Which old and new versions do you use exactly? Did you try the latest one 9.61?
Maybe it is worth to check the data overlaying. Do you get any warnings from the compiler or linker with the newer version? Other than that, we probably need to debug your application to find out where it hangs or crashes.
After updating my Keil version from 9.59 to 9.61 it works, thank you !
I was using Keil 9.09 on my old PC and 9.59 on my new PC.
Hi Louis,
good to know that it works for you again. Before 9.61 there were some changes in the linker that might lead to an incompatibility to much older version regarding data overlaying. In any case, you must be sure to avoid linker warnings. In most cases, a linker warning means that the application will not work.