#osorting
Explore tagged Tumblr posts
siliconsignalsblog · 7 months ago
Text
Tailoring Zephyr to Your Hardware: West Manifest Customization
Introduction
The Zephyr Project RTOS (https://zephyrproject.org/), or simply “Zephyr” as it is known colloquially, is an increasingly popular real-time operating system due to its native support for over 450 boards and countless peripherals. Starting from a known baseline is the first step in any embedded software project. This can involve downloading a zip file that represents a particular source code version, as is typically the case with other RTOSes, or cloning a repository from source control, as may be the case with embedded Linux. In order to guarantee that Zephyr development starts from a known baseline, this blog post will outline a personal best practice. As a result, when a client or colleague takes over development of a Zephyr-based project, there are no surprises.
Tumblr media
Zephyr is special because it retrieves all of the Zephyr components from various locations, possibly using different mechanisms, using a "meta-tool" called West. Contrast that with a standard software development process, which retrieves the source code from a single repository. A "manifest" file contains instructions for West on how to obtain the various components. A snapshot of the complete Zephyr codebase is provided by the manifest file, which is typically checked into source control.
Strategy
There are two parts to the strategy. We can start by making forks of the repositories where we plan to make changes. Having a dependable location that acts as a sandbox is still crucial, even though the objective is to generate pull requests for pertinent customizations. For instance, a previous blog post (https://zephyrproject.org/supporting-firmware-updates-with-zephyr-nrf/) showed how to add buttonless DFU to MCUBoot, which necessitated making a fork of MCUBoot. A bug we've found or a feature we want to add may also require us to change one of the Zephyr subsystems. We can make a fork of the Zephyr repository in the interim, but it would be best to submit a pull request (PR) following their guidelines (https://docs.zephyrproject.org/latest/contribute/guidelines.html).
We can describe our entire codebase in a custom West manifest file after the forks have been created. Nordic Semiconductor has done a lot of work to develop a complete, stable baseline firmware using Zephyr, and we can start by using their West manifest file (https://github.com/nrfconnect/sdk-nrf/blob/main/west.yml) to assist their customers in getting started. Nordic's manifest file can be modified as needed and used as our own. First, we can include a "remote" with the repository's base URL and a descriptive name:
remotes:
.
.
.
        - name: <a descriptive name>
          url-base: <base repository URL>
Second, we must tell West to use MCUBoot and our fork of Zephyr. When no remote is specified for a specific codebase, Nordic Semiconductor's repository is used as the "default" in their manifest file: In order to prevent West from using Nordic's repositories, we must include our remote in the Zephyr and MCUBoot entries: ...            - name: <zephyr repository name>                path: zephyr          revision: <git commit/branch>          remote: <a descriptive name>...        - name: <mcuboot repository name>          path: bootloader/mcuboot          revision: <git commit/branch>          remote: <a descriptive name>
Putting It All Together
Following the aforementioned modifications and uploading the updated West manifest file, we can use the modified West manifest file by running the following command, which will import our MCUBoot and Zephyr forks: $> west init -m <West manifest repo> --mr <commit/branch>
The “--mr” option can be used to specify a particular commit or branch; this may be useful if the default branch is not master (as in the case of Github, which uses “main” as the default branch).
To sum up, this blog post explained how to create a custom West manifest file, which is a good place to start when developing Zephyr firmware. Because a third-party repository might have changed, a custom West manifest file guarantees that there are no surprises during development. A deliberate choice to upgrade to a newer Zephyr version can be made once the firmware is stable and feature-complete.
Ready to optimize your hardware with customized Zephyr RTOS solutions? At Silicon Signals, we specialize in embedded hardware design, software development, and tailored solutions that align with your project requirements.
🚀 Contact us today to discuss how we can accelerate your development with Zephyr and create a robust foundation for your embedded applications!
0 notes
eggdesign · 8 years ago
Note
new title: gradient queen
AH thank you! I (obviously) love gradients
2 notes · View notes
d-ream-girl · 8 years ago
Photo
Tumblr media
Não preciso de mais nada nesse mundão . 🍀#osorte #amordemae❤️ #saudesempre #zaira (em São Paulo, Brazil)
0 notes
ethotv-archived · 3 years ago
Text
i need some osort of like. todo list. but i hate just making them in my notes app or on a page
0 notes
bychloethemes · 8 years ago
Note
everything is cute and green-themed except for one thing: the tooltips!
ahahaha i must’ve hard coded the tooltips for some reason lol
0 notes
sargeanterzachan · 8 years ago
Photo
@enicuna @osorts
Tumblr media
730K notes · View notes
meilute · 8 years ago
Text
i hooe my oantrsnt dont makebme ge tup fof dinner then fhey iwll suscpeckt somethinf is weong. i keepxrhinkinf abiut talking or everyonr in enelgish it woukd better i thinkxi could explain everything ti them besides my mother doesnr reallt undersyand ut that eell. feel ling sleeoiy now but ixwotn sleepxits i feel good rrallt fgood sorry these text osort are a messs i dont j wanbd sleoe
0 notes
sargeanterzachan · 8 years ago
Photo
@enicuna @osorts @twaeioush
Tumblr media
78K notes · View notes
sargeanterzachan · 8 years ago
Photo
@enicuna @osorts
Tumblr media Tumblr media Tumblr media
The scariest thing
3K notes · View notes
sargeanterzachan · 8 years ago
Photo
@osorts
Tumblr media
Deepen Your Knowledge: If you’ve ever thought: “Why them…and not me?!”
16 notes · View notes