在ubuntu16.04上安装DM3730的 dvsdk
下载
交叉编译工具
到
https://sourcery.mentor.com/sgpp/lite/arm/portal/release858
0_06/index_FDS.html
下载
arm-2009q1-203-arm-none-linux-gnueabi.bin
DVSDK
到
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_02_00_06/index_FDS.html
下载
dvsdk_dm3730-evm_4_02_00_06_setuplinux
cmake
到http://ftp.gnu.org/gnu/make/make-3.81.tar.gz下载make,一定要3.81版本的。
百度云下载
链接: https://pan.baidu.com/s/1_u3P_EUQVMt_b8VQY4Pq8A
提取码: z9x3
安装交叉编译工具
1.修改 /etc/lsb-release 文件里的内容
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
为
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.6 LTS"
2.在终端执行
sudo dpkg-reconfigure -plow dash
中间选择 选项
3.执行
sudo ./arm-2009q1-203-arm-none-linux-gnueabi.bin
安装时修改安装路径为/opt/arm-2009q1
修改链接文件夹为/opt/arm-2009q1/CodeSourcery
安装完成后
执行
vim ~/.bashrc
在文件末尾加上
export PATH="/opt/arm-2009q1/bin:$PATH"
保存,退出,执行
source ~/.bashrc
安装DVSDK
在终端运行
sudo apt-get install lib32stdc++6 fakeroot
然后执行
./dvsdk_dm3730-evm_4_02_00_06_setuplinux.bin
修改交叉编译链路径为/opt/arm-2009q1/bin
编译make3.81
解压 make-3.81.tar.gz
进入解压后的目录
配置编译 --prefix=要安装的目录
./configure --prefix=install
编译
make -j8
安装
make install
在 ~/.bashrc后加上
export PATH=/home/linux/workspace/make-3.81/install/bin:$PATH
注意 export PATH=make的安装目录:$PATH
然后
source ~/.bashrc
执行
make -v
出现下面,说明安装完成
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-unknown-linux-gnu
编译DVSDK
1 到 安装好的dvsdk的目录ti-dvsdk_dm3730-evm_4_02_00_06
执行, 注意不能用 make -jn加速
make
出现下面错误
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
make[2]: *** [kernel/timeconst.h] 错误 255
make[1]: *** [kernel] 错误 2
make[1]: Leaving directory `/home/linux/ti-dvsdk_dm3730-evm_4_02_00_06/psp/linux-2.6.32-psp03.00.01.06.sdk'
make: *** [linux] 错误 2
编辑
vim psp/linux-2.6.32-psp03.00.01.06.sdk/kernel/timeconst.pl
修改373行
373 if (!defined(@val)) {
374 @val = compute_values($hz);
375 }
为
373 if (!@val) {
374 @val = compute_values($hz);
375 }
继续执行
make
出现错误
Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at /home/linux/ti-dvsdk_dm3730-evm_4_02_00_06/dsplink_1_65_00_02/dsplink/config/bin/dsplinkcfg.pl line 2069.
make: *** [dsplink_cfg] 错误 255
编辑
vim dsplink_1_65_00_02/dsplink/config/bin/dsplinkcfg.pl
修改2069行
2069 if (defined (%fs)) {
2070 if ($fs {'ID'} eq 'PSEUDOFS') {
2071 $tempStr .= " KFILE_PSEUDO " ;
2072 }
为
2069 if (%fs) {
2070 if ($fs {'ID'} eq 'PSEUDOFS') {
2071 $tempStr .= " KFILE_PSEUDO " ;
2072 }
修改 2574行
2574 if (defined (%fs)) {
2575 $text .= "# ===================================================== ====\n" ;
为
2574 if (%fs) {
2575 $text .= "# ===================================================== ====\n" ;
执行
make clean
make
最后
编辑
sudo vim /etc/lsb-release
修改
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.6 LTS"
为
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
删除make3.81环境(可选)
vim ~/.bashrc
删除
export PATH=/home/linux/workspace/make-3.81/install/bin:$PATH