BPI-R3开发板 - atf编译
一. 获取源码
https://github.com/mtk-openwrt/arm-trusted-firmware
二. 编译步骤
和编译uboot一样,编译环境为ubuntu 18.04。交叉编译工具链我用的是openwrt编译生成的工具链,并设置到环境变量,如下:
export PATH=$PATH:/root/mt8976/BPI-R3-OPENWRT-V21.02.3-main/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl/bin
export STAGING_DIR=/root/mt8976/BPI-R3-OPENWRT-V21.02.3-main/staging_dir
编译的过程,STAGING_DIR可能会导致编译报错,可以去掉。
1. 编译
命令如下:
make -f Makefile \
CROSS_COMPILE=aarch64-openwrt-linux- \
PLAT=mt7986 \
BOOT_DEVICE=nor \
DRAM_USE_DDR4=1 \
BL33=/root/mt8976/u-boot-mtksoc/u-boot-dtb.bin \
all fip V=1
CROSS_COMPILE:选择交叉编译工具
PLAT:表示CPU平台名。可选的是mt7622/mt7981/mt7986。
BOOT_DEVICE:系统从什么存储设备启动。可选的设备如下:
NAND_TYPE:当BOOT_DEVICE选择的是snand或spim-nand时,此选项才有效。如果不配置此选项,NAND_TYPE将会被配置为默认值。注意:NAND_TYPE必须被配置为开发板上SPI-NAND的正确参数,否则设备将启动失败。可配置的值如下:
DRAM_USE_DDR4:此选项只用于mt7981/mt7986。
DDR3_FLYBY:此选项只对于mt7622有效。
BL33:指定uboot镜像的路径。
2. 制作镜像
make完成后,会产生两个文件:bl2.img和fip.bin。路径在arm-trusted-firmware-mtksoc/build/mt7986/release下。将两个文件打包成一个镜像文件,命令如下:
dd if=bl2.img of=spi-nor.img
dd if=fip.bin of=spi-nor.img bs=1k seek=1024
运行上面两条指令后,内核启动之前需要的程序都打包好了。由于在编译atf的时候指定了uboot的路径,所以,uboot其实已经包含在了fip.bin文件中。至于为什么fip.bin为什么烧写在偏移起始位置,后面文章再说。
三. 总结
本文介绍了BPI-R3开发板的atf文件的编译过程,主要介绍了编译参数的含义和适用范围。最后介绍了如何制作atf镜像。
BPI-R3开发板 - atf编译相关推荐
- 全志A33开发板vstar编译环境搭建
全志A33开发板vstar编译环境搭建 安装系统 全志提供的vstar的SDK使用内核linux-3.4.39, 在编译过程中,要用到一个文件gen_check_code,位于linux-3.4/ar ...
- 安信可 ESP8266机智云开发板:编译与烧录
安信可 ESP8266机智云开发板:编译与烧录 编译:1.SDK 开发环境搭建见 安信可ESP系列一体化开发环境搭建 下载地址:http://pan.ba ...
- Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所构成的室内安全报警模块
该系统模块主要由Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所组成,MQ-2烟雾浓度传感器 ...
- HiKey960 开发板 android 编译
我们可以用 Android Open Source Project (AOSP) 源码和相关的硬件特有二进制文件为 Google 的手机/平板,如 Nexus 系列,Pixel 系列等编译镜像,这有时 ...
- 小熊派折叠开发板Docker编译烧录安装HAP
有些小伙伴已经使用了官方的Docker环境编译烧录了鸿蒙的开发板,比如说HI3861和HI3516,或者其他的开发板,这个时候如果买了小熊派折叠开发板,那环境应该怎么配置呢? 1.基础的编译环境 鸿蒙 ...
- RK3328开发板固件编译记录
参考网址:http://wiki.t-firefly.com/zh_CN/ROC-RK3328-PC/linux_compile.html 搭建步骤 1.准备工作 根据教程 1)apt ...
- Firefly-RK3288开发板Android编译环境搭建开荒
入手了Firefly-RK3288的开发板,自己从零开始搭建编译环境开荒 第一步:安装Ubuntu12.04,使用安装盘安装(安装的过程就不详写了,下面贴图) 安装完后,更新ubuntu 第二步: 从 ...
- 迅为IMX6ULL开发板从零开始编译 buildroot
从零开始编译 buildroot 硬件平台 :迅为i.MX6ul开发板 接下来我们就开始学习怎样一步一步配置 buildroot,使用命令: make menuconfig 进入配置界面 1.配置 ...
- iMX6UL---zlg M6G2C开发板内核编译记录
开发板型号:zlg EPC-6G2C-L ARM架构:Cortex-A7 Kernel :4.1.15 CPU:[iMX_6UL系列]MCIMX6G2CVM05AA 主频528MHz RAM: IS4 ...
最新文章
- iPhone拍人像,人头直接不见了,什么情况?
- asp服务器推送消息,asp.net实时向客户端推送消息(SignalRWeb)
- 面试命中率 90% 的点 :MySQL 锁
- python处理数据的优势-Python语言的七大优势
- R12.1.3 R12.2.X 注册客户化应用
- 办公室里绝对不可谈论的4大话题
- 压缩备份日志 java_自动压缩备份日志文件到指定备份目录脚本
- Ubuntu下命令行cd进不了/home/用户目录
- 数学是理工基础,如何才能令人信服?
- 精简jdk包_具有JDK 12精简数字格式的自定义精简数字模式
- 剑指offer面试题[6]-重建二叉树
- [整理]使用POI操作Excel相关知识~
- Shiro框架-史上详解
- 【sm2算法】基于mbedtls开源库国密算法的使用(二)
- WIN10电脑端微信字体变模糊如何调节回来
- 软碟通UltraISO Premium Edition_v9.7.5.3716,轻松编辑光盘镜像文件,将文件/文件夹制作成ISO文件
- 维美儿 名画背后的故事 《戴珍珠耳环的少女》
- ttkefu怎么取消英文版?显示中文版
- 【Skill】从 WPS 步入Office 365
- Post和Get,Post和Put请求的区别
热门文章
- The beginning of JAVA //应声虫
- Kettle的导入.Excel到MySQL
- 06 pandas回顾 文件的读取read_excel、索引与切片(loc、iloc)、过滤、删除、级联、映射、排序、分组 的详细例子
- phpstorm 插件等功能
- 自动化测试之数据库初始化
- 《21世纪机器人》一一2.7 货物搬运工晨明号:重启前1小时
- 常用eclipse快捷键总结(后续会用增加)
- 成功解决:IDEA 输入法切换不了的问题
- @kubernetes(k8s)的kubectl的使用及资源类型pod生命周期与资源清单详解
- (转)一起看罗纳尔多走过的岁月--(转)