logo资料库

全志A40i_linuxSDK.pdf

第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
资料共53页,剩余部分请下载后查看
1.概述
2. SDK简介
3.软件架构
3.1.buildroot-201611
3.2.linux-3.10
3.3.tools
3.4.brandy
3.5.doc
4.系统调试
4.1.串口登录A40i命令行
4.2.使用adb调试
4.3.GDB调试工具
5.sdk_lib库
5.1.sdk_lib库简介
5.2.sdk_lib库编译
5.3.sdk_lib库使用
5.3.1.dvrfactory类API
5.3.1.1.dvrfactory类构造函数
5.3.1.2.start
5.3.1.3.stop
5.3.1.4.initializeDev
5.3.1.5.uninitializeDev
5.3.1.6.recordInit
5.3.1.7.startRecord
5.3.1.8.stopRecord
5.3.1.9.startPriview
5.3.1.10.stopPriview
5.3.1.11.takePicture
5.3.1.12.SetDataCB
5.3.1.13.setCallbacks
5.3.1.14.enableWaterMark
5.3.1.15.disableWaterMark
5.3.1.16.setWaterMarkMultiple
5.3.1.17.updateHardwareInfo
5.3.1.18.add360Hardware
5.3.1.19.setGpsData
5.3.1.20.int setWhiteBlanceData(int32_t Data)
5.3.1.21.setColorEffectData
5.3.1.22.setExposureCompensationData
5.3.2.内存相关API
5.3.2.1.allocGetOpsParam
5.3.2.2.allocOpen
5.3.2.3.allocClose
5.3.2.4.allocAlloc
5.3.2.5.allocFree
5.3.2.6.allocVir2phy
5.3.2.7.allocPhy2vir
5.3.2.8.flushCache
6.QT
6.1.Qt 应用介绍
6.1.1.Launcher
6.1.2.MediaUI
6.1.3.CameraUI
6.1.4.phoneMachineConnect
6.1.5.Carlife
6.2. QT库编译
6.3. QT应用编译
6.3.1.编译全部demo
6.3.2.编译单个demo
7.SDK demo简介
7.1.sdktest
7.1.1.水印接口使用
7.2.carbit
7.3.G2dDemo
7.4.recordTest
7.5.xplayerdemo
8.Demo的调试更新
9.系统开发
9.1.U-Boot 开发
9.2.Kernel 开发
9.2.1.DTS和sysconfig.fex 介绍
9.2.2.多fb支持
9.2.3.内核模块开发
9.3.Buildroot开发
9.3.1.Buildroot 开发基础
9.3.2.集成软件包
9.3.2.1.源代码包集成到buildroot
9.3.2.2.二进制包集成到buildroot
9.3.2.3.二进制包直接集成到编译打包系统
9.3.3.定制分区
9.3.3.1.规划磁盘分区
9.3.3.2.制作分区镜像
9.3.3.3.生成分区
9.3.3.4.常见问题:
9.3.4.根文件系统定制
10.附录
10.1.在线帮助文档
11.Declaration
外部公开 A40i-linux 系统开发说明 V1.2 2019-02-10 Copyright © 2019 by Allwinner. All rights reserved Page 1 of 53 全志科技版权所有,侵权必究
Revision History Version V1.0 V1.1 V1.2 Date 2018-08-01 2018-10-10 2019-02-10 Changes compared to previous issue 初建版本 文档修改 外部公开 Copyright © 2019 by Allwinner. All rights reserved Page 2 of 53 全志科技版权所有,侵权必究
目录 外部公开 1. 概述................................................................................................................................5 2. SDK 简介........................................................................................................................6 3. 软件架构........................................................................................................................7 3.1. buildroot-201611..........................................................................................................7 3.2. linux-3.10..................................................................................................................... 8 3.3. tools..............................................................................................................................9 3.4. brandy.........................................................................................................................10 3.5. doc..............................................................................................................................10 4. 系统调试......................................................................................................................11 4.1. 串口登录 A40i 命令行.............................................................................................11 4.2. 使用 adb 调试........................................................................................................... 11 4.3. GDB 调试工具.......................................................................................................... 12 5. sdk_lib 库......................................................................................................................13 5.1. sdk_lib 库简介...........................................................................................................13 5.2. sdk_lib 库编译...........................................................................................................13 5.3. sdk_lib 库使用...........................................................................................................13 5.3.1. dvrfactory 类 API............................................................................................13 5.3.2. 内存相关 API................................................................................................ 19 6. QT................................................................................................................................. 26 6.1. Qt 应用介绍..............................................................................................................26 6.1.1. Launcher..........................................................................................................26 6.1.2. MediaUI.......................................................................................................... 27 6.1.3. CameraUI........................................................................................................28 6.1.4. phoneMachineConnect....................................................................................29 6.1.5. Carlife..............................................................................................................29 6.2. QT 库编译................................................................................................................. 30 6.3. QT 应用编译............................................................................................................. 31 6.3.1. 编译全部 demo..............................................................................................31 6.3.2. 编译单个 demo..............................................................................................32 7. SDK demo 简介............................................................................................................33 7.1. sdktest.........................................................................................................................34 7.1.1. 水印接口使用................................................................................................35 7.2. carbit...........................................................................................................................35 7.3. G2dDemo...................................................................................................................35 7.4. recordTest...................................................................................................................35 7.5. xplayerdemo...............................................................................................................36 8. Demo 的调试更新........................................................................................................37 9. 系统开发......................................................................................................................38 9.1. U-Boot 开发..............................................................................................................38 9.2. Kernel 开发...............................................................................................................38 9.2.1. DTS 和 sysconfig.fex 介绍............................................................................38 9.2.2. 多 fb 支持...................................................................................................... 38 Copyright © 2019 by Allwinner. All rights reserved Page 3 of 53 全志科技版权所有,侵权必究
外部公开 9.2.3. 内核模块开发................................................................................................39 9.3. Buildroot 开发........................................................................................................... 40 9.3.1. Buildroot 开发基础....................................................................................... 40 9.3.2. 集成软件包....................................................................................................40 9.3.3. 定制分区........................................................................................................43 9.3.4. 根文件系统定制............................................................................................50 10. 附录............................................................................................................................52 10.1. 在线帮助文档.........................................................................................................52 11. Declaration.................................................................................................................. 53 Copyright © 2019 by Allwinner. All rights reserved Page 4 of 53 全志科技版权所有,侵权必究
1.概述 本文档用于介绍全志科技 A40i 芯片的结构、内部机制以及简单用法。该文档的目 的用于指导用户如何定制和使用该 SDK。SDK 可以联系全志科技的销售人员或 FAE 统 一接口负责人获取。 外部公开 Copyright © 2019 by Allwinner. All rights reserved Page 5 of 53 全志科技版权所有,侵权必究
外部公开 2. SDK 简介 A40i SDK 是基于 Linux Kernel,针对全志科技 A40i 芯片的软件包。包含 uboot、linux kernel 和 buildroot。对于特定应用,比如硬件编解码部分,SDK 提供了对应的 API 以及 演示程序。 本文将详细介绍 SDK 的代码结构,开发环境配置、编译烧录方法、模块开发方法、 调试测试流程,并提供主要模组的客制化开发向导。用户基于该 SDK,可以有效地实现 系统定制和应用移植开发。 如下图所示,开发者可以遵循以下开发流程,在快速构建 AW Buildroot Linux 系统 的开发环境和编译代码。 下面将简单介绍各流程:  确定系统需求:在下载代码和编译前,需先确保开发设备能够满足需求,包括开发 平台的硬件资源,软件系统,工具链等。目前 SDK 只支持在 Linux 操作系统环境 下编译,只提供 Linux 环境下的工具链支持,Windows 等其他系统不支持。  构建编译环境:介绍开发平台需要安装的系统环境和各种软件包和工具, 详见[开 发环境配置]章节。  选择平台方案:在开发过程中,开发者需要根据自己的需求,选择对应的平台方案。  获取源代码:选定平台方案后, 需要安装相关工具用于批量下载源代码。可以联系 全志科技的销售人员或 FAE 统一接口负责人获取。  根据需要定制系统:开发者可以根据使用的开发平台、产品定义,定制 U-Boot、 Kernel 及 Buildroot。详见[系统开发]章节。  编译编译与打包固件:获取源代码后,选择产品及初始化相关的编译环境,而后执 行编译命令,包括整体或模块编译以及编译清理等工作。详见[编译代码和打包固件] 章节。  烧录并运行:生成镜像文件后,将介绍如何烧录镜像并运行在开发平台上。详见[固 件烧写]章节。 Copyright © 2019 by Allwinner. All rights reserved Page 6 of 53 全志科技版权所有,侵权必究
3.软件架构 wing BSP 主要由 Brandy(uboot2014)、Buildroot(版本 2016.11)、 Linux kernel(版本 3.10)三大部分组成。其中 Brandy 包含 uboot2014,Buildroot 负责 ARM 工具链、应用程 序软件包、Linux 根文件系统生成;Linux Kernel 是 wing BSP 的核心部分。 外部公开 本章依次介绍代码各目录的内容和功能。 . ├── brandy ├── buildroot-201611 ├── doc ├── linux-3.10 ├── out ├── tools 3.1. buildroot-201611  管理包之间的依赖关系  生成 ARM 交叉工具链  制作根文件系统,可以包含 strace, directfb, oprofile,Qt,音视频编解码,MiniGUI 等 非常丰富的应用软件和测试软件  生成最终用于烧写的固件包 目录结构如下 ├── arch ├── board ├── boot ├── CHANGES ├── Config.in ├── configs ├── COPYING ├── dl ├── docs ├── external-packages ├── fs ├── linux ├── Makefile ├── support ├── package ├── README ├── scripts Copyright © 2019 by Allwinner. All rights reserved Page 7 of 53 全志科技版权所有,侵权必究
├── target └── toolchain 外部公开 其中 configs 目录里存放预定义好的配置文件,比如我们的 sun8i_defconfig,dl 目 录里存放已经下载好的软件包,scripts 目录里存放 buildroot 运作的代码,mkcmd.sh, mkcommon.sh,mkrule 和 mksetup.sh 等编译脚本。 target 目录里存放用于生成根文件系统的一些规则文件,该目录,对于代码和工具 的集成非常重要。 ├── extp ├── user_rootfs_build.sh 把其他三个目录的东西拷贝到 out 目录相应位置 ├── user_rootfs_extra 制作更文件系统后会把里面的文件覆盖进去 └── user_rootfs_misc 对于我们来说最为重要的是 package 目录,里面存放了将近 3000 个软件包的生成 规则,我们可以在里面添加我们自己的软件包或者是中间件。更多关于 buildroot 的介绍, 可以到 buildroot 的官方网站 http://buildroot.uclibc.org/获取。 3.2. linux-3.10 Linux 内核源码目录,结构如下 ├── android ├── arch ├── block ├── build.sh ├── COPYING ├── CREDITS ├── crypto ├── Documentation ├── drivers ├── firmware ├── fs ├── include ├── init ├── ipc ├── Kbuild ├── Kconfig ├── kernel ├── lib ├── linaro ├── MAINTAINERS ├── Makefile ├── mm ├── modules ├── net Copyright © 2019 by Allwinner. All rights reserved Page 8 of 53 全志科技版权所有,侵权必究
分享到:
收藏