~/rd-infra/
./build-scripts/build-test-uefi.sh -p rdn2 all
model-scripts/rdinfra/platforms/rdn2/run_model.sh
-R
PARAMS=
cd model-scripts/rdinfra
export MODEL=~/FVP_RD_N2/models/Linux64_GCC-9.3/FVP_RD_N2
./uefi.sh -p rdn2 MODEL=~/FVP_RD_N2/models/Linux64_GCC-9.3/FVP_RD_N2
~/FVP_RD_N2
Open Arm DS
In the Debug Control window, click on the menu icon and select "New Debug Connection..."
Select "Model Connection" and click next
Create a name for the connection. We will call it "RDN2 SCP" and click next
Select "Add a new model"
In the new window which appears, select CADI and click next
Select "Browse for model running on localhost" and click next
Select "System Generator:RD_N2" This will only appear while the FVP_RD_N2 window is open when running the model
Click Finish on both windows
In the edit configuration window which appears we need to select which core to debug.
Under Connection -> Select Target -> Imported -> RD_N2 -> Bare Metal Debug we can see all the cores available in our model
We are only interested in the Cortex M7 cores, which are the MCP and SCP.
Select Arm_Cortex-M7_1
Under Files select Load Symbols from file, File System, and select the SCP RAMFW ELF file, located at `scp/output/rdn2/0//scp_ramfw/bin/rdn2-bl2`
Select apply then debug
At a time of writing this guide SCP firmware debug build uses "-Og" argument. As a result some code and varables are optimized. That would make debugging difficult. To replace "-Og" with "-O0" do following:
string(APPEND CMAKE_${language}_FLAGS_DEBUG_INIT "-Og")
into
string(APPEND CMAKE_${language}_FLAGS_DEBUG_INIT "-O0")