【TDA2x学习】V、编译并运行第一个SDK程序(最新版)【包含RTOS和HLOS】

注意,命令执行过程中,若出现权限不够,试试加上sudo


一、下载SDK

/home/clay目录下新建名为linux的文件夹,下载SDK压缩包到该文件夹并解压,如下图所示

vsdk.tar.gz压缩包里主要包含ti_componentsvision_sdk两个文件夹】

在这里插入图片描述

踩过的坑:
①、在windows下未经压缩,直接通过FileZilla软件传输ti_componentsvision_sdk两个文件夹到虚拟机,部分文件无法传输,造成后来就一直出现“gmake 命令找不到”的错误!
②、在windows下将ti_componentsvision_sdk压缩成zip文件,再通过FileZilla软件传输到虚拟机,部分文件权限有所改变,造成“gmake 命令找不到”以及部分未知文件权限不足的错误。【曾尝试将所有文件权限设为777,仍无济于事】
③、解决文件权限的方案:在Linux下通过tar命令,将其压缩,再到目标机器的Linux环境下解压,这样权限就不会改动了!

二、安装依赖库

安装依赖前,最好执行一下

sudo apt-get update

注意下面的所有依赖是一行,要全部复制!

sudo apt-get install ssh corkscrew gawk sed u-boot-tools dos2unix dtrx git lib32z1 lib32ncurses5 libbz2-1.0:i386 libc6:i386 libc6-i386 libstdc++6:i386 libncurses5:i386 libz1:i386 libc6-dev-i386 device-tree-compiler mono-complete lzop

三、编译RTOS

RTOS,即Real Time Operating System,就是BIOS。

1、设置基于RTOS的编译

打开/home/clay/linux/vsdk/vision_sdk/build【注意要选择自己对应的】路径下的Rules.make文件,将其中的MAKECONFIG?=tda2xx_evm_bios_all取消注释,并将其中的MAKECONFIG=tda2xx_evm_linux_all添加注释,效果如下图。

在这里插入图片描述

2、进入编译路径/home/clay/linux/vsdk/vision_sdk/build【注意要选择自己对应的】

cd /home/clay/linux/vsdk/vision_sdk/build

3、在终端依次输入如下指令,进行清除和编译

make -s clean
rm -rf ../binaries/*
make -s -j depend
make -s -j

make -s -j depend - 构建所有必要的组件:PDK驱动程序、EDMA驱动程序和sdk依赖文件
make -s -j - 构建Vision sdk框架和示例

gmake -s showconfig - 可以查看配置文件选择项

4、输入make -s appimage,输出AppImage,即最终要拷贝到SD卡的文件,其路径如下:

/home/clay/linux/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/sbl_boot

在这里插入图片描述

5、输入make -s sbl,输出MLO,即最终要拷贝到SD卡的文件,其路径如下:

/home/clay/linux/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/sbl/sd/opp_nom/tda2xx-evm/

在这里插入图片描述

6、运行RTOS

参考【TDA2x学习】4、板子快速体验

四、编译HLOS

HLOS,即high level Operating System,也就是Linux。

1、设置基于HLOS的编译

打开/home/clay/linux/vsdk/vision_sdk/build【注意要选择自己对应的】路径下的Rules.make文件,将其中的MAKECONFIG?=tda2xx_evm_bios_all注释,并将其中的MAKECONFIG=tda2xx_evm_linux_all取消注释,效果如下图。

在这里插入图片描述

2、进入编译路径/home/clay/linux/vsdk/vision_sdk/build【注意要选择自己对应的】

cd /home/clay/linux/vsdk/vision_sdk/build

3、在终端依次输入如下指令

make -s clean
rm -rf ../binaries/*
make linux
make linux_install
make -s -j depend
make -s -j

4、输出apps.out

在这里插入图片描述
5、根文件系统打包

进入/home/clay/linux/vsdk/ti_components/os_tools/linux/targetfs目录,然后输入下面的命令将根文件系统打包

tar cvf tisdk-rootfs-image-dra7xx-evm.tar.xz ./*

接着输入以下命令,将打包好的根文件系统移动至/home/clay/linux/vsdk/vision_sdk/binaries/apps/tda2xx_evm_linux_all/hlos/linux/boot

mv ./tisdk-rootfs-image-dra7xx-evm.tar.xz /home/clay/linux/vsdk/vision_sdk/binaries/apps/tda2xx_evm_linux_all/hlos/linux/boot

6、烧写SD卡

在SD卡连接PC前和后,在终端输入lsd /dev/sd*命令,对比可得出SD卡对应的分区,如下图对比可得出SD卡对应分区为sdb

在这里插入图片描述

进入编译路径/home/clay/linux/vsdk/vision_sdk/build,输入如下命令,进行SD卡烧写【注意其中的/dev/sdb要替换成对应自己SD的分区】

sudo ./hlos/scripts/linux/mksdboot.sh --device /dev/sdb --appname apps --makeconfig tda2xx_evm_linux_all

输入命令后,会有如下提示,直接回车即可

在这里插入图片描述

耐心等待…

在这里插入图片描述
完成后,如下图

在这里插入图片描述

7、运行HLOS

将烧录好的SD卡插入到TI板子,并打开串口终端【波特率115200】,上电。

在这里插入图片描述

有个问题就是,TI这个板子运行Linux,执行个命令都老半天,不知道是板子性能问题,还是烧录的系统有问题(毕竟系统运行起来的时候,从终端看好多error!)

所以,运行第一个基于Linux的Demo程序,待后续更新哈…
所以,运行第一个基于Linux的Demo程序,待后续更新哈…
所以,运行第一个基于Linux的Demo程序,待后续更新哈…


关于老版博客笔记想说的

1、不需要创建配置文件

配置文件是用来从TI的git服务器下载原版代码用的,这里我们是已经下好了可以运行的SDK程序,所以这一步是不需要配置的!

2、添加环境变量

首先需要搞清楚,gmake和make的区别:

gmake是GNU Make的缩写。Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了。比如在安装二进制文件进行编译时要使用make命令,但如果在其他非GNU系统中运行,必须使用GNU make,而不是使用系统自带的make版本,这时要用gmake代替make进行编译。

而我们使用的是Ubuntu是GNU系统,所以直接用make即可!

其次,在TI的官方文档中也是没有配置gmake相关的。


一些路径记录

  • RTOS的编写(参考)程序路径
./vision_sdk/apps/src/rtos/usecases
  • 参考手册路径
./vision_sdk/docs
  • VisionSDK_DevelopmentGuide.pdf参考手册路径
./vision_sdk/docs/FeatureSpecificUserGuides
  • 查看TDA2x支持哪些Link
./vision_sdk/docs/VisionSDK_DataSheet.pdf的第1.2节
  • 查看TDA2x具有哪些CPU及其具体配置
./vision_sdk/docs/VisionSDK_DataSheet.pdf的第2节
  • 判断是否是新的vision_sdk可以看这个路径
./vision_sdk/apps/src/rtos/usecases/hhsq_adas_system
  • hhsq开发ADAS所在usecase
./vision_sdk/apps/src/rtos/usecases/hhsq_adas_system/chains_hhsqAdasSystem.c

...
Void Chains_hhsqAdasSystem(Chains_Ctrl *chainsCfg) // 分析可以从这里上手
...

  • 通常也对DrawLink进行二次开发,路径如下
./vision_sdk/apps/src/rtos/alg_plugins/objectdetection/objectDrawLink_algPlugin.c
  • 在图像上绘制不同的东西,代码示例如下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页