【Linux C编程】第十二章 信号1 【Linux C编程】第十二章 信号2
834
2022-05-28
开发环境说明
表 1
开发板型号
是否支持本实验
TL570x-EVM
不支持
TL5728-EasyEVM
支持
TL5728-IDK
支持
TL5728F-EVM
支持
VMware14.1.1;
Ubuntu 14.04.3 64bit;
RTOS processor-SDK 04.03.00.05;
Linux-RT-4.9.65内核;
IPC开发包版本:3.47.01.00。
基于TI RTOS Processor-SDK 04.03.00.05的开发方法主要有两种,一是在Windows下开发,需要安装Windows版本CCS 7.4.0;二是在Linux下开发,基于Linux Processor-SDK开发环境。在Windows版本CCS 7.4.0下开发,RTOS工程文件的依赖关系比较复杂、繁琐,我司默认使用Linux环境进行开发。由于RTOS的Linux Processor-SDK开发包中已带有CCS编译器,故不需要额外安装Linux版本的CCS开发工具。
Linux RTOS SDK开发环境搭建
安装Linux版本RTOS Processor-SDK-04.03
由于RTOS安装包下的cgt6x_x86_installer等组件为32 bit工具,因此需要在64 bit的Ubuntu下安装32 bit依赖库,否则会导致cgt6x_x86_installer等组件安装失败,最后无法正常编译RTOS工程。Ubuntu下执行如下指令,出现提示信息输入Y,等待安装结束。
Host# sudo apt-get install libc6:i386
图 1
将光盘“Tools\Linux-RT\ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin”开发包拷贝到Ubuntu,执行如下指令安装RTOS Processor-SDK:
Host# chmod +x ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
Host# ./ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
图 2
图 3
在弹出的安装界面中点击Next选项,进入“Select Components”安装组件选择界面,默认全选,点击Next进入下一步:
图 4
进入安装目录选择界面,将“/home/tronlong/ti”默然安装目录修改为“/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05”,也可以根据实际情况选择安装路径。如下图所示:
图 5
连续点击Next,进入到RTOS Processor-SDK开发包安装界面如下图所示:
图 6
耗时约3min后安装完成,“/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05”安装目录内容如下图所示:
图 7
图 8
RTOS开发环境配置
将光盘“Tools\Linux-RT\pdksetupenv.sh”文件替换掉“ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/pdk_am57xx_1_0_10/packages/”目录下的同名文件,该脚本文件主要用于RTOS组件的路径配置。
图 9
执行如下指令,打开“/etc/profile”环境变量配置文件:
Host# vi /etc/profile
图 10
参照如下方法将RTOS Processor-SDK开发包中的交叉编译工具链路径、RTOS组件配置脚本文件路径加入系统环境变量中。Ubuntu系统将自动执行setupenv.sh脚本配置RTOS Processor-SDK的环境变量,setupenv.sh脚本文件会跳转到pdksetupenv.sh脚本运行,并完成RTOS组件的路径配置。
export SDK_INSTALL_PATH=/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05
source /home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/processor_sdk_rtos_am57xx_4_03_00_05/setupenv.sh
图 11
确认添加路径无误后保存退出。执行如下指令,使能交叉编译工具链,并验证环境变量是否已生效,然后重启Ubuntu。
Host# source /etc/profile
Host# echo $SDK_INSTALL_PATH
图 12
PDK_INSTALL_PATH: PDK安装路径
C6X_GEN_INSTALL_PATH: C66X 编译器路径
TOOLCHAIN_PATH_A15: A15 编译器路径
TOOLCHAIN_PATH_M4: M4编译器路径
XDC_INSTALL_PATH: xdc工具路径
BIOS_INSTALL_PATH: bios系统路径
IPC_INSTALL_PATH: ipc开发包路径
EDMA3LLD_BIOS6_INSTALLDIR: edma路径
PROC_SDK_INSTALL_PATH: processor_sdk_rtos 路径
按照前面步骤配置好RTOS Processor-SDK环境变量,如需编译整个RTOS Processor-SDK开发包,可进入processor_sdk_rtos_am57xx_4_03_00_05目录下执行以下命令编译。实际开发中一般无需编译整个RTOS开发包,只编译需要用到的RTOS组件即可。
Host# cd ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/processor_sdk_rtos_am57xx_4_03_00_05/
Host# make -j 8
图 13
本次操作用时约55min后(由PC性能决定),完成整个RTOS Processor-SDK开发包编译工作,结果如下图所示:
图 14
IPC编译
RTOS IPC开发包的编译依赖于RTOS Processor-SDK、Linux内核等,版本对应关系如下表:
表 2
IPC版本
RTOS SDK版本
CCS版本
内核版本
3.47.01.00
04.03
7.4.0
Linux-RT-4.9.65
参照用户手册《Linux-RT Processor-SDK安装》文档配置好Linux-RT交叉编译工具链。参照《Linux-RT内核编译方法》文档,将光盘“Linux-RT\kernel\Linux-RT-4.9.65\src”目录下的Linux-RT内核源码解压到Ubuntu并编译内核。
将光盘"Demo\rtos-examples\ipcdev"目录下的ipc_3_47_01_00_v1.X.tar.gz压缩包复制到Ubuntu工作目录。由于TI RTOS Processor-SDK安装目录下原来的IPC开发包缺少一些映射,会影响到GPMC通信案例,需要将创龙修改的ipc_3_47_01_00_v1.X.tar.gz压缩包替换掉原来的,创龙主要修改了DSP1,DSP2,IPU1,IPU2核心的部分中断映射。
执行如下指令删除RTOS Processor-SDK原来的IPC开发包,并将ipc_3_47_01_00_v1.X.tar.gz压缩包解压替换。具体版本型号以实际为准。
Host# rm -r ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/ipc_3_47_01_00/
Host# tar -xvf ipc_3_47_01_00_v1.0.tar.gz -C ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/
图 15
按照前面步骤配置好RTOS Processor-SDK环境变量,并替换TI RTOS Processor-SDK安装目录下的IPC开发包。进入ipc_3_47_01_00开发包目录,执行如下指令打开products.mak文件,参照如下方法配置IPC案例环境变量:
Host# vi products.mak
图 16
49 PLATFORM = DRA7XX //平台名称
63 TOOLCHAIN_LONGNAME = arm-linux-gnueabihf
64 TOOLCHAIN_INSTALL_DIR = /home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr //Linux-RT交叉编译链
69 KERNEL_INSTALL_DIR = /home/tronlong/AM57xx/kernel/Linux-RT-4.9.65/
100 XDC_INSTALL_DIR = ${XDC_INSTALL_PATH}
101 BIOS_INSTALL_DIR = ${BIOS_INSTALL_PATH}
113 ti.targets.elf.C66 = ${C6X_GEN_INSTALL_PATH}
121 ti.targets.arm.elf.M4 = ${TOOLCHAIN_PATH_M4}
128 gnu.targets.arm.A15F =${TOOLCHAIN_PATH_A15}
图 17
图 18
修改完成保存退出。在“/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/ipc_3_47_01_00”目录下,执行如下指令进行IPC编译配置并编译IPC链接库。
Host# make -f ipc-linux.mak config //IPC编译配置
Host# make //编译IPC链接库
图 19
图 20
图 21
执行如下指令编译整个IPC开发包相关依赖文件,本次编译用时约40min。
Host# make -f ipc-bios.mak all
图 22
图 23
Linux API/SDK
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。