赞
踩
目前SDK是基于8.05版本基线进行开发,分为LINUX SDK工具开发包和RTOS SDK工具开发包。
LINUX SDK工具包为TDA4VM提供u-boot、内核以及文件系统。
RTOS SDK工具包包含视觉应用、以太网固件、MCU、RTOS系统设备驱动、HS设备开发等工具包开发功能,其中R5F核心、C66x核心、C7x深度学习核心的软件包都位于RTOS SDK中。
https://www.ti.com/tool/PROCESSOR-SDK-J721E?keyMatch=&tisearch=search-everything&usecase=partmatches
进入Ubuntu 18.04 64的终端,执行以下命令
user@user:~$ chmod +x ./ti-processor-sdk-linux-j7-evm-<version>-Linux-x86-Install.bin
user@user:~$ ./ti-processor-sdk-linux-j7-evm-<version>-Linux-x86-Install.bin
进入Ubuntu 18.04 64的终端,执行以下命令
user@user:~$ tar -xf TI-processor-SDK-RTOS-J721E-evm-08_05_00_11.tar.gz
目录 | 目录功能 |
---|---|
bin | 包含用于配置主机系统的帮助程序脚本和目标设备。这些脚本中的大多数都由setup.sh使用脚本。 |
board-support | 主要包含linux内核源码,uboot源码,及其他组件。 |
configs | yocto工具的构建链接(yocto构建大约需要十几个小时)。 |
docs | 直接打开index.html,即可阅读整个SDK的官方文档。 |
example-applications | 包含一些benchmarks等app demo。 |
filesystem | 存放默认、最小的文件系统。 |
linux-devkit | 交叉编译工具链和库以加快目标设备的开发速度。 |
Makefile | 顶级编译脚本(make)。 |
patches | 补丁、预留目录。 |
Rules.make | 设置顶级生成文件使用的默认值以及子组件生成文件。 |
setup.sh | 配置用户主机系统和目标开发系统。 |
yocto-build | 此目录允许重建SDK组件和使用Yocto Bitbake的文件系统。 |
目录 | 目录功能 |
---|---|
cg_xml_2.61.00 | 这是一个Perl脚本包,用于处理来的XML文件从TI代码生成工具。 |
dsplib_02_05_00_03 | DSPLIB 是使用TI-Keystone-3器件上提供的矩阵乘法加速器(MMA)和C7x ISA实现低级数字信号处理(DSP)功能的软件库。 |
dsplib_c66x_3_4_0_0 | 是面向C程序员的优化DSP函数库。它包括许多可调用的、优化的、通用的信号处理例程。 |
ethfw | 以太网交换机固件软件堆栈,是基于FreeRTOS的应用程序,用于配置以太网交换机,托管在J721E和J7200 SoC主域中的Cortex R5F 0核0上。 |
fftlib_02_05_00_02 | FFTLIB是使用TI-Keystone-3器件上提供的矩阵乘法加速器(MMA)和C7x ISA实现低级快速傅立叶变换(FFT)函数的软件库。 |
imaging | 包含适用于TI-ISP的自动曝光、自动切换平衡算法,它还包含图像传感器驱动程序和调整参数。 |
ivision | 该软件包包括XDAIS DSP算法接口的扩展 用于TIDL和TIADALG。 |
mathlib_02_05_00_02 | 为C7x实现了常见的优化math.h函数,可在TI的Keystone-3器件上使用。 |
mathlib_c66x_3_1_2_1 | 实现了常见的优化math.h函数,通常用于计算密集型实时应用程序。 |
mcusw | 由微控制器抽象层(MCAL)和演示应用(MCUSS Demos)两部分组成,MCAL是AUTOSAR基本软件架构的最低层,用于AutoSAR的MCAL,在CCS中开发。 |
mmalib_02_05_00_07 | 提供的矩阵乘法加速器(MMA)和C7x ISA实现低级卷积神经网络(CNN)、线性代数(LINALG)、快速傅立叶变换(FFT)和数字信号处理(DSP)函数的软件库。 |
pdk_jacinto_08_05_* | 此软件包包含设备驱动程序、引导加载程序、用于裸机/RTOS的CSL。 |
psdk_rtos | sdk的脚本及相关文档。 |
remote_device | 远程设备是处理器SDK RTOS汽车(PSDKRA)中的设备虚拟化和共享组件,可用于跨多个内核和操作系统(计算实体)共享物理设备。 |
sdl | 提供安全机制和功能的接口,用于开发涉及功能的软件应用程序安全。 |
tiadalg | 包含示例预处理、后处理和其他算法,用于自动驾驶。 |
ti-cgt-armllvm_* | TI-Arm-Clang编译器工具1.3.0.LTS版本的代码生成器,包含TI-ARM-R5F编译器、链接器。 |
ti-cgt-c6000_8.3.7 | 包含 C6x 编译器、链接器。 |
ti-cgt-c7000_3.0.0* | 包含 C7x 编译器、链接器、主机仿真模式库。 |
tidl_j721e_08_05* | 包含 TI 的深度学习推理解决方案,提供一套丰富的工具和优化的库,简化了 DNN 开发和部署的整个产品生命周期。 |
tiovx | TIOVX是TI对OpenVX标准的实现,为C66x-DSP提供了优化的OpenVX内核;扩展API允许用户集成自己原生开发的自定义内核,并使用OpenVX-API调用它们。 |
ti-perception-toolkit | 里面的每个组件都提供数据结构和通用处理算法,用于有效开发自治系统所需的传感和感知功能。 |
vision_apps | 包含摄像头,ADAS,视觉,感知,OpenVX演示。 |
vxlib | 为C66x实现了OpenVX v1.1低级内核。 |
xdais_7_24_00_04 | 由XDAIS DSP算法接口组成。 |
index.html | 直接打开index.html,即可阅读整个SDK的官方文档。 |
运行以下命令,安装被Makefile编译所需要的包。
user@user:~$ sudo apt-get install build-essential autoconf automake bison flex libssl-dev bc u-boot-tools
在ti-processor-sdk-linux目录下,顶层的Makefile。可以在根目录下执行下表相关命令,可以快速的让SDK工具包编译出所需要的产物。
使用以下编译命令,根据所需的输出内容执行编译,没有执行顺序。
命令 | 含义 | 文件路径 |
---|---|---|
make linux | 编译 Linux 内核,生成*.dtbo,Image内核等文件 | ti-processor-sdk-linux-j7-evm*/board-support/built-images/ |
注:make linux执行完后,需要执行make linux install才能生成built-images这个文件(执行过程可能出现报错,只需要看是否生产built-images文件即可,不用管错误) | ||
make u-boot | 将构建 u-boot 二进制文件 tiboot3.bin, tispl.bin & u-boot.img | ti-processor-sdk-linux-j7-evm*/board-support/u-boot_build/ |
make sysfw-image | 构建系统固件 itb 文件,该文件是单个 系统固件版本以及不同主板的二进制文件配置 | ti-processor-sdk-linux-j7-evm*/board-support/k3-image-gen*/ |
#编译u-boot、构建 u-boot 二进制文件 tiboot3.bin, tispl.bin & u-boot.img
user@user:~/ti-processor-sdk-linux-j7-evm*$ make u-boot
#编译系统固件,生成sysfw.itb文件
user@user:~/ti-processor-sdk-linux-j7-evm*$ make sysfw-image
#编译linux内核,生成*.dtbo,Image内核等文件
user@user:~/ti-processor-sdk-linux-j7-evm*$ make linux
系统由两部分组成:一个是boot分区,用于存放bootloader的uboot等;另一个是rootfs分区,用于存放Linux需要的文件系统。
注意:其中官方对boot分区使用fat32文件格式,rootfs分区使用ext4文件格式;但是ext4是相当于fat32文件格式的升级版本,所以可以根据自己的需求将两个分区统一为ext4文件格式。
所以生成的文件需要分别放置在两个不同的分区。
boot分区放置在SD卡中
编译u-boot映像后,将生成的tiboot3.bin, tispl.bin & u-boot.img和sysfw.itb文件拷贝到boot分区,用于启动引导和引导内核加载。
boot分区放置在EMMC、OSPI上
具体参考烧写章节。
rootfs分区放置在SD卡中
编译Linux内核后,将生成的*.dtbo,Image内核等文件拷贝到rootfs分区对于的目录下,实现内核和设备树的更新。
rootfs分区放置在EMMC上
具体参考烧写章节。
其中rootfs是存放根文件系统的,rootfs需要一个完整的文件系统。
这里的快速上手,主要基于TDA4VM-EVM硬件平台环境的SD卡启动系统。
在ti-processor-sdk-linux-j7-evm*/bin/目录下包含一个名为 mksdboot.sh 的脚本。
此脚本的目地是通过对SD卡进行boot和rootfs分区、格式化来创建可启动的SD卡,最后将所需文件分别拷贝到所需分区,以便目标可以使用引导映像和文件系统。
user@user:~$sudo dpkg-reconfigure dash
#出现选择,则选择否
#--device:指SD卡的设备节点名称
#--sdk:指SDK的目录路径
user@user:~$ sudo ./ti-processor-sdk-linux-j7-evm*/bin/mksdboot.sh --device /dev/sdb --sdk ./ti-processor-sdk-linux-j7-evm*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。