当前位置:网站首页>4.11 introduction to firmware image package
4.11 introduction to firmware image package
2022-06-13 02:11:00 【Code changes the world CTW】
Use firmware image ( FIP ) Allow boot loader images ( And maybe something else payloads) Package into a single file ,TF-A The file can be loaded from the nonvolatile platform storage . from FIP The driver that loads the image has been added to storage layer , And allow from supported platforms storage Read the package. The following provides and describes tools for creating firmware images .
4.11.1 Firmware image package layout (Firmware Image Package layout)
FIP Layout By subsequent payload data Of tab The composition of the watch (table of contents : ToC).ToC It has a title , Followed by one or more table entries .ToC Terminated by an end tag entry , And because of ToC The size is 0 byte , So the offset is equal to FIP Total file size . all ToC Entries describe some of the that have been appended to end of the binary package payload data. Use ToC Information provided in the entry , The corresponding payload date.
------------------
| ToC Header |
|----------------|
| ToC Entry 0 |
|----------------|
| ToC Entry 1 |
|----------------|
| ToC End Marker |
|----------------|
| |
| Data 0 |
| |
|----------------|
| |
| Data 1 |
| |
------------------
ToC The header file and the entry format are described in the header file include/tools_share/firmware_image_package.h. This file consists of tools and TF-A Use .
ToC The header has the following fields :
`name`: The name of the ToC. This is currently used to validate the header.
`serial_number`: A non-zero number provided by the creation tool
`flags`: Flags associated with this data.
Bits 0-31: Reserved
Bits 32-47: Platform defined
Bits 48-63: Reserved
ToC The entry has the following fields :
`uuid`: All files are referred to by a pre-defined Universally Unique
IDentifier [UUID] . The UUIDs are defined in
`include/tools_share/firmware_image_package.h`. The platform translates
the requested image name into the corresponding UUID when accessing the
package.
`offset_address`: The offset address at which the corresponding payload data
can be found. The offset is calculated from the ToC base address.
`size`: The size of the corresponding payload data in bytes.
`flags`: Flags associated with this entry. None are yet defined.
4.11.2 Firmware image package creation tool --fiptool
Source code : tools/fiptool
Compilation of tools :make [DEBUG=1] [V=1] fiptool
4.11.3 Firmware image ( FIP ) Loading
Firmware image ( FIP ) The driver can load images from binary packages on non-volatile platform storage .
The boot loader image is loaded according to the platform policy specified by the function plat_get_image_source()
. This function is implemented by the platform vendor .
Personal understanding : This should be in BL2 call plat_get_image_source()
Of , stay ATF In the code , There are two places to load these FIP Mirror image .
4.11.4 summary
Use fiptool Package some programs into FIP Mirror image , Save to disk .
When the machine is turned on , stay BL2 The stage will load these FIP Mirror image .
边栏推荐
- Huawei equipment is configured with IP and virtual private network hybrid FRR
- Configuring virtual private network FRR for Huawei equipment
- Build MySQL environment under mac
- STM32 external interrupt Usage Summary
- STM32 timer interrupt learning notes
- Day 1 of the 10 day smart lock project (understand the SCM stm32f401ret6 and C language foundation)
- ROS learning-6 detailed explanation of publisher programming syntax
- Get started quickly cmake
- [the third day of actual combat of smart lock project based on stm32f401ret6 in 10 days] communication foundation and understanding serial port
- 传感器:SHT30温湿度传感器检测环境温湿度实验(底部附代码)
猜你喜欢
[learning notes] xr872 GUI littlevgl 8.0 migration (file system)
华为设备配置虚拟专用网FRR
STM32 sensorless brushless motor drive
DFS and BFS to solve Treasure Island exploration
Sensor: sht30 temperature and humidity sensor testing ambient temperature and humidity experiment (code attached at the bottom)
Gome's ambition of "folding up" app
[open source] libinimini: a minimalist ini parsing library for single chip computers
[programming idea] communication interface of data transmission and decoupling design of communication protocol
一、搭建django自动化平台(实现一键执行sql)
QT realizes mind mapping function (II)
随机推荐
[analysis notes] source code analysis of siliconlabs efr32bg22 Bluetooth mesh sensorclient
Ruixing coffee 2022, extricating itself from difficulties and ushering in a smooth path
Area of basic exercise circle ※
[keras] data of 3D u-net source code analysis py
Use mediapipe+opencv to make a simple virtual keyboard
The commercial value of Kwai is being seen by more and more brands and businesses
Functional translation
Yovo3 and yovo3 tiny structure diagram
Get started quickly cmake
1000粉丝啦~
Review the history of various versions of ITIL, and find the key points for the development of enterprise operation and maintenance
VI keyboard diagram
Alertwindowmanager pop up prompt window help (Part 1)
Stm32 mpu6050 servo pan tilt support follow
In the third quarter, the revenue and net profit increased "against the trend". What did vatti do right?
[keras learning]fit_ Generator analysis and complete examples
Combining strings and numbers using ssstream
What did Hello travel do right for 500million users in five years?
cmake_ example
[sequence structure, branch structure, loop structure, continue statement, break statement, return statement] (learning Note 6 -- C language process control)