注意APP的编译搭建:

  ./aps/Makefile.toolchain  //ccoption  path的设定

  ./aps/rules.mak      //统一的编译规则

  MAKE -C

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 $@ 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项目打包的更多相关文章

  1. 图解使用VS的安装项目打包程序

    背景 这段时间一直在做客户端程序的打包程序,遇到各种坑.因为以前没有任何这方面的经验,历经各种折腾,费尽九牛二虎之力总算是完成了. 虽然没有太多技术含量,但是因为挺繁琐的,所以还是在此记录一下. 由于 ...

  2. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  3. maven 项目打包 及window下部署到tomcat

    1.maven项目打包 2.将war文件拷贝到tomcat目录webapps下(不要再建目录)3.将必要的jar文件拷贝到tomcat目录libx下 war包 或jar 包 会生成到项目所在路径 的t ...

  4. Storm系列(三):创建Maven项目打包提交wordcount到Storm集群

    在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的S ...

  5. javaweb项目打包成war包

    从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择J2 ...

  6. Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...

  7. 关于Java项目打包

    可以选择以下几种办法: 一.使用Eclipse,右键项目导出jar. 二.使用Eclipse,右键项目导出runnable jar. 三.使用Eclipse 插件fat jar,导出可执行的jar包. ...

  8. Maven学习笔记-02-Maven项目打包配置与测试

    一 Maven项目打包配置 1 为整个项目统一指定字符集 <properties> <project.build.sourceEncoding>UTF-</project ...

  9. C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标

    #项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标 2012-08-25 09:11匿名 | 浏览 3286 次  C#编程 C#项目用vs2005自带的工具打包后安装的桌面快捷方式图标怎么设 ...

随机推荐

  1. jdbcTemplaate queryForObject的两个易混淆的方法

    JdbcTemplate中有两个可能会混淆的queryForObject方法: 1.    Object queryForObject(String sql, Object[] args, Class ...

  2. 常用js特效

    事件源对象  event.srcElement.tagName event.srcElement.type 捕获释放  event.srcElement.setCapture();  event.sr ...

  3. U-Boot中关于TEXT_BASE,代码重定位,链接地址相关说明

    都知道U-BOOT分为两个阶段,第一阶段是(~/cpu/arm920t/start.S中)在FLASH上运行(一般情况 下),完成对硬件的初始化,包括看门狗,中断缓存等,并且负责把代码搬移到SDRAM ...

  4. 【nginx】关于Nginx的一些优化(突破十万并发)

    nginx指令中的优化(配置文件) worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数. worker_cpu_affinity 00000001 00 ...

  5. 如何将linux服务器作为文件服务器

    在开发过程中想要使用linux服务器作为文件服务器,可以通过 IP+文件名来获取文件信息,比如http://localhost/banner/a.jpg.设置过程如下 1.安装apache2 sudo ...

  6. centOS7 安装nginx+php+mysql

    nginx安装 本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好. 安装make: yum -y install gcc automa ...

  7. 基于zookeeper或redis实现分布式锁

    前言 在分布式系统中,分布式锁是为了解决多实例之间的同步问题.例如master选举,能够获取分布式锁的就是master,获取失败的就是slave.又或者能够获取锁的实例能够完成特定的操作. 目前比较常 ...

  8. python 基础 8.0 regex 正则表达式--常用的正则表达式

    一. python 中常用的正则表达式         二. 正则表达式的网站,可以进行在线正则匹配 https://regex101.com/   1. 使用方法及正则介绍 1> ‘.’  匹 ...

  9. 【BZOJ4999】This Problem Is Too Simple! 离线+树状数组+LCA

    [BZOJ4999]This Problem Is Too Simple! Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2 ...

  10. 【BZOJ3721】PA2014 Final Bazarek 贪心

    [BZOJ3721]PA2014 Final Bazarek Description 有n件商品,选出其中的k个,要求它们的总价为奇数,求最大可能的总价. Input 第一行一个整数n(1<=n ...