Part Number: AM5728
How can we modify and verify MMU configurations in the SYS/BIOS .cfg file?
Hi,
This FAQ explains how to configure the Execute Never (XN / noExecute) attribute using the PCIe example and how to verify it using Runtime Object View (ROV) in Code Composer Studio.
The noExecute (XN) bit marks specific memory regions as non-executable. When enabled, the processor prevents execution of code from those regions. This improves system safety and helps prevent unintended code execution.
1.MMU Configuration (SYS/BIOS)
Steps:
1.Open the following configuration file:
<pdk>/packages/ti/drv/pcie/example/sample/am572x/armv7/bios/pcie_sample_wSoCFile.cfg
2.Update the MMU descriptor attributes to enable the noExecute field:
peripheralAttrs.noExecute = 1;
3.Apply this configuration to the required memory region (for example, 0x50000000 block).
4.Rebuild the project after making changes.
5.Load and run the updated example in CCS.
2.Verifying MMU Configuration using ROV:
After applying the configuration, you can verify the MMU settings using Runtime Object View (ROV).
Steps:
1.Launch Code Composer Studio and connect to the target.
2.Load the updated PCIe example.
3.Run the application.
Refer to the FAQ for detailed steps on building and running the example in CCS.
4.Pause (halt) the CPU after execution starts.
5.Navigate to:
Tools → Runtime Object View (ROV)
6.Select the appropriate core (e.g., A15), Click Refresh to load the latest data.
Verify:
7.Export or capture the ROV logs if required.
Please refer to the attached:
.cfg fileRegards,
Karthik