This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F2800156-Q1: [ FAE ] RAM access protection stratrgy

Part Number: TMS320F2800156-Q1
Other Parts Discussed in Thread: C2000WARE

Tool/software:

Development envirement:

MCU: TMS320F2800156-Q1

CCS: 12.7

SDK: C2000Ware_5_02_00_00

Refer to: TMS320F280015x Real-Time Microcontrollers Technical Reference Manual

Version: FEBRUARY 2023 – REVISED MAY 2024

Background:

In our project, customer required functional safety ASIL B level, and has a MPU requirement: non-functioanl safety module can not change functional safety variables.

--------------------------------------------------------------

Functional safety module named ASIL module;

Functional safety task named ASIL task;

Functional safety function named ASIL function;

Functional safety variables named ASIL variables;

Non-Functional safety module named QM module;

Non-Functional safety task named QM task;

Non-Functional safety function named QM function;

Non-Functional safety variables named QM variables;

-------------------------------------------------------------------------

Our current strategy is: 

We place ASIL variables to M0/M1 ram area.

1,when ASIL task run, ASIL variables can be changed by setting CPUWRPROTx;  when QM task run, ASIL variable can not be changed by setting CPUWRPROTx;

2,When ASIL module interrupt occured, ASIL variables can be changed by setting CPUWRPROTx;When QM module interrupt occured, ASIL variables can not be changed by setting CPUWRPROTx;

3,When QM task run, and call ASIL function, ASIL variables can be changed by setting CPUWRPROTx in every ASIL function;

4,When ASIL task run, and call qm function, ASIL variables can not be changed by setting CPUWRPROTx in every qm function;

For 3,4 case, in our SW, there are lots of function, we need add the setting in every functions, I think it's not convenient for us, do you have good suggestion for this case?

In addition, do you have better solution for MPU requirement: non-functioanl safety module can not change functional safety variables?

thank you

/BR

Samuel

  • Hi Samuel,

    Please review the "Suggestions for Improving Freedom from Interference" section in the F280015x functional safety manual. Specifically, point #5.

    The Dual Code Security Module (DCSM) can be used for functional safety where functions with different safety integrity levels can be executed from different security zones (zone1, zone2, and unsecured zone), acting as firewalls and thus mitigating the risk due to interference from one secure zone to another. For more information, see Achieving Coexistence of Safety Functions for EV/HEV Using C2000Tm MCUs.