-
Notifications
You must be signed in to change notification settings - Fork 680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Chipyard port of Zephyr RTOS #2191
base: main
Are you sure you want to change the base?
Conversation
Adds basic support for running Zephyr applications on single and multi-core CPUs. Tested using RocketConfig and DualRocketConfig using Verilator RTL simulation. Additionally, provide docs containing a Zephyr overview, installation instructions, and a tutorial on important Zephyr concepts and an example of adding a driver.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this can boot in 20k instructions, we should add a CI test that checks it using RocketConfig.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zephyr is a gigantic repo, it significantly degrades clone time of chipyard.
Can you modify scripts/init-submodules-no-riscv-tools-nolog.sh such that that script does not initialize Zephyr? You can follow the pattern of the existing repos on the "blocklist" for the recursive init.
Then indicate the user should manually git submodule update --init zephyr
in the docs
Summary:
Add initial support of Zephyr RTOS to Chipyard. Intended to be an intermediate option between Linux/FireMarshal flow and BaremetalIDE flow. Evaluated on Spike and RTL sim with RocketConfig/DualRocketConfig.
Zephyr RTOS Integration:
chipyard/software/zephyr
)HTIF UART Driver for Spike/FESVR:
Documentation Updates:
Related PRs / Issues:
Type of change:
Impact:
Contributor Checklist:
main
as the base branch?changelog:<topic>
label?changelog:
label?.conda-lock.yml
file if you updated the conda requirements file?Please Backport
?CI Help:
Add the following labels to modify the CI for a set of features.
Generally, a label added only affect subsequent changes to the PR (i.e. new commits, force pushing, closing/reopening).
See
ci:*
for full list of labels:ci:fpga-deploy
- Run FPGA-based E2E testingci:local-fpga-buildbitstream-deploy
- Build local FPGA bitstreams for platforms that are releasedci:disable
- Disable CI