I've been using Arm DS evaluation license do debug the FVP_BaseR_AEMv8R just running aarch32. It worked completely fine. Now I want to start working on a aarch64 version. For this I adjusted the model paramaters to:
FVP_BaseR_AEMv8R -C cluster0.has_aarch64=1 -C cluster0.VMSA_supported=0 -C cluster0.NUM_CORES=4 -C cluster0.gicv3.cpuintf-mmap-access-level=2 -C cluster0.gicv3.SRE-enable-action-on-mmap=2 -C cluster0.gicv3.SRE-EL2-enable-RAO=1 -C cluster0.gicv3.extende
d-interrupt-range-support=1 -C gic_distributor.GICD_CTLR-DS-1-means-secure-only=1 -C gic_distributor.has-two-security-states=0 -C bp.refcounter.non_arch_start_at_default=1
The model starts, but when I connect the DS debugger I cannot seem to use it. I get this view of the cores:
Is there something I'm doing wrong? Or does this license does not allow me to debug the model in Aarch64 mode?
Thanks in advance
HiMy name is Stephen and I work at Arm.Which Arm processor are you planning to use in your design? If the Cortex-R82, then please take a look at the ready-made example named "startup_Cortex-R82" that is supplied with Arm DS. This starts-up in AArch64 - see screenshot:
Hope this helpsStephen
Thank you for the answer but I'm not using R82 as I do not have a license for that model. As explained in the initial message I am using the free Armv8-R AEM FVP. My only issue is with connecting the DS debugger to the model when aarch64 mode is enabled (model parameter cluster0.has_aarch64=1). I am perfectly able to run and debug code in aarch32 mode. Also I can run my own code in aarch64 mode, no problem. So I have no need for example code. My only issue is with connecting the debugger.
Hi againThe Cortex-R82 FVP, and a license for its use, is provided with Arm DS 2022.1, so you could use that.Support for some of the more advanced features of the Arm Architecture offered within the AEMs (AEMvA, AEMv8R & AEMv8M) is provided only in the "Platinum" edition of Arm DS (though unfortunately there is no Evaluation version for that).If you really do need to use the AEMv8R FVP, then a workaround is to set the cpu type (that the debugger will use for e.g. displaying system registers, etc) to Cortex-R82, as follows:On the Arm DS Command Line, launch the FVP with:FVP_BaseR_AEMv8R -C cluster0.has_aarch64=1 --iris-serverIn the Arm DS IDE, select File > New > Other, Configuration Database > Model Configuration, click "Create New Database" and give it a name e.g. "ExtensionDB" [Next], select Iris, Browse for model running on localhost, and select it [Finish].In the model.mdf dialog, for each of the 4 cpus, select its line, click Edit, and change its Type from "ARMAEMv8-R_" to "Cortex-R82".
Finally, click on Save, Import, then Debug.I've only lightly tested this, but it seems to work OK. If you need full Armv8-R architecture support (as opposed the Cortex-R82 subset), then I'm afraid you'll need to upgrade to Platinum.
That was really helpful! Thanks!