ARM-software / CMSIS_5

CMSIS Version 5 Development Repository
http://arm-software.github.io/CMSIS_5/index.html
Apache License 2.0
1.32k stars 1.08k forks source link

Cortex-R support #314

Open apullin opened 6 years ago

apullin commented 6 years ago

It appears there is no Cortex-R build support. Parts are on the market now. Is CR4 support planned?

JonatanAntoni commented 6 years ago

Hi @apullin,

currently we do not have support for Cortex-R class. Adding support for it mainly depends on market pull. Do you have requirements you'd like to share? What would you expect CMSIS for Cortex-R delivers?

Thanks, Jonatan

apullin commented 6 years ago

I am presently using a CM4 + CMSIS-DSP to do audio processing. The application is for calculating A-weighted SPL/noise, but many more solutions are on the table, e.g. if big IoT providers and Sensory/chip vendors/etc make trigger-word IP available.

Some CR4 parts are coming on the market in the IoT space, and I am considering options that use those cores. For example, Samsung now ships an "Artik" module that has a CR4 core as an intermediate solution before stepping up to a full Cortex-A Linux platform.

JonatanAntoni commented 6 years ago

Hi @apullin,

Thanks for your insights to your application ideas based on CMSIS, that's very beneficial. In other words you would like to see CMSIS-DSP to be available for Cortex-R4? Hence CMSIS-Core needs to be available as well. What about RTOS (RTX5)?

Would you be able and willing to contribute on this area? I.e. as a first step we would need to have a draft for CMSIS-Core(R) and some startup code for Cortex-R4.

Thanks, Jonatan

apullin commented 6 years ago

That is beyond my technical abilities for now. It would be fun to explore it, but there's a lot I don't know there. I have been able to use the prebuilt CMSIS-DSP libraries on M4 just by dropping in the .a and .h files, and not having to go into the low levels of dealing with different programming models, exception models, etc.

But I will definitely contribute anything I come up with.

JonatanAntoni commented 6 years ago

Hi @apullin,

I appreciate your collaboration. Let's keep this requirement on the backlog.

Please let us know about your questions when you start exploration. You'd be fine adopting CMSIS-Core and system startup code for Cortex-R in the first place.

Thanks, Jonatan

BabaJaguska commented 5 years ago

CMSIS-NN would come in handy on Cortex-R too.

alfedotov commented 4 years ago

I had an attemt to upsteram Core-R about year ago with no luck. But I still see demand. I have created new pull request there https://github.com/ARM-software/CMSIS_5/pull/945 Please support me if you are interested :)

alfedotov commented 4 years ago

@JonatanAntoni May be it worth to create new "future" branch (from devel) if you can't accept these changes on "devel" branch. Seems to me it would be more beneficial to have such changes in one central repo instead of searching over github

tomoveu commented 2 years ago

@JonatanAntoni from the CMSIS NN documentation it is implied that we could build without M-Profile Vector Extensions.

please see below this quote straight from the documentation

Each library project have different pre-processor macros.

ARM_MATH_DSP: Define macro ARM_MATH_DSP, If the silicon supports DSP instructions(DSP extension).

ARM_MATH_MVEI: Define macro ARM_MATH_MVEI, If the silicon supports M-Profile Vector Extension.

@alfedotov thank you for sharing this, I will take a closer look. There is definitely a demand for ML applications on Cortex-R