TA的每日心情 | 奋斗 2020-3-25 15:17 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开发环境说明
5 K0 O3 e3 `, a$ x( g表 1& b+ t% M+ U# p( n/ p
开发板型号6 k+ l9 h) v5 s* h- \
| 是否支持本实验+ i1 t+ s1 V) f( }; Z
| TL570x-EVM
; r8 h' P8 R0 t; O8 V" g' j | 不支持
$ [( H3 L j+ h8 u | TL5728-EasyEVM' i, M' o" ~1 r9 y; c# z# e% J
| 支持& j2 |9 B1 {7 g% F3 t [
| TL5728-IDK' ?; a4 k: Q" t/ n
| 支持
% o! ]+ Y0 z, A* h | TL5728F-EVM- v/ l5 T; s: W7 E
| 支持0 V; g/ b2 I) k/ d3 t, I
|
# |8 |& r$ g1 `; J4 j) E( H- 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。8 [$ M7 h8 b0 D6 n) V
基于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开发工具。
' v8 A; j: B m, k
: R* {- t2 I/ |( \# B9 {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,等待安装结束。
: T! N# a9 E3 M: _ THost#sudo apt-get install libc6:i386
# E: x+ b6 M! k, _/ b6 O![]() 图 1
! `9 y0 N i. S0 R6 ~6 p
. @" ^" |6 h! Z: `: N# h+ o将光盘“Tools\Linux-RT\ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin”开发包拷贝到Ubuntu,执行如下指令安装RTOS Processor-SDK:4 r) P6 M# ?$ Y' q4 o7 ~. s8 R, N
Host#chmod +x ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
5 }8 L& P3 d; UHost# ./ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
' x9 p" ^" G; a8 i8 i% B![]() 图 2
( J; `' T M! {" T: a4 F! o2 P9 n4 Q4 x. x) y: {& {& N
![]() 图 36 ^" H2 g8 j8 R+ ?2 T
; f' [7 R( R$ ?
在弹出的安装界面中点击Next选项,进入“Select Components”安装组件选择界面,默认全选,点击Next进入下一步:' }: M2 t+ y' Z
![]() 图 45 u6 j ]( q. D* }6 q
( C1 o# x8 [+ w0 V+ k进入安装目录选择界面,将“/home/tronlong/ti”默然安装目录修改为“/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05”,也可以根据实际情况选择安装路径。如下图所示:
; ~- Y0 o- `5 o% n![]() 图 57 H/ N, ^& r* ?( d1 W. s
+ `2 X$ D8 ?" a( L. `
连续点击Next,进入到RTOS Processor-SDK开发包安装界面如下图所示:
1 N3 A" o" E; ?; o, Z![]() 图 6
: {/ V$ r4 a# R
: O% ]* i5 |1 u j: ^耗时约3min后安装完成,“/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05”安装目录内容如下图所示:3 x* ]- e5 @' _
![]() 图 7- s+ D/ {& ]; ~
2 Z" e6 u# k7 `, E( h; K0 E![]() 图 8
' x! `# i, _0 U3 T
( x5 _ ~1 X, L3 \/ ]8 `4 a RTOS开发环境配置将光盘“Tools\Linux-RT\pdksetupenv.sh”文件替换掉“ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/pdk_am57xx_1_0_10/packages/”目录下的同名文件,该脚本文件主要用于RTOS组件的路径配置。3 j; e% o; ~" e5 C2 I
![]() 图 9
' D2 G/ b9 i7 {4 c) }3 P" g1 N2 x s) D- P) B8 v: }0 ~9 K
执行如下指令,打开“/etc/profile”环境变量配置文件:
- v# C$ ]/ B, [4 G9 q4 BHost# vi /etc/profile$ w$ T* I3 x- E
![]() 图 10, h8 D; D3 }3 N- h' m8 G
. a: V& f2 c$ m( w
参照如下方法将RTOS Processor-SDK开发包中的交叉编译工具链路径、RTOS组件配置脚本文件路径加入系统环境变量中。Ubuntu系统将自动执行setupenv.sh脚本配置RTOS Processor-SDK的环境变量,setupenv.sh脚本文件会跳转到pdksetupenv.sh脚本运行,并完成RTOS组件的路径配置。( \, c7 a% A7 M1 A2 d/ Z8 i
export SDK_INSTALL_PATH=/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05
- ^. Q( T) V2 g* V ssource /home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/processor_sdk_rtos_am57xx_4_03_00_05/setupenv.sh* ?$ W+ U) j' J2 I* J& w
![]() 图 11
/ b3 N. @8 e' U* J1 I5 r' H3 X2 Y/ o5 i% `& V4 R4 P' G
确认添加路径无误后保存退出。执行如下指令,使能交叉编译工具链,并验证环境变量是否已生效,然后重启Ubuntu。
; B f; q& B5 c# ?2 y0 K/ D5 dHost# source /etc/profile
! X N1 R# `1 b6 b5 EHost# echo $SDK_INSTALL_PATH
7 y t' g7 ?7 `% ]* p![]() 图 12
5 N' w' Y9 y6 Y9 e J" w! J2 z* X( W# X
- 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 路径" a# H" J( ]5 m) W/ M7 }4 K
按照前面步骤配置好RTOS Processor-SDK环境变量,如需编译整个RTOS Processor-SDK开发包,可进入processor_sdk_rtos_am57xx_4_03_00_05目录下执行以下命令编译。实际开发中一般无需编译整个RTOS开发包,只编译需要用到的RTOS组件即可。3 K- e1 O; c' q' R, f# ~. Z8 U
Host# cd ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/processor_sdk_rtos_am57xx_4_03_00_05/+ v. r* k4 E0 d3 K8 O. ^3 G
Host# make -j 8$ S- l6 l' L+ S1 `0 N' n, k
![]() 图 13% a% o$ {7 c) P$ [# S8 t: a
' B- E. H! [# m6 g+ g2 f本次操作用时约55min后(由PC性能决定),完成整个RTOS Processor-SDK开发包编译工作,结果如下图所示:" b- C# j/ ~$ A+ u8 j5 U
![]() 图 14) V% N8 G& Y: F0 B8 j5 b! [
+ j5 R" h3 Z, k! E5 t, B
IPC编译RTOS IPC开发包的编译依赖于RTOS Processor-SDK、Linux内核等,版本对应关系如下表:5 s6 M, ^0 R; s
+ ^/ ^6 M! v( x' T' {0 V4 ^表 24 e$ o/ p; ^+ `, |: M0 l% `# ]1 c
IPC版本4 r/ p$ }% x6 ?: `
| RTOS SDK版本
! m/ |1 d- \% Q/ h ` | CCS版本) }& M( x: S1 {* w
| 内核版本
# r7 H" |, u; [; K9 n7 T | 3.47.01.00
/ p* h1 I% L' F- g* m3 P | 04.03
# u0 e l5 j% ~/ N X | 7.4.05 @4 P8 {& K2 _, ?" K/ n- s5 T" D
| Linux-RT-4.9.65$ l- C$ C9 W$ K* Z4 v z3 T
| ( d. \0 U8 _5 f- e1 ]7 z
参照用户手册《Linux-RT Processor-SDK安装》文档配置好Linux-RT交叉编译工具链。参照《Linux-RT内核编译方法》文档,将光盘“Linux-RT\kernel\Linux-RT-4.9.65\src”目录下的Linux-RT内核源码解压到Ubuntu并编译内核。
* P; J# c- O4 H/ ^8 K将光盘"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核心的部分中断映射。
: V' l% U3 Y7 Y0 U# n( t' |9 D( w* L执行如下指令删除RTOS Processor-SDK原来的IPC开发包,并将ipc_3_47_01_00_v1.X.tar.gz压缩包解压替换。具体版本型号以实际为准。) n8 i7 J- C5 W* Z4 f' r- X+ s
Host# rm -r ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/ipc_3_47_01_00/" ]5 V" }- a' }7 w' {
Host# tar -xvf ipc_3_47_01_00_v1.0.tar.gz -C ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/* v2 Y7 D$ Y- \3 @( d9 F
![]() 图 15. \' v! Y* O7 R9 A( J3 m( O
% C9 n% ?. ?- x7 v& i
按照前面步骤配置好RTOS Processor-SDK环境变量,并替换TI RTOS Processor-SDK安装目录下的IPC开发包。进入ipc_3_47_01_00开发包目录,执行如下指令打开products.mak文件,参照如下方法配置IPC案例环境变量:
, }7 y" I) B. o2 F3 C; iHost# vi products.mak
- z ^. Z5 ~; ]% k% c5 K![]() 图 169 @9 a- A/ A( w" o. \8 g+ ^
0 \, @2 Z$ Z& G$ s) ]+ E0 L- B49 PLATFORM = DRA7XX //平台名称5 ? @4 N* g5 _/ M9 [
63 TOOLCHAIN_LONGNAME = ARM-linux-gnueabihf: J3 j5 o, p" h0 p I/ I5 i4 p
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交叉编译链
+ g6 s' a5 e- d" G69 KERNEL_INSTALL_DIR = /home/tronlong/AM57xx/kernel/Linux-RT-4.9.65/4 B" c. d% k/ T" Z5 v! I
100 XDC_INSTALL_DIR = ${XDC_INSTALL_PATH} O) r8 [5 d* i& Y
101 BIOS_INSTALL_DIR = ${BIOS_INSTALL_PATH}
0 S+ y+ ~6 G! Z. N/ v8 R+ J113 ti.targets.elf.C66 = ${C6X_GEN_INSTALL_PATH}
) A/ t1 h% m& x ?1 |121 ti.targets.arm.elf.M4 = ${TOOLCHAIN_PATH_M4}
- F3 R% t+ C# l9 U( q128 gnu.targets.arm.A15F =${TOOLCHAIN_PATH_A15}
1 R5 x6 K% u! G& g, @![]() 图 17
& C4 c6 U( ^- Q; _2 H% |
. d' t& Q. h1 C" P7 M8 v# B![]() 图 18
; K8 ?. X. L3 J
( h, W* W/ J% e. x1 z修改完成保存退出。在“/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/ipc_3_47_01_00”目录下,执行如下指令进行IPC编译配置并编译IPC链接库。9 ]. a- X0 ^, V- \& v7 O9 H9 m
Host# make -f ipc-linux.mak config //IPC编译配置
% h, \# D) N. s% C+ CHost# make //编译IPC链接库
t! T* T ]* L# N: S![]() 图 19
2 J& ]7 o0 b- N1 X- Q" L
& }' D5 I* I% q6 T4 s![]() 图 20
& ^% A+ f( A9 p4 w- K![]() 图 21
& J& K# z. i/ _! G# z; `5 |$ S' b V& L4 E" A
执行如下指令编译整个IPC开发包相关依赖文件,本次编译用时约40min。% R9 T5 u8 a5 j+ I
Host# make -f ipc-bios.mak all
( b3 \& q( f3 K/ Z+ A9 P7 v![]() 图 22
* @4 L+ y2 ~( M+ `2 T4 _
& p! v* b' I" k- p+ F![]() 图 23
9 c6 x' v# {* }0 b, r& w, r( d6 U: a) b
|
|