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.
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.
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: https://arm-software.github.io/CMSIS_6/latest/Driver/index.html
Please note that not all vendors provide CMSIS-Driver implementations.