4.1.1.5.3 Code Execution in RAM: Availability

Availability refers to ensuring that the code in RAM is accessible for execution when needed and is protected against denial-of-service attacks or accidental overwrites.

For dsPIC33A devices, availability is supported by hardware and software mechanisms that reserve and protect RAM regions designated for code execution. The BMXIRAML and BMXIRAMH registers are used to define the execution window in RAM, so only code within this region can be executed. The BMXIRAML/H registers can be locked until the next Reset as described in Locking an Executable RAM Region. When a RAM execution is enabled, writes to the RAM inside that range cannot be modified. When the registers that define the range are locked, no modifications to the range can be made, thus locking the code loaded into the RAM.

For further details on the BMXIRAML and BMXIRAMH registers, see RAM Execution.

Key Consideration:

  • Lock the RAM region registers, if reconfiguration is not permitted in later stages to prevent modification