Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
Hello,
we are using AM2632 in lookstep mode.
Cluster R5SS1 is currently started and exexcutes pBIST for R5SS0-memory areas and has no further tasks at the moment.
Cluster R5SS0 is our "main" core and shall be used for our functional safety tasks. But there are still big parts of firmware, which are not safety relevant.
On the main core (R5SS0) we do not want to make all parts of firmware to to safety relevant code, because it is a much more effort, to get safety certification for the whole firmware, than for the safety relevant parts only.
We do not use a operating system on our system, we use bare metal option.
In this context I try to understand the MPU units of the AM263x, but I am a little confused at the moment.
For my understanding, AM263x separates between the ARM MPU and the system MPU Firmware (provided by HSM). Is my understanding correct?
The possibilities of
What is our aim:
We want to execute all our safety relevant tasks from one function, our "functional safety task".
My idea is now, that the functional safety task uses its own memory area, to hold the safety relevant runtime data. Therefore I implemented an own memory area on a specific RAM adress in the linker command file for that safety data.
The safety data should be read- and writeable by the "functional safety task" and only readable (not writeable) by the rest of the firmware ("non-functional safety firmware parts").
My question is now the following.
Is it possible to achieve such a data separation and protection with the MPU, which is configurable by SysConfig?
In my SysConfig-Configuration I have introduced a new region (region 5) which represents the safety data area. Full access to the safety data is only possible in supervisor mode, user mode can only read the data.
My questions are now:
- Is that a good approach, to achieve the data separation between functional safety and non-functional-safety on one core? Is that the right application of the MPU?
- my system is still not running with that configuration. I can switch to the user mode, but I am not sure, how to switch the supervisor mode, at the begin of my safety application, can you give me some example?
Best regards
Jo