Demo Keil flow - MarekBykowski/readme GitHub Wiki
Fast Model FVP (Fixed-Virtual-Platform)
- They utilize
Programmer’s View
(PV) models of processors and devices - These are equivalent to what a programmer would see using the hardware
- you can use the
PV
models for confirming software functionality, but you must not rely on the accuracy ofcycle counts
,bus traffic
,execution timing
Eg. re-ordering and buffering of memory accesses, out-of-order execution, speculative prefetch and drain-buffers can cause timing differences. They are not modeled, since they are not visible to the programmer.
Fast Models
can:
- Accurately model instructions
- Correctly execute architecturally-correct code
Fast Models
cannot:
- Model timing sensitive behavior, real HW can retire instruction if speculation was unsuccessful
- Model bus traffic, do not support bus contention, QoS
- As a result you cannot measure software performance
Bootom line: ☝ architecturally correct software cannot tell between running on hardware and running on the model.
Corstone-1000 FVP
and FPGA-based implementation on MPS3
BSP (board-support-package)/SW stack for My platform is Arm Corstone-1000 Ecosystem FVP (Fixed Virtual Platform)
My BSP is built for it but it is prepared with differences to work on MPS3
Modify, build and run
Modify the source code for cortex-m, see Hello World
, build and then run on FVP
Connect with ARM-DS
I can connect to any CPU on the system. See below I'm connected to cortex-m3
.