Professional Documents
Culture Documents
gx3201高清方案应用架构与开发介绍
gx3201高清方案应用架构与开发介绍
gx3201高清方案应用架构与开发介绍
1.4 增加/配置遥控器......................................................................................................................9
1.4.1 增加新遥控器:.....................................................................................................................9
1.4.2 配置遥控器:.......................................................................................................................10
1.5 开启/配置前面板....................................................................................................................10
1.5.1 应用开启前面板:................................................................................................................10
1.5.2 配置面板:............................................................................................................................11
1.6 增加/配置开机画面................................................................................................................11
1.6.3 I 帧开机广告..........................................................................................................................12
2. Development 简介.........................................................................................................................12
3.增、删、配置 CA..........................................................................................................................17
3.3 双 CA 配置..............................................................................................................................19
4.OTA 编译.......................................................................................................................................20
5. 代码发布注意事项.......................................................................................................................20
6.硬件版本........................................................................................................................................21
7. 修订记录.......................................................................................................................................21
gx3201/gx3113c 方案应用代码由 gxapp_common 和 development 两部分实现,
ecos、linux、有线、国标地面方案均使用 svn 服务器上 gxapp_common,差异化通过 env.sh 中
配置 os、demod、tuner、CA 等环境变量实现。
1. gxapp_common 简介
gxapp_common 为机顶盒应用通用模块,兼容各芯片、市场版本,与具体方案完全独立。
gxapp_common 包含音视频播放、节目管理、搜索、FLASH 读写、预约、前面板、多媒体播放 、
NVOD、PVR、已移植的所有 CA、广告、前面板、遥控器、开机画面等公共模块接口和资源。
gxapp_common 公共部分的代码修改、增加,必须遵循以下几个基本原则:
1. gxapp_common 代码增加、修改不能影响其他市场方案。
2. gxapp_common 只增加可共用的的公共部分。不同市场的差异化实现(例如 CA 界面等),
于各市场的 development 中实现。
3. 不 同 市 场 只 需 check out svn 服 务 器 上 最 新 gxapp_common 代 码 , 不 单 独 维 护
gxapp_common。
4. env.sh 中增加/删减环境变量配置项,sh/目录下所有 env.sh 同步修改。
环境变量 值 说明
ARCH csky CPU
OS ecos Ecos 操作系统
linux Linux 操作系统
CROSS_PATH csky-ecos、csky-linux 交叉编译项
RC_VERSION GOXCEED_v1_9_1_ 驱动版本(发布的生产版本必须设置对应驱
1 等 , 参 动版本,便于跟踪与维护)
考 include/init/goxcee
d_csky.h
GXLIB_PATH /opt/goxceed/ csky-ecos、csky-linux 路径
$CROSS_PATH 等
例如 润德广西玉林有线方案(ecos):
$ cd gxapp_common
$ ./build gx3201 gx1001 runde_guangxi_yulin ecos
润德广西玉林有线方案(linux):
$ cd gxapp_common
$ ./build gx3201 gx1001 runde_guangxi_yulin linux
1.4 增加/配置遥控器
1.4.1 增加新遥控器:
1. gxbus\gui_core\event\hwa\hwa_event.c 中开启遥控器按键打印。
2. 打印得到的键码值,参考 key_xxx(厂家).xml 格式增加新遥控器.xml。
3. gxapp_common/include/key/remote_enum.h 中增加新遥控器名称对应的宏定义,
与 keymap.xml,key_xxx(厂家).xml 中 group 值一致。
例如:#define KEY_ZHILING 8
4. gxapp_common/include/key/panel_key.h 中增加新遥控器对应的上、下、左、右、菜
单、退出、待机等常用面板按键。根据 env.sh 配置的遥控器环境变量条件编译,
面板将自动对应配置的遥控器按键。(只需配置遥控器)
1.5 开启/配置前面板
1.5.1 应用开启前面板:
同 理 , 如 使 用 JTAG 调 试 , 则 必 须 关 闭 面 板 。 PANEL_TYPE 设 置 为
PANEL_TYPE_NONE,并将 development/app/bsp.cpp 中 MOD_PANEL 注释掉。
1.5.2 配置面板:
1.6 增加/配置开机画面
步骤:
1. 新市场开机画面 JPG 图片复制到 gxapp_common/logo-jpg/目录下。
2. gxloader 中开启 JPG 开机画面支持,gxloader 对应市场/客户 release.config 中
设置 ENABLE_LOGO = yes
3. gxapp_common/sh 目 录 下 对 应 市 场 env.sh 配 置 JPG 开 机 画 面 模 式 , export
DVB_JPG_LOGO=yes.
4. gxapp_common/sh 目 录 下 对 应 市 场 env.sh 配 置 JPG 开 机 画 面 图 片 名 , 例 如 :
export DVB_LOGO_JPG=logo_nationalchip_gongban.jpg
注 意 : 编 译 gxapp_common 时 编 译 脚 本 会 自 动 将 evn.sh 配 置 的 jpg 拷 贝 到
$GXLIB_PATH/include/app/logo-jpg 目录下;
编译 development 时编译脚本会自动从 $GXLIB_PATH/include/app/logo-jpg 目录下拷
贝 evn.sh 到 developemnt/flash/logo.jpg,实现 jpg 开机画面的灵活配置和选择。
Svn 公版默认 jpg 的 logo 分区最大为 192K,如果市场开机画面 jpg 图片超过 192k.必须
修改 development/flash/flash.conf 分段信息。
1.6.2 I 帧开机画面增加、配置
步骤:
1. 新市场开机画面 I 帧复制到 development/theme/目录下。
2. gxloader 中关闭 JPG 开机画面支持,gxloader 对应市场/客户 release.config 中
设置 ENABLE_LOGO = no
3. gxapp_common/sh 目 录 下 对 应 市 场 env.sh 关 闭 JPG 开 机 画 面 模 式 , export
DVB_JPG_LOGO=no
4. gxapp_common/sh 目录下对应市场 env.sh 配置 I 帧路径。例如:
export DVB_LOGO_PATH='"/theme/logo.bin"'
注 意 : 开 机 画 面 和 广 播 背 景 图 片 可 以 不 是 同 一 个 I 帧 , 通 过 export
DVB_I_FRAME_PATH='"/dvb/theme/logo.bin"';设置广播背景 I 帧路径。
1.6.3 I 帧开机广告
2. Development 简介
development 为机顶盒具体市场应用代码,包含各模块的界面代码;图片、字库资源
镜像文件生成脚本等。
2.1 development 代码目录:
2.2 development 编译
development(Linux 操作系统)编译:
development(ecos 操作系统)编译:
development$ source env.sh csky-ecos
ARCH=csky OS=linux Configuration !
development$ make clean;make
ecos 方案编译后,development/flash 目录下会生成 flash.bin 镜像文件和 flash_ts.dat 升级
段 BIN 文件。
2.3 JTAG 调试
开始调试代码:
1. 分别配置 gxapp_common 和 development 目录下 scripts/inc.Makefile 对应 ecos/linux -
O0 -g ,(svn、生产版本默认为-O2)。
2. 修改 /development/app/.gdbinit 第一行 tar jtag jtag://127.0.1.1:1025 (根据本机使用 IP
地址、端口号修改).
3. 重现编译 gxapp_common,development
$ cd development/app
app$ csky-elf-gdb out.elf
(如第一次使用 csky-linux-gdb 出现 csky-linux-gdb: error while loading shared libraries:
libexpat.so.0: cannot open
cd /usr/lib/i386-linux-gnu/
sudo ln -s libexpatw.so.1.5.2 libexpat.so.0)
3. 增、删、配置 CA
步骤:
1、参考 3.1 将 A 市场版本修改为 FTA 版本,(根据需要可选择是否删除 A 市场相应
BYCA 菜单的 XML 文件、development\app\cas\byca 目录)。
2 、 将 gxapp_commom/sh 目 录 对 应 市 场 env.sh , export DVB_CA_FLAG=no 修 改 为
export DVB_CA_FLAG=yes; 修 改
DVB_CA_TYPE 、DVB_CA_1_NAME、DVB_CA_1_LIB、DVB_CA_1_FLAG 为 CDCAS3.0 对应值,例如:
export DVB_CA_TYPE=DVB_CA_TYE_CDCAS30
export DVB_CA_1_NAME=cdcas3.0
export DVB_CA_1_LIB=Y1120-tonghui-gx3001-20121212D
export DVB_CA_1_FLAG=DVB_CA_TYE_CD_CAS30_FLAG
3、gxapp_common/cas/cdcas3.0/目录下创建$DVB_CA_MARKET 目录(A 市场)。
并从 gxapp_common/cas/cdcas3.0/$DVB_CA_MARKET(B 市场)复制对应代码到对应
创建的目录,替换市场 CA 库、移植文档等第三方资料。
4、复制 B 市场版本 development/theme/widget 所有 CDCAS3.0 菜单 XML 文件到 A 市
场版本 development/theme/widget,复制 B 市场版本 development/app/cas/cdcas3.0 到 A 市场
版本 development/app/cas/cdcas3.0。
5、B 市场版本 development 代码中 DVB_CA_TYE_CD_CAS30_FLAG 宏定义使用的代码复制
到 A 市场版本,全屏.XML 中 CDCAS3.0 CA 相关控件加入到 A 市场版本全屏 XML。重新编译
gxapp_common,development。运行即 CDCAS3.0 。
6、针对修改 CA 菜单相关 XML 和图片资源、多语言,使 CA 菜单与 A 市场菜单一致。
( development/app/cas/cdcas3.0 目 录 下 i18n.xls 为 永 新 CA3.0 所 有 中 英 文 翻 译 , 将
development/app/cas/cdcas3.0/i18n.xls 添加到 development/theme/language/i18n.xls)
已 移 植 CA env.sh 中 环 境 变 量 配 置 参
考 gxapp_common/cas/xxxca/$DVB_CA_MARKET/readme.txt
3.4 移植新 CA
移 植 新 CA , 按 照 gxapp_common,development 代 码 架 构 。 参 考 已 移 植 CA 实 现 ( 如
cdcas3.0,byca ) , 部 分 代 码 可 直 接 拷 贝 ( 文 件 名 、 函 数 名 针 对 CA 修 改 ) 。 其 他 参 考
DVB_CA_TYPE_CD_CAS30_FLAG、DVB_CA_TYPE_BY_FLAG 宏开关调用。
4. OTA 编译
$ cd demod/
demod$ ./build csky gxloader
编译完成后,编译脚本会自动将编译生成的.a,对应头文件复制到/opt/goxceed/csky-
gxloader 对应目录中。
4.2 gxota 编译
$ cd gxota/
gxota$ ./build gx3201
编译完成后,gxota/src 目录下生成 ota.img(即 development/flash/ota.img)
5. 代码发布注意事项
注意:如果发布代码给客户自行开发,应将代码中第三方客户购买/申请的所有 CA、广
告、浏览器、库、移植文档等资料删除,仅提供代码客户。
CA、广告、浏览器、库、移植文档等由客户自行向对应厂家申请/购买。
如果国芯发布给客户开发的代码中,误包含第三方他客户的 CA、广告、浏览器、库、移植
文档等,立即通知该客户自行删除第三方的 CA、广告、浏览器、库、移植文档等,并不得擅自
使用。
对于客户擅自使用第三方客户的 CA、广告、浏览器、库、移植文档等,该客户自行承担对
应的商业、法律责任。
6.硬件版本
针对有线、国标地面同一市场,相同芯片方案存在多个客户情况,如果广电
前端未定义硬件版本规范(硬件版本由机顶盒厂家自定义)。OTA 升级通过校
验硬件版本等匹配升级与否,避免不同厂家客户交误升级导致严重问题(tuner\
panel\remote 等差异,升级后程序可能无法运行,只能通过串口更新)。所以每
个客户对应市场的硬件版本必须保证唯一。
因此,广电前端如果定义了硬件版本规范,根据广电规范实现。如果广电未
定义,根据国芯定义规范实现。国芯方案有线、国标地面硬件版本参考《杭州国
芯 gx3201 高清方案硬件版本定义规范》
硬件版本显示:xx.xx.xx.xx,8 个字节。
7. 修订记录