logo资料库

全志R11_Tina_V2.5_SDK_User_Manual_V1.0.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
概述
编写目的
适用范围
相关人员
名词解释
SDK的使用
创建和移植软件包
概述
Makefile范例
软件的自启动设置
概述
初始化脚本简介
手动调试初始化脚本
SysV式的初始化脚本
Procd式的初始化脚本
软件的选择与调试
软件的选择
软件的调试
重新编译应用方法一
重新编译应用方法二
安装新应用包
安装应用包
分区与挂载
分区定义
默认挂载点
Declaration
R11 SDK User Manual 第 1 页 共 13 页
文档履历 版本号 V1.0 日期 2017/12/27 制/修订人 制/修订记录 初始版本 第 2 页 共 13 页
目 录 1.. 概述..........................................................................................................................................................................4 1.1. 编写目的.......................................................................................................................................................4 1.2. 适用范围.......................................................................................................................................................4 1.3. 相关人员.......................................................................................................................................................4 1.4. 名词解释.......................................................................................................................................................4 2.. SDK 的使用..............................................................................................................................................................5 3.. 创建和移植软件包................................................................................................................................................. 6 3.1. 概述...............................................................................................................................................................6 3.2. Makefile 范例................................................................................................................................................ 6 3.3. 软件的自启动设置...................................................................................................................................... 8 3.3.1. 概述....................................................................................................................................................8 3.3.2. 初始化脚本简介............................................................................................................................... 8 3.3.3. 手动调试初始化脚本....................................................................................................................... 8 3.3.4. SysV 式的初始化脚本.......................................................................................................................8 3.3.5. Procd 式的初始化脚本......................................................................................................................9 3.4. 软件的选择与调试...................................................................................................................................... 9 3.4.1. 软件的选择....................................................................................................................................... 9 3.4.2. 软件的调试..................................................................................................................................... 10 4.. 分区与挂载............................................................................................................................................................12 4.1. 分区定义.....................................................................................................................................................12 4.2. 默认挂载点................................................................................................................................................ 12 5.. Declaration..............................................................................................................................................................13 第 3 页 共 13 页
1.1. 概述概述 1.1. 编写目的 R11 Tina Linux 用户手册,介绍如何在 Tina SDK 的平台上开发应用 1.2. 适用范围 Tina Linux V2.5 版本 1.3. 相关人员 Tina Linux 开发人员;Tina Linux 产品开发人员 1.4. 名词解释 R11,全志 R 系列 soc 产品 banjo_R11_pref1, R11 在 Tina 方案名 第 4 页 共 13 页
2.2. SDKSDK 的使用的使用 Tins SDK 的编译、打包、内置命令请参考文档《SDK_Quick_Start_Guide》 第 5 页 共 13 页
3.3. 创建和移植软件包 创建和移植软件包 3.1. 概述 在 Tina Linux SDK 中一个软件包目录下通常包含如下两个目录和一个文件: package/<分类>/<软件包名>/Makefile package/<分类>/<软件包名>/patches/ [可选] package/<分类>/<软件包名>/files/ [可选] 其中: patches 保存补丁文件,在编译前会自动给源码打上所有补丁 files 保存软件包的源码,在编译时会对应源码覆盖源码中的源文件 Makefile 编译规则文件,例见 3.6.2 节 Makefile 的编写语言作为基础知识,在此不做介绍。 3.2. Makefile 范例 该 Makefile 的功能是软件源码的准备,编译和安装的过程,提供给 Tina Linux 识别和管理软件包的接口, 软件的编译逻辑是由软件自身的 Makefile 决定,理论上和该 Makefile(该 Makefile 只执行 make 命令和相关参 数)无实质关系. include $(TOPDIR)/rules.mk PKG_NAME:=bridge PKG_VERSION:=1.0.6 PKG_RELEASE:=1 #软件包的名字 #软件包版本(详见①) #该 Makefile 的版本 #软件包文件名(dl 目录下) PKG_SOURCE:=bridge-utils-$(PKG_VERSION).tar.gz #该包的下载地址(详见②) PKG_SOURCE_URL:=@SF/bridge #该包的 md5 值(详见③) PKG_MD5SUM:=9b7dc52656f5cbec846a7ba3299f73bd PKG_CAT:=zcat #该软件包的解压方法 PKG_BUILD_DIR:=$(COMPILE_DIR)/bridge-utils-$(PKG_VERSION) #该软件包的编译目录 include $(BUILD_DIR)/package.mk define Package/bridge SECTION:=net CATEGORY:=Base system TITLE:=Ethernet bridging configuration utility URL:=http://bridge.sourceforge.net/ [可选]MAINTAINER:= [可选]DEPENDS:= [可选]BUILDONLY:= endef #Package/<包名>(详见④) #该包的类别,目前没有使用 #该包在配置系统中的分类 #该包的简单的描述信息 #该包的原始下载连接 #该包的维护人员的联系方式 #该包的依赖关系(详见⑤) #固定编译(详见⑥) [可选] define Package//conffiles: #指定软件包依赖的配置文件,一个配置文件一行 endef endef [可选] define Build/Prepare: #准备源码和给源码打补丁 [可选] define Package/bridge/description #该软件包的文字描述 第 6 页 共 13 页
Manage ethernet bridging: a way to connect networks together to form a larger network. endef [可选] define Build/Configure #配置软件包(详见⑦) $(call Build/Configure/Default, \ --with-linux-headers="$(LINUX_DIR)" \ [可选] define Build/Compile #执行软件编译的动作(详见⑧) ) endef endef endef define Package/bridge/install #执行软件包的安装动作(详见⑨) $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/brctl/brctl $(1)/usr/sbin/ $(eval $(call BuildPackage,bridge)) 详注: ①如果是开源软件,软件包版本建议与下载软件包的版本一致 ②以 PKG 开头的变量主要告诉编译系统去哪里下载软件包.其中@SF 是一个内置的特殊关键字,表示 #BuildPackage 的宏(详见⑩) 去 sourceforge 网站去下载软件包,类似的关键字还有@GNU 表示从 GNU 下载软件源码包. ③ md5sum 用 于 校 验 下 载 下 来 的 软 件 包 是 否 正 确 , 如 果 正 确 , 在 编 译 该 软 件 的 时 候 , 就 会 在 PKG_BUILD_DIR 下找到该软件包的源码. ④Package/: 用来指定该 Package 的名字,该名字会在配置系统中显示 ⑤使用依赖包的名字来指定依赖关系,如果是扩展包,前面添加一个”+”号,如果是内核版本依赖 使用@LINUX_2_ ⑥如果该值为 1,该包将不会出现在配置菜单中,但会作为固定编译,可选 ⑦在开源软件中一般用来生成 Makefile,其中参数可以通过 CONFIGURE_VARS 来传递 ⑧在开源软件中一般相当于执行 make,其中有两个参数可以使用:MAKE_FLAGS 和 MAKE_VARS ⑨内置的几个关键字如下: INSTALL_DIR 相当于 install -d m0755 INSTALL_BIN 相当于 install -m0755 INSTALL_DATA 相当于 install -m0644 INSTALL_CONF 相当于 install -m0600 ⑩该 Makefile 的所有 define 部分都是为该宏的参数做的定义.上层 Makefile 通过调用此宏进行编译 第 7 页 共 13 页
3.3. 软件的自启动设置 3.3.1. 概述 在 Tina Linux 中支持两种格式的初始化脚本,一种是 busybox 式或者 SysV 式的初始化脚本,一种是 procd 式的初始化脚本。一般我们把由初始化脚本启动的应用叫做服务。 3.3.2. 初始化脚本简介 初始化脚本以 shell 脚本的编程语言组织,shell 脚本作为基础知识在此不展开说明。 一般情况下,初始化脚本源码保存在软件的 files 目录,且后缀为“.init”,例如: tina/package/system/fstools/files/fstab.init 在 Makefile 的 install 中把初始化脚本安装到小机端的/etc/init.d 中,例如: define Package/block-mount/install $(INSTALL_DIR) $(1)/etc/init.d/ $(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab endef 3.3.3. 手动调试初始化脚本 在启动的时候会有太多的 log,且 log 信息已被 logd 守护进程收集,不利于我们调试初始化脚本,此 时可通过小机端的命令行手动调用的形式来调试,例如: root@TinaLinux: /# /etc/init.d/fstab start 3.3.4. SysV 式的初始化脚本 SysV 式的初始化脚本保存在小机端的/etc/init.d/目录下,实现开机自启动。 注意: SysV 式初始化脚本目前已经不推荐使用,此节说明仅方便开发者阅读 SysV 格式的初始化脚本 以最小内容的初始化脚本作示例讲解,核心是实现 start/stop 函数: #!/bin/sh # Example script # Copyright (C) 2007 OpenWrt.org #本质为 script 脚本,以#!开头, 之后执行/etc/rc.common /etc/rc.common START=10 STOP=15 DEPEND=xxxx #开机启动优先级(序列) [数值越小, 越先启动],取值范围 0-99 #关机停止优先级(序列) [数值越小, 越先关闭],取值范围 0-99 #初始化脚本会并行执行,通过此项配置确保执行的依赖 start() { } stop() { } #启动函数 echo start # commands to launch application #停止函数 echo stop # commands to kill application 第 8 页 共 13 页
分享到:
收藏