- Learning Embedded Linux Using the Yocto Project
- Alexandru Vaduva
- 337字
- 2021-07-16 13:49:34
The Yocto Project
The Yocto Project uses various recipes to define interactions to each of the supported bootloaders. Since there are multiple stages of booting, there are also multiple recipes and packages required inside the BSP. The recipes available for various bootloaders are not different from any other recipes available in the Yocto world. However, they have some details that make them unique.
The board that we will focus on here is the sama5d3_xplained
development board, and it is available inside the meta-atmel
layer. Inside this layer, the corresponding recipes for the first and second stage bootloaders can be found inside the recipes-bsp
directory. Here, I am referring to the at91bootstrap
and u-boot
recipes. There are some misconceptions about first stage and second stage bootloaders. They might be referred to as second level and third level bootloaders, because the boot ROM code may or may not be taken into account during a discussion. In this book, we prefer to call them as first stage and second stage bootloaders.
The AT91bootstrap
package represents the first-stage bootloader from Atmel available for their SOCs. It manages hardware initialization and also executes the second stage bootloader download from a boot media inside the memory; it starts it at the end. In the meta-atmel
layer, the second stage bootloader is u-boot
, and it is later used for the Linux operating system boot.
Usually, inside a BSP layer, the support for multiple development boards is offered, and this means that multiple versions and bootloader packages are offered as well. The distinction between them, however, is on the basis of machine configurations. For the SAMA5D3 Xplained development board, the machine configuration is available inside the conf/machine/sama5d3_xplained
file. In this file, the preferred bootloader versions, providers, and configurations are defined. If these configurations are not MACHINE
specific, they could very well be performed inside the package
recipe.
This is one example of the configurations available for the sama5d3_xplained
development board:
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-at91" UBOOT_MACHINE ?= "sama5d3_xplained_nandflash_config" UBOOT_ENTRYPOINT = "0x20008000" UBOOT_LOADADDRESS = "0x20008000" AT91BOOTSTRAP_MACHINE ?= "sama5d3_xplained"
- Mastering Concurrency Programming with Java 8
- Dynamics 365 for Finance and Operations Development Cookbook(Fourth Edition)
- 手機安全和可信應用開發指南:TrustZone與OP-TEE技術詳解
- C程序設計簡明教程(第二版)
- Vue.js 3.x從入門到精通(視頻教學版)
- 實戰Java程序設計
- Windows Presentation Foundation Development Cookbook
- 秒懂設計模式
- 零基礎學Java程序設計
- 教孩子學編程:C++入門圖解
- 編譯系統透視:圖解編譯原理
- Mastering Google App Engine
- Building Serverless Applications with Python
- Cybersecurity Attacks:Red Team Strategies
- Babylon.js Essentials