Skip to content

Commit d72edfd

Browse files
author
Amanda Butler
authored
Merge pull request #690 from jamesbeyond/fastmodels
Add documents for Fast Model
2 parents a20f16e + e4ae11e commit d72edfd

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

docs/images/fastmodel_cm3.png

14.6 KB
Loading

docs/tools/fastmodels/fastmodels.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
## Fast Models
2+
3+
Arm Fast Models are software models of Arm cores, subsystems, peripherals and so on. You can run Mbed OS on the software model instead of the hardware.
4+
5+
This document explains how to build, run and debug Arm Mbed OS applications with Arm Fast Models. Due to licensing, Mbed OS do not provide any Fast Models. If you do not have a Fast Models license yet, you can visit [Arm Fast Models](https://developer.arm.com/products/system-design/fast-models) to obtain an evaluation license.
6+
7+
Fixed Virtual Platforms (FVPs) are prebuilt system-level models after Arm’s reference platforms by Fast Models.
8+
9+
For more details on Fast Models and FVPs, please reference further documentation about [Arm Fast Models](https://developer.arm.com/products/system-design/fast-models) or [FVPs](https://developer.arm.com/products/system-design/fixed-virtual-platforms).
10+
11+
### Supported Fast Models FVPs
12+
13+
Mbed OS has enabled working with following FVPs Cortex-M family with the MPS2 platforms:
14+
15+
Fast Models platforms | Target name in Mbed OS
16+
---|---
17+
FVP_MPS2_Cortex-M0 | FVP_MPS2_M0
18+
FVP_MPS2_Cortex-M0plus | FVP_MPS2_M0P
19+
FVP_MPS2_Cortex-M3 | FVP_MPS2_M3
20+
FVP_MPS2_Cortex-M4 | FVP_MPS2_M4
21+
FVP_MPS2_Cortex-M7 | FVP_MPS2_M7
22+
23+
### Mbed OS examples on Fast Models
24+
25+
Fast Models can run most of the Mbed OS examples. (Please see [known issues 2 and 3](#known-issues)] for more information.)
26+
27+
Examples you can successfully run include [`mbed-os-example-thread-statistics`](https://github.com/ARMmbed/mbed-os-example-thread-statistics), [`mbed-os-example-tls`](https://github.com/ARMmbed/mbed-os-example-tls), [`mbed-os-example-devicekey`](https://github.com/ARMmbed/mbed-os-example-devicekey) and [`mbed-os-example-nvstore`](https://github.com/ARMmbed/mbed-os-example-nvstore).
28+
29+
The following examples use [`mbed-os-example-blinky`](https://github.com/ARMmbed/mbed-os-example-blinky).
30+
31+
To run Mbed OS examples with Fast Models, you need to install the Fast Models product and set up the license.
32+
33+
#### Import the example with Arm Mbed CLI
34+
35+
Import the blinky example:
36+
37+
```
38+
$ mbed import mbed-os-example-blinky
39+
$ cd mbed-os-example-blinky
40+
```
41+
42+
#### Build the example with Mbed CLI
43+
44+
Fast Models targets are enabled to be built with all three major toolchains: ARM, GCC_ARM and IAR. To build the blinky example for the FVP_MPS2_Cortex-M3 target with the GCC complier, run:
45+
46+
```
47+
$ mbed compile -t GCC_ARM -m FVP_MPS2_M3
48+
```
49+
50+
#### Run Mbed OS examples with Fast Models
51+
52+
Load the compiled example image to the FVP_MPS2_Cortex-M3 target. To do so, pass the `-a` option to the Fast Models target. For example:
53+
54+
```
55+
$ FVP_MPS2_Cortex-M3 -a BUILD/FVP_MPS2_M3/GCC_ARM/mbed-os-example-blinky.elf
56+
```
57+
58+
The FVPs start running, andthe LEDs on the FVP blink, like:
59+
60+
<span class="images">![](https://s3-us-west-2.amazonaws.com/mbed-os-docs-images/fastmodel_cm3.png)<span>a screen-shot for FVPs running</span></span>
61+
62+
<span class="notes">**Note:** FVP's `-a` option only takes .elf format images. To use the `--data` option with binary format images, please reference the [FVP Users' Guide](http://arminfo.emea.arm.com/help/index.jsp?topic=/com.arm.doc.100966_1103_00_en/index.html).</span>
63+
64+
### Notes
65+
66+
1. Timing accuracy of Fast Models can't be guaranteed.
67+
1. There is no support for external peripherals, such as ESP8266 expansion boards.
68+
1. Ethernet support for Fast Models is in progress.

0 commit comments

Comments
 (0)