Getting into embedded linux can be a daunting task, and the learning curve for working with Yocto is steep. In the following posts I will take you through how to build a linux image, create and debug an application and include that application in the image.
But first we need to get a few things straight: Many speak of Yocto as an embedded linux distribution. It is not. Yocto is a framework for buildling linux distributions, i.e. it provides a set of tools to build, manage and install the many parts that constitutes a linux distribution into a flash image that can be used on a given platform. Software packages and add-ons are structured as "layers" that form a dependency tree. This allows extensions to be added without having to modify already existing code.
A distribution can be tailored specifically to the needs of the product that is being built in terms of content, machine architecture etc. etc. For a specific distribution you build, Yocto also can generate an SDK that you must use to develop apps for the distribution. This is because the available tools and libraries is dependent on the features and machine architecture enabled for the distribution.
This series will use the OpenSTLinux system developed by ST for their stm32mp* processor series. It uses yocto as the development framework, but adds a couple of proprietary layers to the standard tree to support their hardware. Yocto supports many development models, but here I will deal with the single developer, single machine model, and I will use the stm32mp157f-dk2 development kit as my target platform.
A typical development flow for a product running embedded linux consists of the following:
- Build a base image as a starting point and ensure it can boot on the platform
- Tailor the image to exclude unnecessary packages and include necessary packages not available in the base image, and build an SDK to match the image.
- Develop and debug one or more applications with the SDK, and deploy on the target
- Optionally extend the base image and SDK with more packages
- Include the application as part of the final image by adding a new layer to the distribution
All of the steps above are treated in the series. As it progresses, links will be added to point to the pages that describes these concepts.
Ingen kommentarer:
Send en kommentar