导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    求教:关于Tina linux SDK代码架构问题

    MR Series
    4
    10
    3595
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      WadeDeng LV 4 最后由 编辑

      一、
      Tina linux 系统架构分为四部分,分别为Application、System service、Runtime Library、kernel Driver,如果本人理解,其中:

      Application对应的源码应在根目录下的package目录下

      kernel Driver对应的源码应在根目录下的\lichee\linux-5.4目录下

      但是Runtime Library和System service对应的源码目录在哪?请各位大神赐教

      二、
      还有一个问题是关于Tina linux SDK在source Insight创建工程应该如何创建
      1、如果整个SDK放进source Insight工程,代码量太大source Insight会卡死

      2、如果是package目录、\lichee\linux-5.4目录分别创建各自的工程,会导致文件不同步,看代码会不方便

      请教各位大神如何在source Insight创建工程

      whycan aldfaaa 3 条回复 最后回复 回复 引用 分享 0
      • whycan
        whycan晕哥 LV 9 @WadeDeng 最后由 编辑

        @wadedeng

        一、 Runtime Library和System service 说的那些动态链接库吗?

        二、TINA整个SDK还是挺大的, 不建议整个目录一起建source Insight工程

        W 1 条回复 最后回复 回复 引用 分享 0
        • aldfaaa
          whycan矿工-小叶 LV 7 @WadeDeng 最后由 编辑

          @wadedeng 善用 find . -name "*.h/c" | xargs grep -irn "(包含的字符串)"
          找到相应文件的路径,再酌情打开相应模块目录。
          SI就应该只打开你要看和写的部分文件。它还有个引用的功能,只需要指向编译器的头文件或者tina头文件路径即可,切勿添加这些文件进项目。
          最大的程序无非uboot, kernel, busybox等,都会有独立配置,不妨make menuconfig试试。至少对应3个SI项目。

          比如你只要看fbviewer这个显示图像的函数,你只需要打开对应方法目录添加相应源文件看实现即可。

          记住SI只是看和改大型项目代码的,好看c结构体模样等等。
          写/创造代码的话,最好用cmake+qtcreator/clion.

          W 1 条回复 最后回复 回复 引用 分享 0
          • aldfaaa
            whycan矿工-小叶 LV 7 @WadeDeng 最后由 编辑

            @wadedeng 写/魔改 uboot kernel busybox 用SI.
            写应用,有cmake加有提示报错就好

            W 1 条回复 最后回复 回复 引用 分享 0
            • W
              WadeDeng LV 4 @whycan 最后由 编辑

              @whycan
              1、 Runtime Library 应该是中间件层次。包含各种系统基础库,及第三方开源程序库支持。对应应用层提供API接口

              2、system services 层对应系统服务层,包括系统启动管理、配置管理、热插拔管理、存储管理、多媒体中间件等

              1 条回复 最后回复 回复 引用 分享 0
              • W
                WadeDeng LV 4 @aldfaaa 最后由 编辑

                @aldfaaa 请问busybox代码对应的目录在哪,我再SDK找到几个busybox的目录,然后busybox的功能作用是什么?

                aldfaaa 1 条回复 最后回复 回复 引用 分享 0
                • W
                  WadeDeng LV 4 @aldfaaa 最后由 编辑

                  @aldfaaa 用cmake编译出来的应用好像不能在D1上运行,是编译不是用的Tina linux提供的编译链的原因吗?

                  aldfaaa 1 条回复 最后回复 回复 引用 分享 0
                  • aldfaaa
                    whycan矿工-小叶 LV 7 @WadeDeng 最后由 编辑

                    @wadedeng busybox就是一个模仿linux常用程序的程序,好度集成了呗。
                    这方面应该看看韦东山老师的linux驱动入门课。(不用钱)

                    1 条回复 最后回复 回复 引用 分享 0
                    • aldfaaa
                      whycan矿工-小叶 LV 7 @WadeDeng 最后由 编辑

                      @wadedeng
                      你翻翻我的一些帖子,移植应用或者库的。
                      你完全可以照抄我交叉编译cmake的写法。
                      https://gitee.com/YJHmath/image-transmission-d1-tina/blob/master/CMakeLists.txt

                      1 条回复 最后回复 回复 引用 分享 0
                      • D
                        dream LV 6 最后由 编辑

                        Linux 和 uboot 可以使用 PF_Prj_Gen.sh(开源的第三方脚本),进行过滤一下,这样可以大大减少加入 source insight 工程的文件。其中一个原理是通过寻找 .o 中间文件,然后找对应的 .c 文件,记录到 txt 文档中,然后 source insight 导入这 txt ,建立工程。

                        1 条回复 最后回复 回复 引用 分享 0
                        • 1 / 1
                        • First post
                          Last post

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

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