立即注册
查看: 1147|回复: 10

[软件资料] 全志A64 lichee使用手册

已绑定手机
发表于 2022-5-10 19:37:58 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1. 简介
本文档用于介绍 A64 芯片的 Linux BSP 的目录结构,固件定制和 Lichee 定制。

2. 目录结构
├── Buildroot
├── build.sh
├── linux-3.10
├── README
└── tools
2.1. brandy
存放 boot0 和 u-boot 源码,其目录结构为
├── build.sh
├── arm-trusted-firmware-1.0
├── ARMv8_toolchain
├── extern-lIBS
├── gcc-linaro
├── pack_tools
├── toolchain
├── u-boot-2014.07
brandy 源码一共包含以下几个部分:用于烧录的 fes1,用于启动的 boot0,用于烧写和启动的Uboot,另外还包括支持安全控制和 PSCI 的 ATF(arm-trusted-firmware),其中 fes1 和 boot0 代码生成 的 bin 文件体积必须控制在 24K 以内。编译命令(没有修改该部分源码,就不需要编译 brandy):
$ cd brandy
方法 1:一次性编译 boot 需要的所有文件
$ ./build.sh -p sun50iw1p1(生成 boot0、uboot、fes、atf)
方法 2:单独编译 boot 各部分 bin 文件
$ cd brandy/u-boot-2014.07
$ make distclean --清理临时文件
$ make sun50iw1p1_config --配置 sun50 平台, 只需要执行一次,如果执行了 make
distclean,则需要再运行一次
$ make -j8 --生成 uboot
$ make boot0 --生成 boot0
$ make fes --生成 fes
$ cd brandy/arm-trusted-firmware-1.0
$ make --生成 atf
以上编译命令要在配置平台后才能运行,生成的 bin 文件会自动拷贝到相应的目录。
gcc-linaro:u-boot 和 boot0 交叉编译工具链。
toolchain:arm-trusted-firmware 交叉编译工具链
u-boot-2014.07:u-boot、boot0 和 fes 源码,包括启动引导、量产烧写的代码。
arm-trusted-firmware-1.0: 支持安全控制和 PSCI 的源码
Pack_tools:打包时使用的打包工具的源码

2.2. buildroot
buildroot 的主要作用是
- 管理编译脚本和交叉编译工具链
- 定制开发 DragonBoard 测试用例
- 制作 Linux 固件的根文件系统,
可以包含 strace, directfb, oprofile 等非常丰富的应用软件和测试软件。
目录结构如下
├── board
├── boot
├── CHANGES
├── Config.in
├── configs
├── COPYING
├── dl
├── docs
├── external-packages
├── fs
├── linux
├── Makefile
├── package
├── README
├── scripts
├── target
└── toolchain
scripts:Lichee 编译脚本,主要包含 mkcmd.sh,mkcommon.sh,mkrule 和 mksetup.sh。
target/dragonboard:dragonboard 定制开发根目录。

2.3. linux-3.10
Linux 内核源码目录,结构如下
├── Android
├── arch
├── block
├── COPYING
├── CREDITS
├── crypto
├── Documentation
├── drivers
├── firmware
├── fs
├── include
├── init
├── ipc
├── kernel
......
以上目录结构跟标准的 Linux 内核一致,除了 modules 目录。modules 目录是我们用来存放没有跟内核的 menuconfig 集成的外部模块的地方。我们目前放了 aw_schw, gpu 和 NAND 这 3 个外部模块,其中 aw_schw 是密钥模块:存储 key,gpu 是 GPU 驱动,nand 是 nand 驱动。

2.4. tools
目录结构如下
├── daily_build
├── doc
├── pack
└── tools_win

3. 编译系统
3.1. 使用说明
参考《A64_Tablet SDK Quick Start Guide》。
3.2. 二次开发
Lichee 编译脚本目前支持编译 buildroot 和 linux 内核,主要包括以下文件,
build.sh
buildroot/scripts/mkcmd.sh
buildroot/scripts/mkcommon.sh
buildroot/scripts/mkrule
buildroot/scripts/mksetup.sh
tools/pack/pack

3.2.1. 指定配置文件
当开发新的平台或者方案时,需要指定 buildroot 和内核的配置文件,修改 buildroot/scripts/mkrule文件,文件格式如下, <芯片编号>_<系统平台> <buildroot 配置文件> <内核配置文件>或者:
<芯片编号>_<系统平台>_<方案> <buildroot 配置文件> <内核配置文件>
芯片编号:例如 sun50iw1p1
系统平台:例如 android
方案:例如 t1
buildroot 配置文件:不需要用 xxx 表示
内核配置文件:例如 sun50iw1p1smp_android_defconfig
将新的芯片平台以上信息汇成一行添加到文件中即可。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2022-5-10 19:47:44 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2022-5-11 08:46:08 | 显示全部楼层 来自 广东省深圳市
谢谢分享
已绑定手机
发表于 2022-5-11 08:46:16 | 显示全部楼层 来自 广东省深圳市
谢谢分享
已绑定手机
发表于 2022-5-11 09:43:47 | 显示全部楼层 来自 广东省深圳市宝安区
谢谢大侠分享....
已绑定手机
已实名认证
发表于 2022-5-11 11:11:12 | 显示全部楼层 来自 广东省深圳市
look look!!
已绑定手机
发表于 2022-6-25 18:33:43 来自手机 | 显示全部楼层 来自 四川省泸州市
感谢大佬
已绑定手机
发表于 2022-6-27 08:19:21 | 显示全部楼层 来自 山西省
谢谢资料
已绑定手机
发表于 2022-7-14 13:28:50 | 显示全部楼层 来自 浙江省嘉兴市海盐县
谢谢分享!
发表于 2022-8-17 14:56:50 | 显示全部楼层 来自 江苏省南京市
多谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表