全志平台Dragonboard调试记录
1. 前言
Dragonboard是盒子厂测固件,它用来检测机器上的硬件是否能正常工作,
比如HDMI、CVBS、TF卡、flash、优盘、摄像头、音频、DRAM、蓝牙、wifi等。
2. 编译dragonboard
在lichee根目录下执行如下命令:
(1)编译固件
配置环境变量$ ./build.sh config选择芯片平台Welcome to mkscript setup progressAll valid chips:0. sun50iw2p1Choice: 0选择项目平台All valid platforms:0. android1. dragonboard2. LinuxChoice: 1选择配置项目All available boards: 2. cheetah-p1Choice: 2
(2)打包固件
在完成编译后直接在lichee目录下执行:
./build.sh pack(非安全固件)
./build.sh pack_prev_refurbish(安全固件)
在首次执行./build.sh config配置完lichee后,会自动编译dragonboard。
如果用户做了如下修改,必须重新编译lichee
(3)烧写固件
a.SD卡启动
使用PhoenixCard3.09或更新的工具烧写制作卡启动固件,
将制作好的启动卡,插入卡槽,上电,系统自动进入DragonBoard测试系统。
b. 板卡启动
使用量产工具PhoenixUSBpro或升级工具PhoenixSuit将固件直接烧录到板卡上的nand flash或者是emmc上,烧录完成系统自动进入DragonBoard测试系统。
3. 编译框架
介绍下整个dragonboard编译流程。
./build.sh config ->编译内核->解压默认rootfs-> 编译dragonboard/src->将生成应用放到rootfs-> 重新生成rootfs生成ext4
4. 代码框架
(1)源码目录结构
路径: lichee\buildroot\target\dragonboard
|-- output/ # 输出目录 |-- bin/ # 测试用例(程序)输出目录|-- rootfs/ # 根目录文件系统 |-- dragonboard/ |-- bin/ # 测试用例(程序)rootfs的输出目录|-- src/ # 源码目录 |-- core/ # 系统核心模块 |-- include/ # 系统公共头文件 |-- lib/ # 系统公共库 |-- testcases/ # 测试用例源码目录 |-- example/ # 示例 |-- example.c|-- Makefile |-- Makefile |-- view/ # UI |-- Makefile # 顶层Makefile |-- rule.mk # 编译变量,include by Makefile|-- sysroot/ # 交叉编译环境依赖目录|-- build.sh # 生成rootfs.ext4|-- README.txt
(2)界面布局