栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【TDA4】源码更新编译和运行(Linux+RTOS mode)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【TDA4】源码更新编译和运行(Linux+RTOS mode)

目录
  • 说明
  • 一、下载源码
  • 二、准备文件
  • 三、设置环境(首次编译需要)
  • 四、编译PSDK Linux
  • 五、编译PSDK RTOS
  • 六、运行测试
  • 关于 RTOS SDK


说明

硬件平台:TI TDA4VM
开发环境:Ubuntu 20.04
SDK参考:
Processor SDK Linux for J721e 08_02_00
Processor SDK RTOS J721E 08_02_00


一、下载源码

进入TI 官网,下载所需内容。链接:PROCESSOR-SDK-J721E
ti-processor-sdk-linux-j7-evm-08_02_00_03-Linux-x86-Install.bin
ti-processor-sdk-rtos-j721e-evm-08_02_00_05.tar.gz
ti-processor-sdk-rtos-j721e-evm-08_02_00_05-prebuilt.tar.gz
psdk_rtos_ti_data_set_08_02_00.tar.gz

二、准备文件
#准备编译路径,创建build目录
mkdir ~/platform/tda4/802/build
#执行以下指令,安装ti-processor-sdk-linux-j7-evm-08_02_00_03文件到build目录下
./ti-processor-sdk-linux-j7-evm-08_00_00_08-Linux-x86-Install.bin
#解压下载源码的另外2个文到build目录下
ti-processor-sdk-rtos-j721e-evm-08_02_00_05
ti-processor-sdk-rtos-j721e-evm-08_02_00_05-prebuilt #提供了几个常用脚本,这些脚本可以很方便的制作可以启动的TF卡,并且可以运行完整的Demo
#准备好上一版本的基础镜像和辅助脚本到build目录下
update_rootfs
scripts
#准备好更新的源码
kernel
#准备好设置环境可能下载较慢的部分安装包(首次编译需要),可从之前环境拷贝
setup_psdk_rtos

build/update_rootfs目录结构如下:

base_image和scripts里的内容可从ti-processor-sdk-rtos-j721e-evm-08_02_00_05-prebuilt得到,BOOT和rootfs建好目录即可。

build/scripts目录结构如下:

update_to_uboot:

#!/bin/bash

BUILD_PATH=./ti-processor-sdk-linux-j7-evm-08_02_00_03
RTOS_PATH=./ti-processor-sdk-rtos-j721e-evm-08_02_00_05
ROOT_PATH=./update_rootfs

update_uboot()
{
	if [ -d $ROOT_PATH ]
	then
		cp $BUILD_PATH/board-support/u-boot_build/a72/tispl.bin			$ROOT_PATH/BOOT/
		cp $BUILD_PATH/board-support/u-boot_build/a72/u-boot.img		$ROOT_PATH/BOOT/
		cp $BUILD_PATH/board-support/u-boot_build/r5/tiboot3.bin		$ROOT_PATH/BOOT/
		cp $RTOS_PATH/vision_apps/apps/basic_demos/app_linux_fs_files/uEnv.txt		$ROOT_PATH/BOOT/uenv.txt
		cp $RTOS_PATH/vision_apps/apps/basic_demos/app_linux_fs_files/board_id.txt		$ROOT_PATH/BOOT/
		echo "copy uboot Done!"
	else
		echo "root path not exist!!!"
	fi
}

update_uboot

update_to_rootfs:

#!/bin/bash

BUILD_PATH=./ti-processor-sdk-linux-j7-evm-08_02_00_03
ROOT_PATH=./update_rootfs/rootfs

