官术网_书友最值得收藏!

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"
主站蜘蛛池模板: 漯河市| 武隆县| 碌曲县| 化州市| 乌拉特中旗| 隆回县| 宾阳县| 佛坪县| 白玉县| 久治县| 曲阳县| 宁晋县| 隆子县| 宜州市| 焦作市| 阳山县| 准格尔旗| 济阳县| 石首市| 五大连池市| 云龙县| 临潭县| 四平市| 江安县| 沈丘县| 镇宁| 靖安县| 黎平县| 铜梁县| 正定县| 剑川县| 华宁县| 东乡| 灵璧县| 晋中市| 宜兰县| 青浦区| 阳泉市| 维西| 中西区| 启东市|