Skip to content

Instantly share code, notes, and snippets.

@slpp95prashanth
Last active August 27, 2023 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slpp95prashanth/4f09493037d564d54e9de331ee24377e to your computer and use it in GitHub Desktop.
Save slpp95prashanth/4f09493037d564d54e9de331ee24377e to your computer and use it in GitHub Desktop.

GSoC 2023 Final Report: Zephyr on R5/M4F

Zephyr on R5/M4F

This report summarises the project that I have worked with BeagleBoard.org on adding support on Zephyr for R5 cores in J721E System on Chip for BeagleBone AI 64 board for this Google Summer of Code 2023.

Final Commits

Project Overview

The objective of the project is to add Zephyr RTOS support to run on Cortex R5 processor cores loaded from A72 core running Linux through remoteproc and add few peripheral support (Interrupts, Gpio, UART, Timers) for TDA4VM SoC. The Cortex R5 processor cores are built to provide deeply embedded real-time and safety-critical systems. So adding Zephyr RTOS support for R5 cores in TDA4VM will be very helpful for the product developers.

Project Objectives

  • Add J721e SoC and device tree Support.
  • Add BeagleBone AI 64 Support.
  • Add VIM Interrupt Controller Support.
  • Add DM Timer Controller.
  • Add Davinci GPIO Controller Support.

Mentors

  • Nishanth Menon
  • Dhruva Gole
  • Vaishnav Achath
  • Deepak Khatri
  • Kumar Abhishek

Summary

In this project, I have added board (BeagleBone AI64), soc (J721e), device tree, interrupt controller (VIM), systick (DM Timer) and gpio (Davinci) support in Zephyr.

Commits and Pull Requests

Midterm Evaluation

  • Added board, soc, device tree files to Zephyr.
  • Added UART peripheral support.
  • Added Pinctrl support.
  • Added VIM controller support.
  • Created pull requests and addressed review comments.
  • Added blog post.

Final Evaluation

  • Added DM Timer for systick support.
  • Added Davinci GPIO controller support.
  • Created pull requests and addressed review comments.
  • Added VIM blog post.

Hello World Output

output

My Learnings

  • Understanding on K3 Processor Family.
  • Understanding remoteproc.
  • Working on BeagleBone AI 64.

Acknowledgement

The project work for this GSoC 2023 has been done with help of my mentors, BeagleBoard community and Zephyr Community. I would like to Thank my mentors Nishanth Menon, Dhruva Gole, Vaishnav Achath, Deepak Khatri, Kumar Abhishek and BeagleBoard Community for the hardware support and project guidance and Zephyr Community for project and PR guidance.

Future Scope

  • Adding SCI support for k3 processors in Zephyr would help to add interrupt router support.
  • J721e is a heterogeneous processor OpenAMP support would be very helpful for product development.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment