|
1 | 1 | ## Fast Models
|
2 | 2 |
|
3 |
| -Arm Fast Models are accurate, flexible programmer's view software models of Arm cores, subsystems and peripherals etc. Users can run Mbed OS on the software model instead of the hardware. |
| 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 | 4 |
|
5 |
| -This document explains how to build, run and debug Arm Mbed OS applications with ARM Fast Models. Due to license reason, Mbed OS do not provide any Fast Models. If you already have a valid license to use Fast Models, you can follow this documentation to start. 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. |
| 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 | 6 |
|
7 |
| -FVPs (Fixed Virtual Platforms) are pre-built system-level models after arm’s reference platforms by Fast Models |
| 7 | +Fixed Virtual Platforms (FVPs) are prebuilt system-level models after Arm’s reference platforms by Fast Models. |
8 | 8 |
|
9 |
| -For more details on Fast Models and FVPs, please referencing [Arm Fast Models](https://developer.arm.com/products/system-design/fast-models) or [FVPs](https://developer.arm.com/products/system-design/fixed-virtual-platforms) |
| 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 | 10 |
|
| 11 | +### Supported Fast Models FVPs |
11 | 12 |
|
12 |
| -## Mbed OS Supported Fast Models FVPs |
13 |
| -Mbed OS is enabled working with following FVPs Cortex-M family with MPS2 platforms: |
| 13 | +Mbed OS has enabled working with following FVPs Cortex-M family with the MPS2 platforms: |
14 | 14 |
|
15 |
| -Fast Models Platforms | Target name in Mbed OS |
| 15 | +Fast Models platforms | Target name in Mbed OS |
16 | 16 | ---|---
|
17 | 17 | FVP_MPS2_Cortex-M0 | FVP_MPS2_M0
|
18 | 18 | FVP_MPS2_Cortex-M0plus | FVP_MPS2_M0P
|
19 | 19 | FVP_MPS2_Cortex-M3 | FVP_MPS2_M3
|
20 | 20 | FVP_MPS2_Cortex-M4 | FVP_MPS2_M4
|
21 | 21 | FVP_MPS2_Cortex-M7 | FVP_MPS2_M7
|
22 | 22 |
|
| 23 | +### Mbed OS examples on Fast Models |
23 | 24 |
|
| 25 | +Fast Models can run most of the Mbed OS examples. (Please see [known issues 2 and 3](#known-issues)] for more information.) |
24 | 26 |
|
25 |
| -## Mbed OS examples on Fast Models |
26 |
| -Currently Fast Models are able to run most of the Mbed OS examples which do not require networking or external peripherals<sup>1</sup>. |
| 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). |
27 | 28 |
|
28 |
| -[`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), [`mbed-os-example-nvstore`](https://github.com/ARMmbed/mbed-os-example-nvstore) etc. can be successfully run as of today |
| 29 | +The following examples use [`mbed-os-example-blinky`](https://github.com/ARMmbed/mbed-os-example-blinky). |
29 | 30 |
|
30 |
| -Here we take [`mbed-os-example-blinky`](https://github.com/ARMmbed/mbed-os-example-blinky) as an example |
| 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: |
31 | 36 |
|
32 |
| -#### Import example with Mbed CLI |
33 |
| -Import blinky example as normal: |
34 | 37 | ```
|
35 | 38 | $ mbed import mbed-os-example-blinky
|
36 | 39 | $ cd mbed-os-example-blinky
|
37 | 40 | ```
|
38 | 41 |
|
39 |
| -#### Build example with Arm Mbed CLI |
| 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: |
40 | 45 |
|
41 |
| -Fast Models targets are enabled to be build with all 3 major tool-chains: ARM GCC_ARM and IAR. To build blinky example for the FVP_MPS2_Cortex-M3 target with gcc complier, just run: |
42 | 46 | ```
|
43 | 47 | $ mbed compile -t GCC_ARM -m FVP_MPS2_M3
|
44 | 48 | ```
|
45 | 49 |
|
46 | 50 | #### Run Mbed OS examples with Fast Models
|
47 | 51 |
|
48 |
| -To run mbed OS example with Fast Models, you need to have Fast Models product installed and License set up. |
| 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: |
49 | 53 |
|
50 |
| ->This document does not including the section for Fast Models product installation and configuration. Because it is another topic, and we just assume that users had that done already. For more details about configuring and running Arm Fast Models can be found in [Fast Models Documentation](https://developer.arm.com/products/system-design/fast-models/docs) |
51 |
| -
|
52 |
| -Load the compiled example image to FVP_MPS2_Cortex-M3 target, you simple just need to pass the `-a` option to the Fast Models target, e.g. : |
53 | 54 | ```
|
54 | 55 | $ FVP_MPS2_Cortex-M3 -a BUILD/FVP_MPS2_M3/GCC_ARM/mbed-os-example-blinky.elf
|
55 | 56 | ```
|
56 |
| -You should be able to see FVPs starts running, and serial output through telnet/xterm, or LEDs on the FVP is blinking, like: |
57 | 57 |
|
58 |
| -<span class="images"><span>a screen-shot for FVPs running</span></span> |
| 58 | +The FVPs start running, andthe LEDs on the FVP blink, like: |
59 | 59 |
|
60 |
| -*NOTE:* |
| 60 | +<span class="images"><span>a screen-shot for FVPs running</span></span> |
61 | 61 |
|
62 |
| -> *FVP's -a option only takes elf format images, if you need to use "--data" option with binary format images, detailed options please referencing [FVP Users' Guide](http://arminfo.emea.arm.com/help/index.jsp?topic=/com.arm.doc.100966_1103_00_en/index.html)* |
| 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 | 63 |
|
64 |
| -## Known issues |
65 |
| -1. Timing accuracy of Fast Models can't be guaranteed |
66 |
| -2. No support for external peripherals. e.g. esp8266, Expansion boards |
67 |
| -3. Ethernet support for Fast Models is in working progress. |
| 64 | +### Known issues |
68 | 65 |
|
69 |
| -*[1]: Because of known issue 2 and 3, Fast Models are not able to run all examples at the moment* |
| 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