求教:关于Tina linux SDK代码架构问题
-
一、
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创建工程
-
一、 Runtime Library和System service 说的那些动态链接库吗?
二、TINA整个SDK还是挺大的, 不建议整个目录一起建source Insight工程
-
@wadedeng 善用 find . -name "*.h/c" | xargs grep -irn "(包含的字符串)"
找到相应文件的路径,再酌情打开相应模块目录。
SI就应该只打开你要看和写的部分文件。它还有个引用的功能,只需要指向编译器的头文件或者tina头文件路径即可,切勿添加这些文件进项目。
最大的程序无非uboot, kernel, busybox等,都会有独立配置,不妨make menuconfig试试。至少对应3个SI项目。比如你只要看fbviewer这个显示图像的函数,你只需要打开对应方法目录添加相应源文件看实现即可。
记住SI只是看和改大型项目代码的,好看c结构体模样等等。
写/创造代码的话,最好用cmake+qtcreator/clion. -
@wadedeng 写/魔改 uboot kernel busybox 用SI.
写应用,有cmake加有提示报错就好 -
@whycan
1、 Runtime Library 应该是中间件层次。包含各种系统基础库,及第三方开源程序库支持。对应应用层提供API接口2、system services 层对应系统服务层,包括系统启动管理、配置管理、热插拔管理、存储管理、多媒体中间件等
-
@aldfaaa 请问busybox代码对应的目录在哪,我再SDK找到几个busybox的目录,然后busybox的功能作用是什么?
-
@aldfaaa 用cmake编译出来的应用好像不能在D1上运行,是编译不是用的Tina linux提供的编译链的原因吗?
-
@wadedeng busybox就是一个模仿linux常用程序的程序,好度集成了呗。
这方面应该看看韦东山老师的linux驱动入门课。(不用钱) -
@wadedeng
你翻翻我的一些帖子,移植应用或者库的。
你完全可以照抄我交叉编译cmake的写法。
https://gitee.com/YJHmath/image-transmission-d1-tina/blob/master/CMakeLists.txt -
Linux 和 uboot 可以使用 PF_Prj_Gen.sh(开源的第三方脚本),进行过滤一下,这样可以大大减少加入 source insight 工程的文件。其中一个原理是通过寻找 .o 中间文件,然后找对应的 .c 文件,记录到 txt 文档中,然后 source insight 导入这 txt ,建立工程。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号