Open-CMSIS-Pack / devtools

Open-CMSIS-Pack development tools - C++
Apache License 2.0
74 stars 57 forks source link

[Concepts] Feedback on CMSIS-Zone integration #270

Open fred-r opened 2 years ago

fred-r commented 2 years ago

Please find some feedback regarding this proposal: https://github.com/Open-CMSIS-Pack/devtools/blob/main/tools/projmgr/docs/Manual/Overview.md#cmsis-zone-integration

  1. To me, the resources partitioning is a topic related to configuration. Therefore, I'd prefer that we do not mix it with the YML csolution file that deal with composition.

  2. I agree resource partitioning is at csolution level (what I call application project). But, it may be interesting to deliver a project "alone" and segregate the projects (only the non-secure projects are delivered to a developer). So, I think it is important that each cproject gets its associated resources. This is what I call execution context and execution domain.

  3. Phases can indeed have specific memory regions. But, in my opinion, this applies to peripherals too: this is again what I call the execution domain (peripherals and memories).

  4. Phases do not allow to have a concept of shared execution domain to list resources that anybody can use. We miss this item. Together with this item comes the concept of initializer of a resource.

  5. Some resources might be forbidden for the csolution, we must be able to list it explicitly.

Generally speaking, I think we need to conclude on this topic: https://github.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/issues/33

To define the concepts we want to enable and then how to do it.

ReinhardKeil commented 2 years ago

@fred-r sorry I had not enough bandwidth to work on resource management. This is also caused by our internal processes where there was a lack of engineering bandwidth. I hope we can ensure proper resourcing in the next weeks to address it.

All your suggestions above make sense, but as said I need more bandwidth.

fred-r commented 2 years ago

Another point we need to discuss is how to use the rzone properly.

Typically, rzone can define internal and external memories.

So, I assume an rzone can be coupled with a device (internal memories only), or with a board (external memories added too).

So, where to store it ? Shall we have: