RDA项目打包
Posted qiuri2008
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RDA项目打包相关的知识,希望对你有一定的参考价值。
1、TOOLS的可执行程序,工具文件不用每次生成
tools/lzma460
tools/pnlset2bin
tools/vip2bin
tools/mergeImage
2、aps/lib
存放所有"aps"目录下的静态库文件
1) 通过“aps\application\radisson\atv_project\Makefile”进行编译
2) 链接:EXTRA_OBJS += -Wl,--start-group $(LIBS) -Wl,--end-group
3) UI相关:compnent += app_common_api sys_common_guiobj $(UIRESOURCE_DIR)
makefile的编译:
$(compnent): refineUIResource
@$(MAKE) -C [email protected] all
UI相关LIB文件:
libMMUIresources.a、libapp_common.a、libatv_guiobj.a、libmedia_guiobj.a、libresources.a、libsys_common_guiobj.a
4)根文件系统进程:“aps\application\radisson\atv_project\umf”
aps下所有的文件,会生成根文件系统进程“umf”,系统启动后自动加载“umf”进程。
umf通过“aps\minibox\Makefile”拷贝到kernel的根文件系统:“kernel\linux-2.6.35.9\initramfs\tmp”,COPY方式如下:
install:
cp -f ../application/$(APPDIR_NAME)/umf $(CONFIG_INSTALLDIR)/tmp
-cd $(CONFIG_INSTALLDIR) && rm -rf $(CONFIG_INSTALLDIR)/bin/*
-cd $(CONFIG_INSTALLDIR) && rm -rf $(CONFIG_INSTALLDIR)/sbin/*
cd $(CONFIG_INSTALLDIR)/bin && $(foreach LK,$(LINK),ln -fs ../tmp/umf $(LK);)
cd $(CONFIG_INSTALLDIR)/bin && rm buildin_cmd
cd $(CONFIG_INSTALLDIR) && ln -fs tmp/umf init
cp init.d/initsc $(CONFIG_INSTALLDIR)/etc
5)kernel相关:
kernel的编译分为三部分:“kernel”编译、“drivers”编译,以及根文件系统“initramfs”。
顶层makefile工具处理:“../../tools/packet/packet $(build_dir)-$(GET_BIN_FILENAME)_$(CHIP_ID) 0x00294801 $(CHIP_ID)”,生成文件如下:
“vmlinux.bin”、“vmlinux.dsc”、“vmlinux”、“System.map”、“initramfs\tmp\timestamp_info”
文件会移动“mergedir”与相关BIN文件一起打包,需要打包的BIN在文件“mergeImage.cfg”中指定。
6)其它:
打包后“drivers\i2c”目录的源文件要保留,TOOLS会生成跟系统。
7)重新打包后需要替换的文件:
kernel目录的:“vmlinux.bin”、“vmlinux.dsc”、“vmlinux”、“System.map”、“initramfs”
boot目录的:“boot.bin”、“bootrom_raw.bin”
aps/lib目录的:libMMUIresources.a、libapp_common.a、libatv_guiobj.a、libmedia_guiobj.a、libresources.a、libsys_common_guiobj.a
“drivers”目录以及“aps\application\radisson\atv_project\resources”目录
8)SVN CHECK的代码,TOOLS下某些工具没有可执行权限,在编译不通过的时候,需要chmod +x
以上是关于RDA项目打包的主要内容,如果未能解决你的问题,请参考以下文章