Cannot convert uVision project (Arm compiler 5) to CMSIS (Arm compiler 6) based solution


I have an existing uVision project which I wish to migrate to CMSIS based solution. Since I’m using vscode, I installed the “Keil Studio Pack”, which also installed a bunch of other extensions also from ARM.

So to continue the onward journey, I right clicked on my uvprojx file and click on "convert uVision project to csolution’ which failed like so:

“ “Target 1” uVision project requires Arm Compiler 5.
Csolution project requires Arm Compiler 6.”

So I manually edited the ‘uvprojx’ file to remove
<pCCUsed>5060061::V5.06 update 1 (build 61)::ARMCC</pCCUsed>
from it but it still fails with the exact same error. Is there a workaround for this?

I suggest that you open your uVision project in MDK uVision, change the selected compiler to Arm Compiler 6 and make sure you get your project building without errors and then run the uv2csolution converter on the updated project.

1 Like

Find the application note for Joachim’s suggestion here:

Thank you Joachim.

Is there no way to do it without converting it in uVision first is it?

I was wondering if I can create a csolution directly using the Arm CMSIS solution extension? I am basically looking to replace vendor specific HAL with a more “open” interface that is also portable to an extent across vendors.

Can you guide me here?

I am not aware of any tool that would do that migration “magically”.
Of course you can start from scratch.
When it comes to abstracting from vendor specific HAL you may want to look at CMSIS-Driver:
Please note that not all vendors provide CMSIS-Driver implementations.

P.S.: I think this is probably the wrong forum: