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 of cycle 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.

BSP (board-support-package)/SW stack for Corstone-1000 FVP and FPGA-based implementation on MPS3

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

image

Connect with ARM-DS

I can connect to any CPU on the system. See below I'm connected to cortex-m3.

image