Other Parts Discussed in Thread: TMS320F28377S, , C2000WARE
Hi,
I'm looking for a bit of an explanation about the DCSM on the TMS320F280049 (and later on the TMS320F28377S).
Right now I've perused the technical documentation and looked through the forums, but I'm still a bit confused regarding the Zone blocks and the GRABRAM or GRABSECT registers within the DCSM's user OTP.
Regarding the 3.13 section of SPRUI33A, I see that table 3-15 indicates that 2 bits of these registers are used to indicate whether a particular RAM block or Flash sector is part of Zone 1, Zone 2, or unsecure.
Looking through the C2000Ware f28004x_driverlib project, I've found a file with defines that seem to partition these registers for the 2 bits aligning with the available Flash sectors (GRABSECT) or RAM blocks (GRABRAM).
I have a number of questions regarding this.
- Why does each block in the Bank0 and Bank1 Zone have an associated register allocation for GRABSECT and GRABRAM?
- Further, why does the DSCM have multiple blocks per zone? Is this so that you can configure certain memories for special purposes (execonly, etc)?
- Can I use just a few blocks or are they tied to specific purposes?
My previous experience with the CSM with an older Delfino was that setting the CSM registers would lock all the secure memories. It appears that there is a lot more flexibility in the CSMs of recent chips, but more complexity as well.
Currently, I'm reluctant to start playing with the DCSM until I fully understand this as it appears there are a number of pitfalls that could render the memories permanently locked. Any help or direction to a more detailed documentation would be appreciated. Do any of the training videos talk about the DCSM on one of the chips?
Thanks for any help,
-Wes