update_kernel()
{
	if [ -d $ROOT_PATH ]
	then
		cp $BUILD_PATH/targetNFS/boot/Image			$ROOT_PATH/boot/
		cp $BUILD_PATH/targetNFS/boot/*.dtb			$ROOT_PATH/boot/
		cp $BUILD_PATH/targetNFS/boot/*.dtbo		$ROOT_PATH/boot/
		cp $BUILD_PATH/targetNFS/boot/System.map	$ROOT_PATH/boot/
		cp $BUILD_PATH/targetNFS/boot/vmlinux		$ROOT_PATH/boot/
		cp -r $BUILD_PATH/targetNFS/lib/modules/	$ROOT_PATH/lib/
		echo "copy kernel and modules Done!"
	else
		echo "root path not exist!!!"
	fi
}

update_kernel

rtos_update_to_rootfs:

#!/bin/bash

BUILD_PATH=~/tmp/tivision_apps_targetfs_stage
ROOT_PATH=./update_rootfs/rootfs

update_rtos()
{
	if [ -d $ROOT_PATH ]
	then
		cp -r $BUILD_PATH/* $ROOT_PATH/
		echo "copy rtos Done!"
	else
		echo "root path not exist!!!"
	fi
}

update_rtos
三、设置环境(首次编译需要)
#进入build目录
cd ~/platform/tda4/802/build/
#PSDK Linux开发环境设置
cd ti-processor-sdk-linux-j7-evm-08_02_00_03
./setup.sh
source linux-devkit/environment-setup
#PSDK RTOS开发环境设置
cp ti-processor-sdk-linux-j7-evm-08_02_00_03/board-support/prebuilt-images/boot-j7-evm.tar.gz ti-processor-sdk-rtos-j721e-evm-08_02_00_05/
cp ti-processor-sdk-linux-j7-evm-08_02_00_03/filesystem/tisdk-default-image-j7-evm.tar.xz ti-processor-sdk-rtos-j721e-evm-08_02_00_05/
cd ti-processor-sdk-rtos-j721e-evm-08_02_00_05
./psdk_rtos/scripts/setup_psdk_rtos.sh
#TF卡分区格式化(如果已经分区好,则跳过此步骤),使用df命令查看TF卡所在路径/dev/sdX
df
cd update_rootfs
./scripts/mk-linux-card.sh /dev/sdX

注意:
执行./setup时,会判断系统版本为Ubuntu 18.04,自行修改下相应脚本,取消系统判断
执行./psdk_rtos/scripts/setup_psdk_rtos.sh时,下载gcc*、opkg-utils、glm、glew、ATF、OPTEE等包如果比较慢,可以找之前环境拷贝过来

四、编译PSDK Linux
#将新的linux代码从kernel覆盖到build目录(无代码更新不需要覆盖)
cp -r kernel/ti-processor-sdk-linux-j7-evm-08_02_00_03/* build/ti-processor-sdk-linux-j7-evm-08_02_00_03/
#进入build目录
cd ~/platform/tda4/802/build/
#编译代码
cd ti-processor-sdk-linux-j7-evm-08_02_00_03
make clean
make all -j20
make linux_install
#将编译好的文件复制到update_rootfs目录下
./scripts/update_to_uboot.sh
./scripts/update_to_rootfs.sh
五、编译PSDK RTOS
#将新的linux代码从kernel覆盖到build目录(无代码更新不需要覆盖)
cp -r kernel/ti-processor-sdk-rtos-j721e-evm-08_02_00_05/* build/ti-processor-sdk-rtos-j721e-evm-08_02_00_05
#进入build目录
cd ~/platform/tda4/802/build/
#编译代码
cd ti-processor-sdk-rtos-j721e-evm-08_02_00_05/vision_apps/
make sdk -j20
make linux_fs_install
#将编译好的文件复制到update_rootfs目录下
./scripts/rtos_update_to_rootfs.sh
六、运行测试
#进入上面编译好的update_rootfs目录下,烧写TF卡测试
cd base_rootfs
./scripts/install_to_sd_card.sh
#将数据集解压到TF卡中对应的位置,这样默认SDK配套的Demo就可以正常运行
cd ti-processor-sdk-rtos-j721e-evm-08_02_00_05-prebuilt
./scripts/install_data_set_to_sd_card.sh ../psdk_rtos_ti_data_set_08_02_00.tar.gz
#将TF卡插入TDA4硬件平台,启动后通过调试串口root登录,测试初始化环境,以下操作在TDA4硬件平台上
cd /opt/vision_apps
source ./vision_apps_init.sh
#Now run one of the below scripts/applications to run the demos
./run_app_tidl.sh                     - Image classification demo (needs display)
./run_app_tidl_avp2.sh                - Auto valet parking demo (needs display)
./run_app_dof.sh                      - Dense optical flow demo (needs display)
./run_app_stereo.sh                   - Stereo disparity demo (needs display)
./run_app_c7x.sh                      - C7x sample kernel demo
./run_app_srv.sh                      - 3D SRV 4 camera demo (needs display, Fusion1 board, 4x IMX390 camera)
./run_app_single_cam.sh               - Single camera + VISS + Display demo (needs display, Fusion1 board, 1x IMX390 or compatible camera’s)
./run_app_multi_cam.sh                - Multi (4x) camera + VISS + Display demo (needs display, Fusion1 board, 4x IMX390 or compatible camera’s)
./vx_app_arm_opengl_mosaic.out        - OpenGL + OpenVX test
./vx_app_linux_arm_ipc.out            - inter processor communication test
./vx_app_linux_arm_mem.out            - memory allocation test
./vx_app_tutorial.out                 - TI OpenVX tutorial
./vx_app_conformance.out              - TI OpenVX conformance tests
#Once the demo runs, you should see output on the display
	#Display can be eDP or HDMI as selected via Makefile and configuration options
#Type 'x' to exit the demo and run another demo

关于 RTOS SDK

RTOS SDK是和Linux SDK并列的开发包,需要一起使用。这个SDK提供的可以通过ARM Cortex-A72访问的特性包括:

TIDL on C7x
Vision pre/post processing functions on C6x
Vision HW accelerators (VPAC/DMPAC) on R5F
CSI2RX on R5F
Remote display on R5F
Ethernet switch on R5F
MCU/AutoSAR MCAL on R5F
OpenVX on Linux A72 and RTOS C6x, C7x, R5F
Deep learning demos on Linux A72
Surround view demos on Linux A72
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845561.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号