In the latest cmsis repo, there's a definition of __SXTB16_RORn in cmsis_gcc.h. It is missing in:
https://github.com/ARMmbed/mbed-os/blob/master/cmsis/TARGET_CORTEX_M/cmsis_gcc.h
since it old. Latest CMSIS cmsis_gcc.h:
https://github.com/ARM-software/CMSIS_5/blob/develop/CMSIS/Core/Include/cmsis_gcc.h
Do you mind updating that file/folder?
All targets with DSP extensions
GCC, any version
mbed-cli 1.10.0
Mbed example in:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/micro/kernels/cmsis-nn
@freddan80 thank you for raising this issue.Please take a look at the following comments:
What target(s) are you using?
What toolchain(s) are you using?
Have you correctly specified which version of Mbed OS you are using (tag or sha)? We cannot automatically identify a release based on what you have provided.
It would help if you could also specify the versions of any tools you are using?
How can we reproduce your issue?NOTE: If there are fields which are not applicable then please just add 'n/a' or 'None'.This indicates to us that at least all the fields have been considered.
All targets with DSP extensions
GCC
mbed-cli 1.10.0
Instructions on how to reproduce can be found:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/micro/kernels/cmsis-nn
@freddan80 please update the template with the missing information or add n/a or None to fields that are not applicable so that our automated checker can resolve them
Done
I use the version downloaded by mbed cli. There's no other version specified anywhere.
if you get to mbed-os, you can git log to find out the sha of Mbed OS.
Anyway, this file should be updated then.
@ARMmbed/mbed-os-core Would it make sense to update CMSIS files for 6.0? I recall there was a ticket for it or at least was touched few weeks back.
There is a ticket in the backlog. It needs to be prioritised by our product manager.
@freddan80 thank you for the update.It appears however that there is still some missing information:
Have you correctly specified which version of Mbed OS you are using (tag or sha)? We cannot automatically identify a release based on what you have provided.
NOTE: If there are fields which are not applicable then please just add 'n/a' or 'None'.This indicates to us that at least all the fields have been considered.
Internal Jira reference: https://jira.arm.com/browse/MBOTRIAGE-2584
What version of Mbed-os are you using (tag or sha) ?
commit e642a7d (HEAD, tag: mbed-os-5.15.1, tag: latest, origin/mbed-os-5.15)
@freddan80 please provide just the actual sha or a valid release tag so that our automation can validate the field correctly.
E.g
Done!
To expand the context a bit on this issue. There was a similar issue some time ago (https://github.com/ARMmbed/mbed-os/pull/12040), which has now been fixed. Is it possible to solve this issue in a more general fashion, but not having files duplicated from CMSIS in the mbed repo? To avoid more similar issues in the future...
Right now, this is causing some confusion in the community when using CMSIS and Mbed together.
To expand the context a bit on this issue. There was a similar issue some time ago (#12040), which has now been fixed. Is it possible to solve this issue in a more general fashion, but not having files duplicated from CMSIS in the mbed repo? To avoid more similar issues in the future...
Ideally yes, we would use some form of package manager (cmsis-pack manager was going that direction). In the current form, the build system and this repo requires to have everything present.
A user should be aware CMSIS clone is part of the Mbed OS (or any other modules like lwip, etc).
There is a ticket in the backlog. It needs to be prioritised by our product manager.
@freddan80 If this is critical for you, you can provide PR updating the core files.
Not critical. Do you have a rough ETA for the fix?
There is not ETA unfortunately. I would just patch the file (all toolchains or if only valid for gcc, only that file).
I can attempt to update to see if its trivial.
I had one conflict that I hope I resolved correctly, here's a branch https://github.com/ARMmbed/mbed-os/compare/master...0xc0170:feature_CMSIS_5_b5f0603d6?expand=1
I dont understand why some files are "new" there like rtx_mutex that already is in our codebase (looks like the importer removed-add these files?). More work needed there.
I had one conflict that I hope I resolved correctly, here's a branch https://github.com/ARMmbed/mbed-os/compare/master...0xc0170:feature_CMSIS_5_b5f0603d6?expand=1
@kjbracey-arm you run the exporter previously, would you know what did happen on my tryout here as some files seems to be like "new", rtx_system.c or rtx_mutex.c.
Our in-tree location has moved down to rtos/source. Has the importer not been updated for that?
That would be it, checking
Due to the rename, cherry-pick fails for rtx files (they were moved under source directory), this needs a manual resolution. I push an update to my branch to include only cmsis changes and RTOS changes needs a manual resolution now.
PR created to update: https://github.com/ARMmbed/mbed-os/pull/12949