Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there a mcu profile recommendation #98

Open
fanghuaqi opened this issue Mar 9, 2023 · 3 comments
Open

Is there a mcu profile recommendation #98

fanghuaqi opened this issue Mar 9, 2023 · 3 comments

Comments

@fanghuaqi
Copy link

Hi there, as I can see current riscv profile is mainly for application processor, and there is not yet a profile targeting at mcu market, maybe a mcu profile could be set, for mcu, interrupt should be fast, currently riscv fast interrupt clic is designed for mcu, but it is not yet ratified, and some recommend isa extensions could be list for mcu profile, so sig group such as RVM-CSI could set a generic API for the mcu profile.

Thanks
Huaqi

@WiseCrohn
Copy link

My understanding, from several statements made at summit, is that there is no longer any intention to define either profiles or platforms for embedded. Rather, in the embedded space, RVM-CSI itself exists to address issues of portability between platforms with different hardware feature sets. So the aim of RVM-CSI is to define an abstraction layer which is truly agnostic to the underlying hardware.
That said, I think it would be helpful to lay out the exact definition of what makes a platform "embedded" (RVM) or "application" (RVA). I am attempting to do this as part of the RVM-CSI work.
In my personal view, some key features of an RVM platform would be:

  • software is built for the specific platform (i.e. not attempting to produce a binary "distro" which is portable betwen platforms).
  • No virtual addressing
  • No virtualization: privilege levels limited to either M-mode only or M-mode + U-mode.
    I am interested in provoking further discussion on this but not sure of the right forum!

@fanghuaqi
Copy link
Author

My understanding, from several statements made at summit, is that there is no longer any intention to define either profiles or platforms for embedded. Rather, in the embedded space, RVM-CSI itself exists to address issues of portability between platforms with different hardware feature sets. So the aim of RVM-CSI is to define an abstraction layer which is truly agnostic to the underlying hardware. That said, I think it would be helpful to lay out the exact definition of what makes a platform "embedded" (RVM) or "application" (RVA). I am attempting to do this as part of the RVM-CSI work. In my personal view, some key features of an RVM platform would be:

  • software is built for the specific platform (i.e. not attempting to produce a binary "distro" which is portable betwen platforms).
  • No virtual addressing
  • No virtualization: privilege levels limited to either M-mode only or M-mode + U-mode.
    I am interested in provoking further discussion on this but not sure of the right forum!

Agreed, software for RVM doesn't need to be binary compatiable across different platforms. virtualization is not yet a requirement for mcu, but mcu tee might could be considered which is useful for some use security use cases.

And for mcu, code size is also important, extension such as C/Zc will be a key feature.

@kasanovic
Copy link
Collaborator

The draft RVM23 profile was added to provided the first example of a standardized ISA across microcontrollers. The primary audience is toolchain and library developers, as well as MCU customers, where there is value in providing a standard base of functionality across different microcontrollers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants