diff --git a/content/learning-paths/microcontrollers/cmsis-dsp/cmsis-dsp-tests.md b/content/learning-paths/microcontrollers/cmsis-dsp/cmsis-dsp-tests.md index d321c0c8d9..3d76893764 100644 --- a/content/learning-paths/microcontrollers/cmsis-dsp/cmsis-dsp-tests.md +++ b/content/learning-paths/microcontrollers/cmsis-dsp/cmsis-dsp-tests.md @@ -7,7 +7,7 @@ weight: 5 # 1 is first, 2 is second, etc. # Do not modify these elements layout: "learningpathall" --- -The [CMSIS-DSP tests](https://github.com/ARM-software/CMSIS-DSP/blob/main/Testing) are publicly available, and are used for validation of the library. They can be run on the [Corstone-300](https://developer.arm.com/Processors/Corstone-300) Fixed Virtual Platform (FVP). +The [CMSIS-DSP tests](https://github.com/ARM-software/CMSIS-DSP/blob/main/Testing) are publicly available, and are used for validation of the library. They can be run on the [Corstone reference systems](https://www.arm.com/products/silicon-ip-subsystems/), for example [Corstone-300](https://developer.arm.com/Processors/Corstone-300) Fixed Virtual Platform (FVP). These tests are primarily for Arm internal use, but users can replicate if they wish. Else proceed to the [next step](/learning-paths/microcontrollers/cmsis-dsp/_review/). diff --git a/content/learning-paths/microcontrollers/iot-sdk/_next-steps.md b/content/learning-paths/microcontrollers/iot-sdk/_next-steps.md index 99af21044b..06f884c97e 100644 --- a/content/learning-paths/microcontrollers/iot-sdk/_next-steps.md +++ b/content/learning-paths/microcontrollers/iot-sdk/_next-steps.md @@ -14,7 +14,7 @@ recommended_path: "/learning-paths/microcontrollers/tfm" # further_reading links to references related to this path. Can be: # Manuals for a tool / software mentioned (type: documentation) # Blog about related topics (type: blog) - # General online references (type: website) + # General online references (type: website) further_reading: - resource: @@ -25,6 +25,10 @@ further_reading: title: Arm Speech Recognition Total Solution example video, using the Arm Open IoT SDK, Corstone-310 and AVH link: https://devsummit.arm.com/flow/arm/devsummit22/sessions-catalog/page/sessions/session/16600464346670018mPQ type: website + - resource: + title: Learn more about the Corstone reference systems + link: https://www.arm.com/products/silicon-ip-subsystems/ + type: website # ================================================================================ # FIXED, DO NOT MODIFY diff --git a/content/learning-paths/microcontrollers/mlek/build.md b/content/learning-paths/microcontrollers/mlek/build.md index 967030ab9b..0872560bfd 100644 --- a/content/learning-paths/microcontrollers/mlek/build.md +++ b/content/learning-paths/microcontrollers/mlek/build.md @@ -9,31 +9,31 @@ layout: "learningpathall" --- The [Arm ML Evaluation Kit (MLEK)](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ml-embedded-evaluation-kit) provides a number of ready-to-use ML applications. These allow you to investigate the embedded software stack and evaluate performance on the Cortex-M55 and Ethos-U55 processors. -You can use the MLEK source code to build sample applications and run them on the [Corstone-300](https://developer.arm.com/Processors/Corstone-300) Fixed Virtual Platform (FVP). +You can use the MLEK source code to build sample applications and run them on the [Corstone reference systems](https://www.arm.com/products/silicon-ip-subsystems/), for example the [Corstone-300](https://developer.arm.com/Processors/Corstone-300) Fixed Virtual Platform (FVP). -## Before you begin +## Before you begin You can use your own Ubuntu Linux host machine or use [Arm Virtual Hardware (AVH)](https://www.arm.com/products/development-tools/simulation/virtual-hardware) for this Learning Path. -The Ubuntu version should be 20.04 or 22.04. The `x86_64` architecture must be used because the Corstone-300 FVP is not currently available for the Arm architecture. You will need a Linux desktop to run the FVP because it opens graphical windows for input and output from the software applications. +The Ubuntu version should be 20.04 or 22.04. The `x86_64` architecture must be used because the Corstone-300 FVP is not currently available for the Arm architecture. You will need a Linux desktop to run the FVP because it opens graphical windows for input and output from the software applications. If you want to use Arm Virtual Hardware the [Arm Virtual Hardware install guide](/install-guides/avh#corstone) provides setup instructions. -### Compilers +### Compilers -The examples can be built with [Arm Compiler for Embedded](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Embedded) or [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain). +The examples can be built with [Arm Compiler for Embedded](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Embedded) or [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain). Use the install guides to install the compilers on your computer: - [Arm Compiler for Embedded](/install-guides/armclang/) - [Arm GNU Toolchain](/install-guides/gcc/arm-gnu) -Both compilers are pre-installed in Arm Virtual Hardware. +Both compilers are pre-installed in Arm Virtual Hardware. ### Corstone-300 FVP {#fvp} -To install the Corstone-300 FVP on your computer refer to the [install guide for Arm Ecosystem FVPs](/install-guides/fm_fvp). +To install the Corstone-300 FVP on your computer refer to the [install guide for Arm Ecosystem FVPs](/install-guides/fm_fvp). -The Corstone-300 FVP is pre-installed in Arm Virtual Hardware. +The Corstone-300 FVP is pre-installed in Arm Virtual Hardware. ## Clone the repository @@ -54,9 +54,9 @@ git submodule update --init ## Build the example applications -The default compiler is `gcc`, but `armclang` can also be used. +The default compiler is `gcc`, but `armclang` can also be used. -You can select either compiler to build applications. You can also try them both and compare the results. +You can select either compiler to build applications. You can also try them both and compare the results. - Build with Arm GNU Toolchain (`gcc`) @@ -70,6 +70,6 @@ You can select either compiler to build applications. You can also try them both ./build_default.py --toolchain arm ``` -The build will take a few minutes. +The build will take a few minutes. When the build is complete, you will find the example images (`.axf` files) in the `cmake-build-*/bin` directory. The `cmake-build` directory names are specific to the compiler used and Ethos-U55 configuration. diff --git a/content/learning-paths/microcontrollers/nav-mlek/intro.md b/content/learning-paths/microcontrollers/nav-mlek/intro.md index 155fe7c710..46e4eb6405 100644 --- a/content/learning-paths/microcontrollers/nav-mlek/intro.md +++ b/content/learning-paths/microcontrollers/nav-mlek/intro.md @@ -1,7 +1,7 @@ --- title: Overview -weight: 2 +weight: 2 # Do not modify these elements layout: "learningpathall" @@ -9,8 +9,8 @@ layout: "learningpathall" As a microcontroller software developer, you likely start projects by identifying tools and software, setting up a development environment, and gathering evaluation boards and models. -Machine Learning (ML) applications follow the same pattern, but introduce additional complexity around the inclusion of machine learning models, software libraries for ML operations, and driver software to program neural processing unit (NPU) hardware. +Machine Learning (ML) applications follow the same pattern, but introduce additional complexity around the inclusion of machine learning models, software libraries for ML operations, and driver software to program neural processing unit (NPU) hardware. -The [Corstone-300](https://developer.arm.com/Processors/Corstone-300) and [Corstone-310](https://developer.arm.com/Processors/Corstone-310) reference designs are the basis of many ML IoT solutions. These designs offer a jump start on building hardware for ML applications. There are many software tools and examples available to get started creating ML applications, but you may find it difficult to see the big picture and understand which tools and software are best for you. +The [Corstone reference systems](https://www.arm.com/products/silicon-ip-subsystems) are the basis of many ML IoT solutions. These designs offer a jump start on building hardware for ML applications. There are many software tools and examples available to get started creating ML applications, but you may find it difficult to see the big picture and understand which tools and software are best for you. You can review the differences between the Corstone reference systems on the [Arm Developer Homepage for Corstone](https://developer.arm.com/documentation/102801/latest/). This Learning Path is to help you get started with Cortex-M and Ethos-U machine learning application development. diff --git a/content/learning-paths/microcontrollers/nav-mlek/platforms.md b/content/learning-paths/microcontrollers/nav-mlek/platforms.md index bfa1f56046..5214a1653d 100644 --- a/content/learning-paths/microcontrollers/nav-mlek/platforms.md +++ b/content/learning-paths/microcontrollers/nav-mlek/platforms.md @@ -13,34 +13,33 @@ There are very many Cortex-M microcontrollers with available [development boards ### MPS3 FPGA prototyping board -The [Arm MPS3 FPGA Prototyping Board](https://www.arm.com/products/development-tools/development-boards/mps3/) can be programmed with [FPGA images](https://developer.arm.com/downloads/-/download-fpga-images/) for the Corstone-300 and the Corstone-310 designs. The FPGA images are good for early software development. +The [Arm MPS3 FPGA Prototyping Board](https://www.arm.com/products/development-tools/development-boards/mps3/) can be programmed with [FPGA images](https://developer.arm.com/downloads/-/download-fpga-images/) for the for the Corstone-300, Corstone-310 and Corstone-1000 reference packages. The FPGA images are good for early software development. MPS3 is the recommended solution for evaluating performance, but boards are in short supply and may be difficult to obtain. - ## Virtual Hardware -Virtual implementations of the Corstone-300 and Corstone-310 are also available for software development. These can be accessed locally or in the cloud. +Virtual implementations of the Corstone reference systems are also available for software development. These can be accessed locally or in the cloud. ### Ecosystem FVPs Ecosystem FVPs are free-of-charge and target a variety of applications. They run on Linux and Windows. -The Corstone-300 and Corstone-310 FVPs are available on the [Arm Ecosystem FVP page](https://developer.arm.com/downloads/-/arm-ecosystem-fvps/). General ecosystem FVP setup instructions are provided in the [install guide](/install-guides/fm_fvp/eco_fvp/). +The Corstone reference systems are available on the [Arm Ecosystem FVP page](https://developer.arm.com/downloads/-/arm-ecosystem-fvps/). General ecosystem FVP setup instructions are provided in the [install guide](/install-guides/fm_fvp/eco_fvp/). The Ecosystem FVP can be used in conjunction with [Keil MDK](https://developer.arm.com/Tools%20and%20Software/Keil%20MDK) or [Arm Development Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio). Keil MDK Professional Edition also provides these virtual platforms. -### Arm Virtual Hardware +### Arm Virtual Hardware -[Arm Virtual Hardware](https://www.arm.com/products/development-tools/simulation/virtual-hardware/) provides two cloud-based solutions to access Corstone-300 and Corstone-310 platforms. These are intended for use as software test and validation environments suitable for CI/CD integration. +[Arm Virtual Hardware](https://www.arm.com/products/development-tools/simulation/virtual-hardware/) provides two cloud-based solutions to access Corstone reference systems. These are intended for use as software test and validation environments suitable for CI/CD integration. Both versions of AVH offer FVPs. Choose the one which best matches your preferences. You can use your AWS account and pay for the compute you use or pay for the hardware-as-a-service directly using your Arm account. Both methods offer free trials. The marketing information provides more details about the similarities and differences. -- [Arm Virtual Hardware Corstone and CPUs](#aws) AWS AMI (Amazon Machine Image) provides Virtual Hardware Targets (`VHT`) in a cloud instance (virtual machine). The AMI is available in the [AWS marketplace](https://aws.amazon.com/marketplace/pp/prodview-urbpq7yo5va7g/). +- [Arm Virtual Hardware Corstone and CPUs](#aws) AWS AMI (Amazon Machine Image) provides Virtual Hardware Targets (`VHT`) in a cloud instance (virtual machine). The AMI is available in the [AWS marketplace](https://aws.amazon.com/marketplace/pp/prodview-urbpq7yo5va7g/). - [Arm Virtual Hardware Third-Party Hardware](#3rdparty) uses hypervisor technology to model real hardware provided by Arm’s partners. It also offers FVPs as part of the cloud service. @@ -84,13 +83,13 @@ If you can start the FVPs you are ready for ML application development. #### Arm Virtual Hardware Third-Party Hardware {#3rdparty} -Arm Virtual Hardware Third-Party Hardware is currently in public beta. +Arm Virtual Hardware Third-Party Hardware is currently in public beta. [Log in to AVH](https://app.avh.arm.com/login/) using your Arm account or create a new one using the `Create an Arm account` link. After log in, you can use the AVH console to create a new device and select `Corstone-300fvp` or `Corstone-310fvp`. -You can use the AVH console to upload software and control FVP execution. +You can use the AVH console to upload software and control FVP execution. There is also documentation available in the console you can read to continue learning about AVH. @@ -107,10 +106,10 @@ The [AVH simulation model documentation](https://arm-software.github.io/AVH/main Ethos-U55 and Ethos-U65 offer a configurable number of MACs (multiply-accumulate units). During IP evaluation and performance analysis you need to understand the numbers of MACs available in the hardware and create your software to use the same configuration. -| Ethos-U NPU | Number of MACs supported | -| ----------- | ----------- | -| Ethos-U55 | 32, 64, 128, 256 | -| Ethos-U65 | 256, 512 | +| Ethos-U NPU | Number of MACs supported | +| ----------- | ----------- | +| Ethos-U55 | 32, 64, 128, 256 | +| Ethos-U65 | 256, 512 | FVP and VHT platforms can be configured with: ```console @@ -118,7 +117,7 @@ FVP and VHT platforms can be configured with: ``` ### Fast mode -The Ethos-U model used in FVPs can run at a faster speed with less simulation detail. +The Ethos-U model used in FVPs can run at a faster speed with less simulation detail. Use this configuration parameter to enable fast mode: @@ -128,20 +127,24 @@ Use this configuration parameter to enable fast mode: ### Hardware memory maps -A memory map is available for each configuration of Corstone-300 and Corstone-310. For example, the Corstone-300 with Cortex-M55 and Ethos-U55 [memory map](https://developer.arm.com/documentation/100966/1118/Arm--Corstone-SSE-300-FVP/Memory-map-overview-for-Corstone-SSE-300/) describes the address ranges for memory and peripherals. +A memory map is available for each configuration of the Corstone kits. For example, the Corstone-300 with Cortex-M55 and Ethos-U55 [memory map](https://developer.arm.com/documentation/100966/1118/Arm--Corstone-SSE-300-FVP/Memory-map-overview-for-Corstone-SSE-300/) describes the address ranges for memory and peripherals. -Refer to the [Corstone-300 Reference Guide](https://developer.arm.com/documentation/100966/1118/Arm--Corstone-SSE-300-FVP/) and [Corstone-310 Reference Guide](https://developer.arm.com/documentation/100966/1118/Arm--Corstone-SSE-310-FVP/) for details about the hardware models. +Refer to the reference guides for details about the hardware models: +- [Corstone-300 Reference Guide](https://developer.arm.com/documentation/100966/latest/Arm--Corstone-SSE-300-FVP/) +- [Corstone-310 Reference Guide](https://developer.arm.com/documentation/100966/latest/Arm--Corstone-SSE-310-FVP/) +- [Corstone-315 Reference Guide](https://developer.arm.com/documentation/109395/latest) +- [Corstone-320 Reference Guide](https://developer.arm.com/documentation/109760/latest) The memory map of FVPs is NOT configurable. ## Arm IP Explorer -Arm IP Explorer is used by SoC architects to select IP for new designs. It includes simulation features which provide cycle accurate simulation of Arm processors for the purpose of processor selection. It covers Cortex-M and Ethos-U and can help you determine the best processor configurations for a project. +Arm IP Explorer is used by SoC architects to select IP for new designs. It includes simulation features which provide cycle accurate simulation of Arm processors for the purpose of processor selection. It covers Cortex-M and Ethos-U and can help you determine the best processor configurations for a project. -Refer to the [Arm IP Explorer install guide](/install-guides/ipexplorer/) for links to more information. +Refer to the [Arm IP Explorer install guide](/install-guides/ipexplorer/) for links to more information. ## Summary -You should have a general understanding of the hardware options for Corstone-300 and Corstone-310 for application development. You can use an MPS3 board or an FVP on your local machine or using one of the cloud solutions. +You should have a general understanding of the hardware options for Corstone-300 and Corstone-310 for application development. You can use an MPS3 board or an FVP on your local machine or using one of the cloud solutions. The next section covers similar information for software, tools, and example applications.