一. 获取源码

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编译相关推荐

  1. 全志A33开发板vstar编译环境搭建

    全志A33开发板vstar编译环境搭建 安装系统 全志提供的vstar的SDK使用内核linux-3.4.39, 在编译过程中,要用到一个文件gen_check_code,位于linux-3.4/ar ...

  2. 安信可 ESP8266机智云开发板:编译与烧录

    安信可 ESP8266机智云开发板:编译与烧录 编译:1.SDK 开发环境搭建见 安信可ESP系列一体化开发环境搭建                        下载地址:http://pan.ba ...

  3. Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所构成的室内安全报警模块

    该系统模块主要由Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所组成,MQ-2烟雾浓度传感器 ...

  4. HiKey960 开发板 android 编译

    我们可以用 Android Open Source Project (AOSP) 源码和相关的硬件特有二进制文件为 Google 的手机/平板,如 Nexus 系列,Pixel 系列等编译镜像,这有时 ...

  5. 小熊派折叠开发板Docker编译烧录安装HAP

    有些小伙伴已经使用了官方的Docker环境编译烧录了鸿蒙的开发板,比如说HI3861和HI3516,或者其他的开发板,这个时候如果买了小熊派折叠开发板,那环境应该怎么配置呢? 1.基础的编译环境 鸿蒙 ...

  6. RK3328开发板固件编译记录

    参考网址:http://wiki.t-firefly.com/zh_CN/ROC-RK3328-PC/linux_compile.html 搭建步骤 1.准备工作     根据教程     1)apt ...

  7. Firefly-RK3288开发板Android编译环境搭建开荒

    入手了Firefly-RK3288的开发板,自己从零开始搭建编译环境开荒 第一步:安装Ubuntu12.04,使用安装盘安装(安装的过程就不详写了,下面贴图) 安装完后,更新ubuntu 第二步: 从 ...

  8. 迅为IMX6ULL开发板从零开始编译 buildroot

    从零开始编译 buildroot 硬件平台 :迅为i.MX6ul开发板   接下来我们就开始学习怎样一步一步配置 buildroot,使用命令: make menuconfig 进入配置界面 1.配置 ...

  9. iMX6UL---zlg M6G2C开发板内核编译记录

    开发板型号:zlg EPC-6G2C-L ARM架构:Cortex-A7 Kernel :4.1.15 CPU:[iMX_6UL系列]MCIMX6G2CVM05AA 主频528MHz RAM: IS4 ...

最新文章

  1. iPhone拍人像,人头直接不见了,什么情况?
  2. asp服务器推送消息,asp.net实时向客户端推送消息(SignalRWeb)
  3. 面试命中率 90% 的点 :MySQL 锁
  4. python处理数据的优势-Python语言的七大优势
  5. R12.1.3 R12.2.X 注册客户化应用
  6. 办公室里绝对不可谈论的4大话题
  7. 压缩备份日志 java_自动压缩备份日志文件到指定备份目录脚本
  8. Ubuntu下命令行cd进不了/home/用户目录
  9. 数学是理工基础,如何才能令人信服?
  10. 精简jdk包_具有JDK 12精简数字格式的自定义精简数字模式
  11. 剑指offer面试题[6]-重建二叉树
  12. [整理]使用POI操作Excel相关知识~
  13. Shiro框架-史上详解
  14. 【sm2算法】基于mbedtls开源库国密算法的使用(二)
  15. WIN10电脑端微信字体变模糊如何调节回来
  16. 软碟通UltraISO Premium Edition_v9.7.5.3716,轻松编辑光盘镜像文件,将文件/文件夹制作成ISO文件
  17. 维美儿 名画背后的故事 《戴珍珠耳环的少女》
  18. ttkefu怎么取消英文版?显示中文版
  19. 【Skill】从 WPS 步入Office 365
  20. Post和Get,Post和Put请求的区别

热门文章

  1. The beginning of JAVA //应声虫
  2. Kettle的导入.Excel到MySQL
  3. 06 pandas回顾 文件的读取read_excel、索引与切片(loc、iloc)、过滤、删除、级联、映射、排序、分组 的详细例子
  4. phpstorm 插件等功能
  5. 自动化测试之数据库初始化
  6. 《21世纪机器人》一一2.7 货物搬运工晨明号:重启前1小时
  7. 常用eclipse快捷键总结(后续会用增加)
  8. 成功解决:IDEA 输入法切换不了的问题
  9. @kubernetes(k8s)的kubectl的使用及资源类型pod生命周期与资源清单详解
  10. (转)一起看罗纳尔多走过的岁月--(转)