diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml new file mode 100644 index 0000000..4bf4926 --- /dev/null +++ b/.github/workflows/link-check.yml @@ -0,0 +1,68 @@ +name: Check links with lychee + +on: + pull_request: + paths: + - "profile/**/*.md" + - ".lycheeignore" + - ".github/workflows/link-check.yml" + + push: + paths: + - "profile/**/*.md" + - ".lycheeignore" + - ".github/workflows/link-check.yml" + + schedule: + - cron: "0 20 * * 0" # Sundays 20:00 UTC + + workflow_dispatch: + +concurrency: + group: lychee-${{ github.ref }} + cancel-in-progress: true + +jobs: + link-check: + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - uses: actions/checkout@v6 + + # Using a progressive relaxation strategy that maximizes cache reuse without breaking correctness. + - name: Restore lychee cache + id: lychee-cache + uses: actions/cache/restore@v5 + with: + path: .lycheecache + key: lychee-${{ runner.os }}-${{ github.ref_name }}-${{ hashFiles('.lycheeignore', 'profile/**/*.md') }} + restore-keys: | + lychee-${{ runner.os }}-${{ github.ref_name }}- + lychee-${{ runner.os }}- + + - name: Check links in Markdown files + uses: lycheeverse/lychee-action@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + fail: true + args: > + --root-dir "$(pwd)" + --no-progress + --cache + --max-cache-age 1d + --accept 200,206,429 + --header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + --user-agent "curl/8.4.0" + --timeout 20 + --max-retries 2 + --max-redirects 2 + "profile/**/*.md" + + - name: Save lychee cache + if: always() && steps.lychee-cache.outputs.cache-hit != 'true' + uses: actions/cache/save@v5 + with: + path: .lycheecache + key: lychee-${{ runner.os }}-${{ github.ref_name }}-${{ hashFiles('.lycheeignore', 'profile/**/*.md') }} \ No newline at end of file diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 0000000..dd93338 --- /dev/null +++ b/.lycheeignore @@ -0,0 +1,7 @@ +# Known intentional bad example + + +# Known false positive / environment-sensitive +https://www.raspberrypi.com/software +https://www.raspberrypi.com/software/ +https://www.st.com/en/embedded-software/x-cube-stl.html \ No newline at end of file diff --git a/profile/BareMetal2RTOS.md b/profile/BareMetal2RTOS.md index e162677..e444c61 100644 --- a/profile/BareMetal2RTOS.md +++ b/profile/BareMetal2RTOS.md @@ -1,4 +1,4 @@ -[**Arm Examples**](README.md) » **Bare-Metal or RTOS** +[**Arm Examples**](https://github.com/Arm-Examples/) » **Bare-Metal or RTOS** # Bare-Metal or RTOS @@ -16,7 +16,7 @@ Bare-metal designs rely on a [superloop](https://arm-software.github.io/CMSIS_6/ ## Keil RTX (CMSIS-RTOS2 Kernel) -[Keil RTX](https://www.keil.arm.com/packs/cmsis-rtx-arm) is Arm’s reference RTOS kernel implementation for CMSIS-RTOS2 and is designed with strict real-time and safety requirements in mind. A key architectural property of RTX is that it never globally blocks interrupts to implement scheduling or synchronization. Instead, it relies on bounded critical sections, priority-aware mechanisms, and Arm Cortex-M architectural features to maintain kernel consistency while preserving interrupt responsiveness. +[Keil RTX](https://www.keil.arm.com/packs/cmsis-rtx-arm) is Arm’s reference RTOS kernel implementation for [CMSIS-RTOS2](https://arm-software.github.io/CMSIS_6/latest/RTOS2/index.html) and is designed with strict real-time and safety requirements in mind. A key architectural property of RTX is that it never globally blocks interrupts to implement scheduling or synchronization. Instead, it relies on bounded critical sections, priority-aware mechanisms, and Arm Cortex-M architectural features to maintain kernel consistency while preserving interrupt responsiveness. As a result, high-priority interrupts always execute with predictable latency, independent of RTOS activity. Communication between ISRs and threads is explicitly defined through CMSIS-RTOS2 APIs that are safe to call from interrupt context, ensuring that time-critical interrupt handling remains separate from deferred thread-level processing. This behavior makes RTX particularly suitable for safety-critical and real-time control systems where interrupt masking must be minimized or avoided altogether. For [safety-critical applications](#functional-safety), the [MDK-Professional edition](https://www.keil.arm.com/keil-mdk/) includes FuSa RTS, a TÜV certified version of Keil RTX. @@ -30,7 +30,7 @@ As a result, high-priority interrupts always execute with predictable latency, i Internally, FreeRTOS may temporarily mask interrupts as part of its kernel operation. Interrupts at or below a configured priority level are deferred while kernel data structures are updated. While this behavior is well-documented, it introduces interrupt latency that depends on kernel activity and requires careful interrupt priority configuration. Application code written against the native FreeRTOS API is also not inherently portable across RTOS implementations. -Using the standardized CMSIS-RTOS2 API layer decouples application code from the underlying kernel by providing a common interface for threads, synchronization primitives, and timers. CMSIS-RTOS2 is used natively by Keil RTX and FuSa RTS and is also supported by FreeRTOS and Zephyr via wrapper layers. This abstraction is particularly valuable in projects that prioritize portability, long-term maintainability, or safety certification. +Using the standardized CMSIS-RTOS2 API layer decouples application code from the underlying kernel by providing a common interface for threads, synchronization primitives, and timers. [CMSIS-RTOS2](https://arm-software.github.io/CMSIS_6/latest/RTOS2/index.html) is used natively by Keil RTX and FuSa RTS and is also supported by FreeRTOS and Zephyr via wrapper layers. This abstraction is particularly valuable in projects that prioritize portability, long-term maintainability, or safety certification. > **TIP** > @@ -50,11 +50,11 @@ This level of integration comes at the cost of increased footprint and a steeper Selecting between bare-metal, Keil RTX, FreeRTOS, and Zephyr depends on system complexity, longevity, and non-functional requirements. Bare-metal designs favor simplicity, minimal overhead, and unrestricted hardware control. FreeRTOS and Keil RTX provide a middle ground, offering multitasking with relatively low overhead. Zephyr targets product-scale systems that benefit from a rich ecosystem and enforced structure. -When portability across RTOS kernels or safety standards is a primary concern, CMSIS-RTOS2 combined with an appropriate kernel provides a clean abstraction that reduces long-term risk. +When portability across RTOS kernels or safety standards is a primary concern, [CMSIS-RTOS2](https://arm-software.github.io/CMSIS_6/latest/RTOS2/index.html) combined with an appropriate kernel provides a clean abstraction that reduces long-term risk. ## Further Reading - [Shawn Hymel – When to Use an RTOS](https://shawnhymel.com/2928/when-to-use-an-rtos-an-important-decision-for-embedded-projects/) - [Shawn Hymel – Zephyr vs FreeRTOS](https://shawnhymel.com/3106/zephyr-vs-freertos-how-to-choose-the-right-rtos-for-your-embedded-project/) - [Nathan Jones - You Don't Need an RTOS](https://www.embeddedrelated.com/showarticle/1636.php) -- [Arm – CMSIS-RTOS2 Overview](https://arm-software.github.io/CMSIS_5/RTOS2/html/index.html) +- [Arm – CMSIS-RTOS2 Overview](https://arm-software.github.io/CMSIS_6/latest/RTOS2/index.html) diff --git a/profile/CICD.md b/profile/CICD.md index 8139674..e6d2f7b 100644 --- a/profile/CICD.md +++ b/profile/CICD.md @@ -1,10 +1,10 @@ -[**Arm Examples**](README.md) » **CI/CD** +[**Arm Examples**](https://github.com/Arm-Examples/) » **CI/CD** # CI/CD (Continuous Integration / Continuous Delivery) Modern embedded software development requires automated workflows that ensure code quality, enable rapid iteration, and support collaborative development. CI/CD practices bring these capabilities to embedded systems, helping teams deliver reliable firmware faster while maintaining high quality standards. -[MDK](https://www.keil.arm.com/keil-mdk/) includes tools to establish comprehensive CI/CD workflows that include [automated builds](#automated-build-test) as well as unit testing and integration testing on [simulation models](#arm-fixed-virtual-platforms-fvp) or [target hardware](#hil-testing-with-pyocd). [Keil Studio](https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack/) is based on VS Code that integrates Git features and offers several VS Code extensions for static code analysis. The [CMSIS-Toolbox](https://open-cmsis-pack.github.io/cmsis-toolbox/) is a command-line interface for building embedded applications, enabling seamless integration with popular CI/CD platforms (like GitHub Actions). Integration with static code analysis tools (MISRA checking, code coverage analysis) is achieved with standard database files that third-party tools can consume. +[MDK](https://www.keil.arm.com/keil-mdk/) includes tools to establish comprehensive CI/CD workflows that include [automated builds](#automated-build-test) as well as unit testing and integration testing on [simulation models](#arm-fixed-virtual-platforms-fvp) or [target hardware](#hil-testing-with-pyocd). [Keil Studio](https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack) is based on VS Code that integrates Git features and offers several VS Code extensions for static code analysis. The [CMSIS-Toolbox](https://open-cmsis-pack.github.io/cmsis-toolbox/) is a command-line interface for building embedded applications, enabling seamless integration with popular CI/CD platforms (like GitHub Actions). Integration with static code analysis tools (e.g. MISRA checking) is achieved with standard database files that third-party tools can consume. ![CI/CD Process Overview](CICD_Overview.png "CI/CD Process Overview") @@ -14,7 +14,7 @@ The underlying build system of [Keil Studio](https://www.keil.arm.com/) uses the - Consistent tool installation based on a single [`vcpkg-configuration.json`](https://github.com/Arm-Examples/Hello_World/blob/main/vcpkg-configuration.json) file for desktop and CI environments. - CMSIS solution files (`*.csolution.yml`) that enable seamless builds in CI, for example using GitHub actions. -- [Run and Debug Configuration](https://open-cmsis-pack.github.io/cmsis-toolbox/build-overview/#run-and-debug-configuration) for pyOCD that uses a single configuration file `*.cbuild-run.yml`. +- [Run and Debug Configuration](https://open-cmsis-pack.github.io/cmsis-toolbox/build-overview/#run-and-debug-configuration) for pyOCD that uses a single configuration file `*.cbuild-run.yml`. ### Automated Build Test @@ -66,7 +66,7 @@ Raspberry Pi devices can serve as cost-effective self-hosted GitHub runners for ### Prerequisites - Raspberry Pi 3 or newer (Arm64 architecture). -- microSD card (minimum 8 GB). +- microSD card (minimum 16 GB). - Network connection (LAN or Wi-Fi). - Debug probe (e.g. ULINKplus or ST-LINK) for target hardware connection. @@ -74,20 +74,20 @@ Raspberry Pi devices can serve as cost-effective self-hosted GitHub runners for The setup requires four steps: -1. [Create an image for the Raspberry Pi](#image-the-microsd-card) -2. [Configure your network access](#network-configuration-and-access) -3. [Install the development tools](#install-development-tools) -4. [Setup your gitHub runner](#setup-github-runner) +1. [Create microSD card image for Raspberry Pi](#1-create-microsd-card-image-for-raspberry-pi) +2. [Configure network access](#2-configure-network-access) +3. [Install development tools](#3-install-development-tools) +4. [Setup GitHub runner](#4-setup-github-runner) -#### Image the microSD Card +#### 1. Create microSD Card Image for Raspberry Pi -- Use [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to install Ubuntu Server 24.04 LTS (64-bit). +- Use [Raspberry Pi Imager](https://www.raspberrypi.com/software) to install Ubuntu Server 24.04 LTS (64-bit). - Configure hostname (e.g., `rpi-ci`), user credentials, SSH access, and network settings during the imaging process. See [Ubuntu installation guide for Raspberry Pi](https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi). -#### Network Configuration and Access +#### 2. Configure Network Access -Configure network access and establish SSH connection for remote management. +Configure your network access and establish SSH connection for remote management. ```bash # Determine the Raspberry Pi's MAC address (useful for network registration) @@ -110,7 +110,7 @@ ssh @ # ssh devuser@192.168.1.100 ``` -#### Install Development Tools +#### 3. Install Development Tools You'll need the following tools: @@ -139,14 +139,13 @@ tar -xf cmsis-toolbox-linux-arm64.tar.gz # Download and extract pyOCD wget https://github.com/pyocd/pyOCD/releases/download/v0.42.0/pyocd-linux-arm64-0.42.0.zip -mkdir pyocd_42 && cd pyocd_42 +mkdir pyocd && cd pyocd unzip ./../pyocd-linux-arm64-0.42.0.zip cd .. # Set up environment variables (persist across reboots) -echo 'export PATH="$HOME/pyocd_42:$PATH"' >> ~/.bashrc -echo 'export CMSIS_TOOLBOX_ROOT="$HOME/cmsis-toolbox-linux-arm64"' >> ~/.bashrc -echo 'export PATH="$CMSIS_TOOLBOX_ROOT/bin:$PATH"' >> ~/.bashrc +echo 'export PATH="$HOME/pyocd:$PATH"' >> ~/.bashrc +echo 'export PATH="$HOME/cmsis-toolbox-linux-arm64/bin:$PATH"' >> ~/.bashrc echo 'export CMSIS_PACK_ROOT="$HOME/packs"' >> ~/.bashrc source ~/.bashrc @@ -167,7 +166,7 @@ cpackget init https://www.keil.com/pack/index.pidx cpackget add Keil::STM32H5xx_DFP@2.1.1 -a ``` -#### Setup GitHub Runner +#### 4. Setup GitHub Runner Follow [GitHub's self-hosted runner setup](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners) for Linux Arm64. Download the runner package, configure it with your repository URL and token, then start the runner diff --git a/profile/EdgeAI.md b/profile/EdgeAI.md new file mode 100644 index 0000000..df75763 --- /dev/null +++ b/profile/EdgeAI.md @@ -0,0 +1,60 @@ +[**Arm Examples**](https://github.com/Arm-Examples/) » **Edge AI** + +# Edge AI (Machine Learning) + +Arm offers comprehensive tool and software support for Edge AI development targeting the [Cortex-M processor family](https://www.arm.com/products/silicon-ip-cpu?families=cortex-m&showall=true) and [Ethos-U NPU series](https://www.arm.com/products/silicon-ip-cpu?families=ethos%20npus). Simple machine learning algorithms even execute on an ultra-low-power Cortex-M0+ device while the Cortex-M52/55/85 processors with [Helium vector extension](https://www.arm.com/technologies/helium) are optimized for neural networks. Combining a Cortex-M processor with an Ethos-U NPU delivers up to 480 times performance uplift for ML workloads while maintaining minimal power consumption. + +## ML Frameworks for Cortex-M and Ethos-U + +The Arm software and tool ecosystem integrates seamlessly with popular ML frameworks including LiteRT (formerly TensorFlow Lite) and ExecuTorch (PyTorch-based). + +[![LiteRT](LiteRT.png "LiteRT (formerly TensorFlow Lite)")](https://www.keil.arm.com/packs/tensorflow-lite-micro-tensorflow) + +The **[LiteRT (TensorFlow Lite Runtime)](https://www.keil.arm.com/packs/tensorflow-lite-micro-tensorflow)** is a production-grade inference runtime optimized for Cortex-M microcontrollers, optionally with Ethos-U. + +- Proven for Cortex-M only and Cortex-M + Ethos-U​ +- Optimized kernels for constrained memory​ +- Stable operator coverage for classic ML models ​ +- Strong ecosystem, ready today​ + +Explore the [LiteRT software pack for Arm Cortex-M](https://github.com/MDK-Packs/tensorflow-pack) with ready-to-use workflow templates and examples. + +[![PyTorch](PyTorch.png "ExecuTorch (PyTorch-based)")](https://github.com/Arm-Examples/CMSIS-Executorch) + +The **ExecuTorch (Lightweight PyTorch Runtime)** is today the dominant framework in research, making new ML model development and sharing easier. + +- Strong for LLMs, vision, multimodal, generative AI +- ML developer friendly with modern tooling +- Rapidly growing eco-system momentum +- Now maturing for Cortex-M + Ethos-U targets + +Get started with [CMSIS-Executorch](https://github.com/Arm-Examples/CMSIS-Executorch) for PyTorch-based AI models on Cortex-M and Ethos-U targets. + +## ML Runtime System + +ML models from ecosystem partners or open-source model zoos such as Hugging Face are quantized and optimized for embedded deployment. CMSIS-NN executes these optimized models on Cortex-M processors. For Ethos-U NPU targets, Vela converts model operations for NPU acceleration, while operations that cannot be converted continue to run on Cortex-M via CMSIS-NN. + +![ML Model Runtime System](ML_Model_Runtime.png "ML Model Runtime System") + +Using these workflows developers can deploy trained models from PyTorch, TensorFlow, and other frameworks onto Arm targets with optimal performance and energy efficiency, enabling intelligent capabilities in IoT devices, wearables, industrial sensors, and other edge computing applications. + +The [Vela compiler](https://pypi.org/project/ethos-u-vela/) provides detailed information on optimization output, diagnostics, and performance timing analysis for Ethos-U NPU targets. + +## Embedded Development Workflow + +The embedded development workflow for Edge AI applications requires training data for ML model training that executes on a host or MLOps system. Once trained, the ML model is deployed to the embedded target as described above. [Keil MDK](https://www.keil.arm.com/keil-mdk/) provides all tools that are required to develop and integrate the optimized ML models with the application code, device drivers, RTOS, and middleware components. Vela, Arm Compiler and FVP simulation models (the MLOps backend tools) are provided via Docker containers and CMSIS-ExecuTorch that includes also the runtime system. + +The [SDS-Framework](https://www.keil.arm.com/packs/sds-arm) is a workbench for ML model development. You may capture and record real-world sensor, audio, or video data streams directly from your target hardware for ML model training. SDS enables data playback and validation of the ML model output against performance indicators. The option to run tests on hardware or FVP simulation models enables automated testing and CI/MLOps workflows without requiring physical target hardware at every step. + +![Embedded Development Workflow](Embedded_Development.png "Embedded Development Workflow") + +Discover [Arm's ML ecosystem partners](https://www.arm.com/partners/ai-and-ml) offering optimized models, tools, and solutions for edge AI applications. + +## More Edge AI Developer Resources + +- [CMSIS-NN](https://github.com/ARM-software/CMSIS-NN) - Optimized neural network kernels for Cortex-M processors +- [TensorFlow Runtime System](https://www.keil.arm.com/packs/tensorflow-lite-micro-tensorflow) - LiteRT software pack with examples and integration support +- [ML Evaluation Kit (MLEK)](https://www.keil.arm.com/packs/cmsis-mlek-arm) - Pre-configured ML projects and template applications for microcontroller targets +- [SDS-Framework](https://github.com/ARM-software/SDS-Framework) - Workbench for capturing sensor data, validating ML models, and enabling CI/MLOps workflows +- [CMSIS-Executorch](https://github.com/Arm-Examples/CMSIS-Executorch) - ExecuTorch integration for Cortex-M and Ethos-U targets +- [CMSIS-Zephyr-Executorch](https://github.com/Arm-Examples/CMSIS-Zephyr-Executorch) - ExecuTorch integration for Zephyr RTOS applications diff --git a/profile/Embedded_Development.png b/profile/Embedded_Development.png new file mode 100644 index 0000000..9ce5cb6 Binary files /dev/null and b/profile/Embedded_Development.png differ diff --git a/profile/FuSa.md b/profile/FuSa.md index 40435a4..04f5df3 100644 --- a/profile/FuSa.md +++ b/profile/FuSa.md @@ -1,4 +1,4 @@ -[**Arm Examples**](README.md) » **Functional Safety** +[**Arm Examples**](https://github.com/Arm-Examples/) » **Functional Safety** ## Functional Safety diff --git a/profile/ImageSource/images.pptx b/profile/ImageSource/images.pptx index ee3c425..0c410e6 100644 Binary files a/profile/ImageSource/images.pptx and b/profile/ImageSource/images.pptx differ diff --git a/profile/LiteRT.png b/profile/LiteRT.png new file mode 100644 index 0000000..634678e Binary files /dev/null and b/profile/LiteRT.png differ diff --git a/profile/ML_Model_Runtime.png b/profile/ML_Model_Runtime.png new file mode 100644 index 0000000..c231dd8 Binary files /dev/null and b/profile/ML_Model_Runtime.png differ diff --git a/profile/PyTorch.png b/profile/PyTorch.png new file mode 100644 index 0000000..131cecc Binary files /dev/null and b/profile/PyTorch.png differ diff --git a/profile/README.md b/profile/README.md index 48aa06e..9d6ff1c 100644 --- a/profile/README.md +++ b/profile/README.md @@ -1,6 +1,17 @@ # Examples for Embedded Developers -Arm-Examples contains ready-to-run embedded projects showcasing RTOS, machine learning, functional safety, and CI/CD automation across diverse Arm-based hardware platforms. +Arm-Examples show the usage of Arm technology on various platforms. + +## Find a Repository + +- [Browse all repositories](https://github.com/orgs/Arm-Examples/repositories?q=archived%3Afalse) +- [Recently updated repositories](https://github.com/orgs/Arm-Examples/repositories?sort=updated&?q=archived%3Afalse) +- [Popular repositories (most stars)](https://github.com/orgs/Arm-Examples/repositories?sort=stargazers&?q=archived%3Afalse) +- Click on "Most Used Topics" (Desktop Webside only) + +## Featured Examples for Keil MDK + +The examples below are ready-to-run embedded projects for [Keil MDK](https://www.keil.arm.com/) showcasing RTOS, machine learning, functional safety, and CI/CD automation across diverse Arm-based hardware platforms. [Introduction to Keil Studio](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250715_Introduction_to_Keil_Studio.mp4 "Introduction to Keil Studio") @@ -10,7 +21,7 @@ Keil Studio is Arm's new IDE for embedded development directly in Visual Studio
-## RTOS Applications +### RTOS Applications Keil Studio is designed for all types of embedded projects, ranging from bare-metal firmware to complex RTOS-based systems. [**Learn how to choose the right option:**](BareMetal2RTOS.md "Bare-Metal or RTOS") bare-metal, Keil RTX, FreeRTOS, or Zephyr? @@ -18,23 +29,26 @@ Keil Studio is designed for all types of embedded projects, ranging from bare-me |:--------|:---------|:--------| | [Hello_World](https://github.com/Arm-Examples/Hello_World) | Various | Setup of [bare-metal or RTOS](BareMetal2RTOS.md "Bare-Metal or RTOS") configuration with [serial I/O retargeting](Serial.md "Serial I/O Messages"); prints "Hello World ..". | | [Middleware_USB_FS](https://github.com/Arm-Examples/Middleware_USB_FS) | STM32F7 | MDK-Middleware with USB Device and File System for evaluation kits or custom hardware. Retargeting to a different board only requires a layer with compatible APIs. [Watch the related webinar](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250729_Working_with_STM32_devices.mp4). | +| [AWS_MQTT_Demo](https://github.com/Arm-Examples/AWS_MQTT_Demo) | Various | Connects to AWS MQTT broker using TLS with mutual authentication and demonstrates the MQTT subscribe-publish workflow. | | [CMSIS-Zephyr](https://github.com/Arm-Examples/CMSIS-Zephyr) | Various | Zephyr application examples with Keil Studio demonstrate multi-target and debug setup. | -## Edge AI and Machine Learning +### Edge AI and Machine Learning [Development flow for optimized Edge AI devices](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250812_Multicore_Alif.mp4?#t=07:22 "Development flow for optimized Edge AI devices") -Comprehensive machine learning capabilities are available with ML Evaluation Kit (MLEK), Synchronous Data Streaming (SDS) Framework, LiteRT (TensorFlow), and Executourch that utilizes CMSIS-NN (for Cortex-M) or Vela (for Ethos-U). **[Watch this video to learn more...](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250812_Multicore_Alif.mp4?#t=07:22 "Development flow for optimized Edge AI devices")** +Arm offers for Edge AI development on the Cortex-M processor family and Ethos-U NPU series comprehensive tool and software support. + +**[Watch this video](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250812_Multicore_Alif.mp4?#t=07:22 "Development flow for optimized Edge AI devices")**, explore the projects below or read the section [**Edge AI**](EdgeAI.md) to learn more.
| Example | Hardware | Content | |:--------|:---------|:--------| -| [CMSIS-MLEK-Examples](https://github.com/Arm-Examples/cmsis-mlek-examples) | Alif Ensemble E7 | Pre-configured machine learning (ML) projects using the ML Embedded Evaluation Kit. [Watch the related webinar](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250812_Multicore_Alif.mp4">). | +| [CMSIS-MLEK-Examples](https://github.com/Arm-Examples/cmsis-mlek-examples) | Alif Ensemble E7 | Pre-configured machine learning (ML) projects using the ML Embedded Evaluation Kit. [Watch the related webinar](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250812_Multicore_Alif.mp4). | | [SDS-Examples](https://github.com/Arm-Examples/SDS-Examples) | Various | Examples showing the usage of the Synchronous Data Streaming (SDS) Framework. [Watch the related webinar](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250916_SDS_Webinar.mp4). | | [CMSIS-Executorch](https://github.com/Arm-Examples/CMSIS-Executorch) | Ethos-U | Project template for embedded applications with Arm Ethos-U that use ExecuTorch AI models | -## Functional Safety (FuSa RTS) +### Functional Safety (FuSa RTS) [Software development for safety critical applications](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250930_FuSa_TRAVEO.mp4?#t=01:35 "Software development for safety critical applications") @@ -49,7 +63,7 @@ The [MDK Professional Edition](https://www.keil.arm.com/keil-mdk/#mdk-v6-edition | [Safety-Example-Infineon-T2G](https://github.com/Arm-Examples/Safety-Example-Infineon-T2G) | Infineon Traveo T2G (Cortex-M7)| [Fusa RTS](https://developer.arm.com/Tools%20and%20Software/Keil%20MDK/FuSa%20Run-Time%20System) traffic light example, CMSIS-Driver development and verification. [Watch the related webinar](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250930_FuSa_TRAVEO.mp4). | | [Safety-Example-STM32](https://github.com/Arm-Examples/Safety-Example-STM32) | STM32H5 (Cortex-M33) | [Fusa RTS](https://developer.arm.com/Tools%20and%20Software/Keil%20MDK/FuSa%20Run-Time%20System) traffic light example. [Watch the related webinar](https://armkeil.blob.core.windows.net/developer/Files/videos/KeilStudio/20250930_FuSa_TRAVEO.mp4). | -## CI/CD Automation (GitHub Actions) +### CI/CD Automation (GitHub Actions) Most of the above example projects include GitHub actions that run automated CI tests. The following projects help to get started with test automation. Read the section **[CI/CD](CICD.md)** to learn more. diff --git a/profile/Serial.md b/profile/Serial.md index 38ec261..0b8824a 100644 --- a/profile/Serial.md +++ b/profile/Serial.md @@ -1,4 +1,4 @@ -[**Arm Examples**](README.md) » **Serial I/O Messages** +[**Arm Examples**](https://github.com/Arm-Examples/) » **Serial I/O Messages** # Serial I/O Messages