Running the ELA use case scripts
- Program the ELA configuration registers:
- Navigate to: Scripts view > Use case > Scripts in <path to Arm Development Studio Workspace>\DTSLELA-600\ > ela_setup.py > Configure.
- Right-click Configure ELA and select Run ela_setup.py::Configure ELA.
- Set up and enable CTIs for the ELA-600 and the core.
Setting up and enabling the CTIs allows:
- The halt request from the Output Action of Trigger State 0 to halt the core.
- Trigger State 1 to see the core halt response.
We configure the CTIs by adding some code to the platform configuration dtsl_config_script.py and running a cti_setup.ds Arm DS script. Both these items are included the following Eclipse project.
- Run the ELA:
- Navigate to: Scripts view > Use case > Scripts in <path to Arm Development Studio Workspace>\DTSLELA-600\ > ela_control.py > Run ELA-600.
- Right-click Run ELA-600 and select Run ela_setup.py::Run ELA-600.
Run ELA-600 starts the ETR by default. If your board does use an ETR as the ELA-600 trace sink, you must:
- Right-click ela_control.py::Run ELA-600 and select Configure.
- Untick Start the connected trace sinks when the ELA-600 starts.
- Start the trace sink manually or add DTSL code to the Run ELA-600 use case script to start the trace sink.
- Run the target with the test image.
Here is an Eclipse project that contains:
- Code and an image to run on the target to create the data corruption scenario.
- A init.ds Arm DS script to run as part of the target connection sequence to initialize the Cortex-A55 core.
- A cti_setup.ds Arm DS script to set up the CTI connection between the core and the ELA-600.
- A corrupt_mem.ds Arm DS script to corrupt the memory contents at address 0xB1000000.
- A dtsl_config_script.py that contains the necessary code to set up the ELA-600 CTI (CSCTI_3).
To learn how to run an Arm DS script, read the “Running a script” section of the Arm Development Studio User Guide.
Result: The target runs and the ELA monitors the input of Signal Group 0 and the External Trigger Signals for the programmed Trigger Conditions.