TA的每日心情 | 奋斗 2020-3-25 15:17 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开发环境说明1 q; f& S! K0 R
表 11 }2 v) r" L9 N. s3 ]
开发板型号
/ z" R# l- L" N; A! Q1 r | 是否支持本实验
2 N1 f: x/ n3 C | TL570x-EVM
8 G, o" ~$ S! A: \ | 不支持
- G( d$ b1 p5 U | TL5728-EasyEVM; s( I" z4 r- M8 a" k6 }# a& z* {
| 支持
& R; }! x' j* m: k3 G t | TL5728-IDK1 L# }! ^3 A6 S
| 支持
% [0 F4 O7 d: J3 N7 b+ G. j6 ~( u | TL5728F-EVM
# B$ q2 K! \7 e: J& y' Q | 支持0 l3 V& G$ s$ E& z
|
" Z+ r# \; @2 I- 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。
: `# ~) z. V$ f$ C, _# d( ^% k1 U5 @: \ 基于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开发工具。
- {( a5 D7 [0 c: s6 c5 b @- p$ t( l
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,等待安装结束。: ?4 F- M, @8 b' `- H
Host#sudo apt-get install libc6:i386 R2 y ]& v$ o( ]9 k* F3 B
![]() 图 1' W) \1 B0 r+ o) m9 ?1 M6 @7 U
& j0 G& _2 f( Y% F: M& u
将光盘“Tools\Linux-RT\ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin”开发包拷贝到Ubuntu,执行如下指令安装RTOS Processor-SDK:
7 [4 [! H, s( x# {- SHost#chmod +x ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
. P& `0 s! u% ?. z h$ m( b5 HHost# ./ti-processor-sdk-rtos-am57xx-evm-04.03.00.05-Linux-x86-Install.bin) Y+ c6 K X; i6 o$ F2 p* u
![]() 图 2
6 C! E) R9 K* i! a. Z( h# K) p6 \. `3 T7 L( _ r* Y2 `1 |
![]() 图 3
, ~, ?+ E, Z) f2 R8 { D7 V+ j
4 @) r0 {! f( e( J$ f在弹出的安装界面中点击Next选项,进入“Select Components”安装组件选择界面,默认全选,点击Next进入下一步:+ y( b3 I1 r: r
![]() 图 4" ^- b/ m% o2 m6 k, |
# Z& d$ n u) w9 c3 m
进入安装目录选择界面,将“/home/tronlong/ti”默然安装目录修改为“/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05”,也可以根据实际情况选择安装路径。如下图所示:
5 P, d- G& |/ _![]() 图 5
2 Z# F# }' \% W7 T5 W3 B0 ^- s) \; _2 n' L/ n g
连续点击Next,进入到RTOS Processor-SDK开发包安装界面如下图所示:* {4 P8 x! R0 k1 U$ e
![]() 图 6' s @4 s8 X: o$ I
' k4 H, a2 s, U' z7 i% `% r
耗时约3min后安装完成,“/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05”安装目录内容如下图所示:* K7 F2 C* |# F' w' c& Z' W6 b
![]() 图 7
! x. d8 w ~9 B5 e. `1 N8 O m( S; T- g2 _8 M! G
![]() 图 8
5 R+ E: K3 D" y" @0 v8 H+ @4 N/ x$ X- M, @9 C
RTOS开发环境配置将光盘“Tools\Linux-RT\pdksetupenv.sh”文件替换掉“ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/pdk_am57xx_1_0_10/packages/”目录下的同名文件,该脚本文件主要用于RTOS组件的路径配置。
, n# n% A7 j( p& C![]() 图 95 O& v, X5 V% J9 K* k O
' o$ S2 W0 M5 m; J+ o+ @
执行如下指令,打开“/etc/profile”环境变量配置文件:9 [- }- H1 z; y G' T
Host# vi /etc/profile
3 F( ~6 a! M8 k0 Z) i* ?1 {% c![]() 图 10
% N2 Z, U! ?. w, Z7 |2 G. Z' S/ L4 M" q* y6 w. x7 H" |! O" p
参照如下方法将RTOS Processor-SDK开发包中的交叉编译工具链路径、RTOS组件配置脚本文件路径加入系统环境变量中。Ubuntu系统将自动执行setupenv.sh脚本配置RTOS Processor-SDK的环境变量,setupenv.sh脚本文件会跳转到pdksetupenv.sh脚本运行,并完成RTOS组件的路径配置。; ^1 u, i$ R- H V
export SDK_INSTALL_PATH=/home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.055 ^% Q3 o; f" W: F" d
source /home/tronlong/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/processor_sdk_rtos_am57xx_4_03_00_05/setupenv.sh
7 q4 o: X: j$ D3 n8 P" p& r. |5 x$ G3 u![]() 图 11
4 }& k$ l( r- r1 y$ n0 a* d f" R. k9 b- X S
确认添加路径无误后保存退出。执行如下指令,使能交叉编译工具链,并验证环境变量是否已生效,然后重启Ubuntu。/ o1 e( r$ T- j4 s5 b) p$ V. g# E4 r2 B2 W
Host# source /etc/profile7 a: j9 u$ p9 d: y+ ^, b
Host# echo $SDK_INSTALL_PATH
% |8 u5 n: e7 M4 } _) j+ ?![]() 图 12
. G9 E7 y. C9 {' X, m' ?% O1 r. g# G
- 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 路径; [+ E6 o' K- B) A$ p# b
按照前面步骤配置好RTOS Processor-SDK环境变量,如需编译整个RTOS Processor-SDK开发包,可进入processor_sdk_rtos_am57xx_4_03_00_05目录下执行以下命令编译。实际开发中一般无需编译整个RTOS开发包,只编译需要用到的RTOS组件即可。2 W& t$ s; _ y/ U( z
Host# cd ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/processor_sdk_rtos_am57xx_4_03_00_05/' Y6 g6 C3 e' l7 W# _9 ^
Host# make -j 80 P. B& X' `6 ?4 H2 e$ h) V
![]() 图 13# `8 j, p" K& j5 {* t
5 P* p) R" Z- J/ l, T
本次操作用时约55min后(由PC性能决定),完成整个RTOS Processor-SDK开发包编译工作,结果如下图所示:
1 {- m& V! j2 g5 ?1 ~5 o* k![]() 图 14; k8 I7 D Z# C7 a+ ?; {) C
. S2 v6 F* i: F9 X* K, I' T7 Y
IPC编译RTOS IPC开发包的编译依赖于RTOS Processor-SDK、Linux内核等,版本对应关系如下表:
7 u+ }$ m g/ {" \
- h! s9 M3 W; `/ f& B) O, Y# l! C表 2
; s# L, t7 @; M# g/ \IPC版本8 p; }+ p! i2 ]' e' E# p
| RTOS SDK版本
' U# O" f- U+ J: k9 k+ _ | CCS版本; J" a! @/ c. Z& T, _
| 内核版本0 R4 a I8 |0 f7 g% D( Y5 {
| 3.47.01.00
: L2 P; M2 g8 D1 A. D# ?2 }9 X | 04.03* H( ? l+ c5 ^' Y1 V. o, q% {
| 7.4.0
, D8 R8 F. Y+ ^ | Linux-RT-4.9.656 ?, R/ w/ J8 _% p# p
|
6 a, z( Z& y. K' ^6 u# ~2 ~: [参照用户手册《Linux-RT Processor-SDK安装》文档配置好Linux-RT交叉编译工具链。参照《Linux-RT内核编译方法》文档,将光盘“Linux-RT\kernel\Linux-RT-4.9.65\src”目录下的Linux-RT内核源码解压到Ubuntu并编译内核。
; c% p( a- h% P$ j将光盘"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核心的部分中断映射。( s' ]! e6 ]( Q' G R
执行如下指令删除RTOS Processor-SDK原来的IPC开发包,并将ipc_3_47_01_00_v1.X.tar.gz压缩包解压替换。具体版本型号以实际为准。% L. n/ L$ e' Q: S5 P2 F
Host# rm -r ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/ipc_3_47_01_00/
8 z; d5 D) p. p, @Host# tar -xvf ipc_3_47_01_00_v1.0.tar.gz -C ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/
/ E) g8 v' X4 H w![]() 图 15, y3 I& w$ o# A8 S1 K) E3 n
3 [, v6 x d/ l" t% ^4 [' B z: R$ x) v8 g
按照前面步骤配置好RTOS Processor-SDK环境变量,并替换TI RTOS Processor-SDK安装目录下的IPC开发包。进入ipc_3_47_01_00开发包目录,执行如下指令打开products.mak文件,参照如下方法配置IPC案例环境变量:: W2 U& ^ X& Z
Host# vi products.mak
, H; [5 |7 b- F) _7 z![]() 图 16: q3 y" L" m# t: y! b- i6 r
8 q: x3 y$ n6 v49 PLATFORM = DRA7XX //平台名称6 r& m8 h* y. I5 X& z9 x! W
63 TOOLCHAIN_LONGNAME = ARM-linux-gnueabihf
* {$ s6 _7 u- ~( ^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交叉编译链
4 o% V& Y8 e: x1 l. o! b69 KERNEL_INSTALL_DIR = /home/tronlong/AM57xx/kernel/Linux-RT-4.9.65/
# v( w7 k: f$ d& w/ C# {/ C100 XDC_INSTALL_DIR = ${XDC_INSTALL_PATH}
" h; J" ~0 [& r8 A1 I; }1 i6 d101 BIOS_INSTALL_DIR = ${BIOS_INSTALL_PATH}8 p5 n% V( X; X5 t
113 ti.targets.elf.C66 = ${C6X_GEN_INSTALL_PATH}: V3 X2 Z5 y+ i* H! d! ?* A
121 ti.targets.arm.elf.M4 = ${TOOLCHAIN_PATH_M4}3 d, m4 J+ L1 t9 X. i/ @/ f
128 gnu.targets.arm.A15F =${TOOLCHAIN_PATH_A15}% k; N+ ~3 G: g- i+ i, ?5 j2 G
![]() 图 17; @) J/ N5 W- G
1 C$ Q$ K. V( n' k' v+ q3 U![]() 图 18- T- I' X( r3 l* c$ i9 J
9 h3 d# h- c& Y. x9 C
修改完成保存退出。在“/ti-processor-sdk-rtos-am57xx-evm-04.03.00.05/ipc_3_47_01_00”目录下,执行如下指令进行IPC编译配置并编译IPC链接库。
& A/ T% w) t/ a' C( BHost# make -f ipc-linux.mak config //IPC编译配置& C/ u2 Y# k3 e% c" O
Host# make //编译IPC链接库# I+ N1 E F% B
![]() 图 19; m" l! Z5 H2 V( S0 p
! a6 D* u% R+ o9 F# S! u1 R7 l
![]() 图 20: K6 S$ a8 }$ {% h7 F0 t0 i: j
![]() 图 21! v3 {% d7 T( M
/ x5 l& H5 [ e% @' n0 A9 U/ U执行如下指令编译整个IPC开发包相关依赖文件,本次编译用时约40min。4 Z5 P6 l- q$ m7 F+ H
Host# make -f ipc-bios.mak all! G1 z4 Z2 r1 F& |& B( z) c
![]() 图 22) X4 S4 @5 h! J7 b0 _8 z3 _6 v
0 [! H( a$ m/ g' e# D" ]/ B# y
![]() 图 23: H5 l# l8 f: m
2 H! X/ j- I! P3 t% ` |
|