Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【FAQ】全志V系列芯片如何实现mpp sample外编?

    V Series
    mpp faq v853 技术支持 多媒体
    2
    2
    1667
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by q1215200171

      1.主题

      V系列多媒体mpp sample外编方法

      2.问题背景

      用户希望Tina SDK 能提供编译工具链,多媒体库和头文件,使得自己编写的应用能编写Makefile 去链接多媒体库来编译生成app应用。
      介于此方法,本FAQ提供一份编译系统demo样例。 里面包含说明了:

      1. Tina SDK 如何输出多媒体库;
      2. 如何编写Makefile 去链接多媒体库;
      3. 如何将Tina SDK 里面MPP的sample 放到这里进行编译;
      4. 不需要Tina SDK 如何重新打包成全志固件;
      5. 指导如何制作SPINOR 的烧录器固件;

      3.解决办法

      请下载附件的编译系统,并放到linux 上运行。 执行./build.sh 既可以编译。每个目录下都有个REAMD说明,请查看。

      README:

      本编译系统是一个演示全志V系多媒体mpp sample 脱离Tian SDK 编译的并编译后放到rootfs下重新做固件的一个demo

      1. 本编译系统目录结构介绍

      ├── aw_pack_src #这个目录是V系列Tina SDK 编译打包后输出的目录,里面包含了库和分区文件
            ├── build.sh    #编译脚本
            ├── Makefile    #编译Makefile,可作为自己工程的参考
            ├── output      #编译后的应用和中间产物
            ├── sample      #sample 放置的目录
            ├── share_lib   #需要依赖的动态库(设备端rootfs也有)
            ├── mk_firmware #制作全志固件的脚本
            └── toolchain   #编译工具链
      

      2. 使用方法:
      ①将V系列多媒体sample 拷贝到 ./sample 目前下。阅读./sample/README了解详情;
      ②将Tina SDK 新输出的文件夹aw_pack_src 重新替换当前的./aw_pack_src()
      ③执行 ./build.sh 进行编译
      ④编译成功后。在./out 可看到 sample 和 strip 后的sample

      3. Tina SDK 如何生成新的aw_pack_src(库和头文件)来替换?

      • 选上配置
        make menuconfig --->Target Images --->[*]support pack out of tina
      • pack 打包,然后会在out/xx方案/生成一个目录:aw_pack_src,将此目录拷贝出来即可

      4. 重新替换了个sample,但编译出错怎么解决?

      • cannot find -lxx 库
        因为多媒体的库会根据make meunconfig 来配置一些功能组件。如果需要增加/裁剪功能,则编译出来可能就多或少一些库了。
        如果发现报错cannot find -lxx , 可以直接尝试修改Makefile,把这个-lxxx 去掉再编译试试。

      • undefined reference xxx: 函数
        因为多媒体的库会根据make meunconfig 来配置一些功能组件。如果需要增加/裁剪,则编译出来可能就多或少一些库了。
        如果发现报错undefined reference xxx:,则可以库目录下执行grep -rn "xxx", 看能不能搜索出一些结果是关于库的,如:

      grep -rn "AW_MPI_SYS_Init"
      
      Binary file ./aw_pack_src/lib_aw/lib/eyesee-mpp/libaw_mpp.a matches
      

      搜到AW_MPI_SYS_Init 结果在libaw_mpp.a库里面。 这时候在Makefile里面 加入-law_mpp 即可。

      如果在本目录搜不到,则可以去Tina SDK目录搜索:

      grep -rn "AW_MPI_SYS_Init" out/v851se-perf1/staging_dir/target/usr/lib   #注意v851se-perf1 是板子的名称。 这个目录下是SDK 编译出来的所有库 。
      

      附件:sample_ex_compile.tar.gz

      1 Reply Last reply Reply Quote Share 0
      • L
        逗 LV 5 last edited by

        isp 的部分 也会打包进去嘛?

        1 Reply Last reply Reply Quote Share 1
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策