标题
DM6446,DM357,DM365 的交叉编译环境[MV arm_v5t_le-]的安装方法
clq
浏览(0) +
2010-06-13 15:05:46 发表
编辑
关键字:
DM6446,DM357,DM365 的交叉编译环境[MV arm_v5t_le-]的安装方法 其实是同一个程序,只是同时支持这些芯片. 其实本质上是一种 linux 交叉编译环境. 虽然它们基于 arm 但是你在网上找个 arm 的交叉编译环境弄出来的程序是没法用的. 其实步骤在 ti 的网站上都有,不过 linux 这玩意细节不弄好你是玩不转的,咳咳,很是讨厌. 其网址在 http://processors.wiki.ti.com/index.php/DMAI_GStreamer_Plug-In_Getting_Started_Guide 关键点为: -------------------------------------------------- MV toolchain installation
If your target hardware build requires the MV toolchain, install as
follows:
chmod ugo+x mvl_5_0_0801921_demo_sys_setuplinux.bin chmod ugo+rwx /opt # this might make some system administrators nervous ./mvl_5_0_0801921_demo_sys_setuplinux.bin --mode console --prefix /opt/mv_pro_5.0 cd /opt/mv_pro_5.0 sudo tar -xzf mvltools5_0_0801921_update.tar.gz # super user privileges needed for device files in the target file system
clq
其实就是下载一个 bin 文件然后执行. 完了在指定的目录 " /opt/mv_pro_5.0" 中会得到一个 mvltools5_0_0801921_update.tar.gz 文件,把它解压就行了. -------------------------------------------------- 完成这一步有几个关键的地方,首先是指定目录,可以指定别的,不过为了少点麻烦用这个好了. 一般来说要用 mkdir 命令自己建一个. 再一个很关键的是解压文件是正常情况下是不会有任何输出的,我在 colinux 映射的 windows 下解压过,出了一大堆的警告,后来放到 linux 自己的 ext3 分区上就没事了. -------------------------------------------------- 要编译程序的话还要指定工具集的路径,比如这样: export PATH="/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:$PATH" 然后就可以这样编译了: arm_v5t_le-gcc hello.c -static -o hello3 网上的教程都说要改如下 " gedit ~/.bashrc (最好在普通用户和Root用户都建立) 在最后加入下面命名: export PATH="/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:$PATH" 运行: source ~/.bashrc 使环境变量生效。 在命名行输入arm+[tab]会出现交叉编译工具。 " 我觉得这样使用别的工具时很容易混乱,出错很难查找,还是每次编译前设置一下比较好. 真要改环境配置也不要改 bashrc , 直接改 /etc/profile 比较好,要不别的用户下又不行了. 上面的编译命令中 -static 表示静态编译,因为目标板上经常丢三拉4的没这个那个库,来个静态的好了,当然某些程序是一定要动态库的.
clq
以上只是写普通程序的,要用 ti 的相关功能还要装其 sdk ,下面为网友写的完整教程. -------------------------------------------------- 1、安装ubuntu 安装大概10分钟会自动检查站点,看个人网速,之后会出现下载语言包(如果选择汉语),点跳过就行了。同步时间也可以跳过。再过几分钟就安装完了。 2、安装vmtools 最好先把光碟弹出,右键unmount,点install vmtools,安装完重启。 3、安装samba 一、安装samba sudo apt-get install samba sudo apt-get install smbfs 下载速度慢的话记得换个软件源。 二、创建共享目录 mkdir /home/cyh/share sodu chmod 777 /home/cyh/share 三、配置文件 1、备份配置文件 sodu mv /etc/samba/smb.conf /etc/samba/smb.conf.bak 2、创建新的samba配置文件 sudo vim /etc/samba/smb.conf ;#############smb.conf############# [global] ;创建工作组 workgroup=MYGROUP ;安全级别 security=share guest OK=yes [share] ;设置共享文件夹路径 path=/home/cyh/share browseable=yes writeable=yes 存盘退出。 四、测试 testparm 五、重启samba服务 sudo /etc/init.d/samba restart 六、重启。 七、映射 XP下右键“我的电脑”==》映射网络硬盘 输入IP及共享文件夹,OK。 4、安装目标板Linux sudo mkdir /opt/mv_pro_5.0 cd /tmp sudo chmod 777 mvl_5_0_0_demo_lsp_setuplinux_02_10_00_14.bin Sudo chmod 777 mvl_5_0_0801921_demo_sys_setuplinux.bin gksudo ./mvl_5_0_#_demo_sys_setuplinux.bin 安装目录设为/opt/mv_pro_5.0 gksudo ./mvl_5_0_0_demo_lsp_setuplinux_#_#_#_#.bin 同上 转到/opt/mv_pro_5.0解压里面的两个文件 sudo tar -zxvf mvltools5_0_0801921_update.tar.gz 解压要几分钟时间 sudo tar -zxvf DaVinciLSP_02_10_00_14.tar.gz 5、安装DVSDK软件包 sudo ./dvsdk_setuplinux_2_10_01_18.bin 安装在~/dvsdk_2_10_01_18 sudo ./xdctools_setuplinux_3_15_01_59.bin 安装在~/dvsdk_2_10_01_18/xdctools_3_15_01_59 完了删除安装文件。 6、安装A/V Demo文件 cd ~/dvsdk_2_10_01_18/clips sudo tar -zxvf data.tar.gz 7、安装Linux测试平台(LPTB) cd ~ sudo tar -zxvf Linux\ Preformance\ Test\ Bench-LPTB-02.03.00.02-beta.bin 完成后生成LPTB-02.03.00.02-beta文件夹 8、安装NFS文件系统 cd ~ sudo mkdir -p workdir/filesys cd workdir/filesys 复制montavista系统到当前文件夹: sudo cp -a /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/* . 比较久。 更改操作权限: sudo chown -R $USER opt 安装NFS服务包: sudo apt-get install nfs-kernerl-server 配置文件: sudo gedit /etc/exports 加入下面一行: /home/<useracct>/workdir/filesys *(rw,no_root_squash,no_all_squash,sync) 激活后重启NFS服务: sudo /usr/sbin/exports -av sudo /etc/init.d/nfs-kernerl-server restart 关防火墙: sudo iptables -F 9、测试共享文件系统 以下通过串口连接目标板后在超级终端输入: EVM # setenv nfshost 192.168.0.223 (hostIP) EVM # setenv rootpath /home/cyh/workdir/filesys (NFS目录) EVM# setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4 (设定为固定IP时,把dhcp改为分配的IP就行了。 EVM# setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=192.168.0.222 root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4) 10、建立开发环境 gedit ~/.bashrc (最好在普通用户和Root用户都建立) 在最后加入下面命名: export PATH="/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:$PATH" 运行: source ~/.bashrc 使环境变量生效。 在命名行输入arm+[tab]会出现交叉编译工具。 11、安装LSP支持包 复制MontaVista Linux Support Package到工作目录中,里面包含了Davinci的驱动。 sudo mkdir /home/cyh/workdir/lsp cd /home/cyh/workdir/lsp cp -R /opt/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci 12、为主机设置工作环境 cd ~/dvsdk_2_10_01_18 sudo gedit Rules.make 检查以下的设置,确保和实际路径相符: PLATFORM=dm365 DVSDK_INSTALL_DIR=$HOME/dvsdk_#_# XDC_INSTALL_DIR=$HOME/dvsdk_#_#/xdctools_#_# LINUXKERNEL_INSTALL_DIR=$HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500(更改) MVTOOL_DIR=/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le EXEC_DIR=$HOME/workdir/filesys/opt/dvsdk (更改) 然后依次运行: make clean make make install
clq
下面是一个搭建普通 arm 交叉环境的教程,注意这样编译出来的程序是不能在 DM 系列板子上的,不过其他东西都是一样的.其实按道理应该也只可以用的,可能是 arm 编译上还有什么细节,不管了,反正人家 ti 已经给你弄好了. -------------------------------------------------- arm嵌入式cross-2.95.3交叉环境的建立 2009-11-15 13:03 1 下载cross-2.95.3 http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-2.95.3.tar.bz2 2 安装cross-2.95.3 sudo mkdir /usr/local/arm sudo cp cross-2.95.3.tar.bz2 /usr/local/arm cd /usr/local/arm sudo tar jxvf cross-2.95.3.tar.bz2 3 修改环境变量PATH 在/etc/profile文件末尾加上 PATH=$PATH:/usr/local/arm/2.95.3/bin source /etc/profile #使其立即生效 arm-linux-gcc -v #检验是否安装成功 编写如下代码(也可以编写其他C代码): #include<stdio.h> int main() { printf("Hello,world!\n"); return 0; } 测试编译环境 arm-linux-gcc -o hello hello.c file hello 执行后出现如下信息表示通过: hello: ELF...... 遇到问题: 提示错误: arm-linux-gcc: Command not found PATH里有/usr/local/arm/2.95.3/bin, /usr/local/arm/2.95.3/bin/下有arm-linux-gcc文件,但是make的时候,就是找不到arm-linux-gcc 原因: export PATH=$PATH:/usr/local/arm/2.95.3/bin 是设置当前用户的PATH,而sudo执行make的时候,使用的是超级用户权限,那也就使用了超级用户的PATH(但是这个PATH里,并没有/usr/local/arm/3.4.1/bin) 解决办法: 先打开一个超级用户权限的shell: sudo –s 在当前shell下,设置环境变量: export PATH=$PATH:/usr/local/arm/2.95.3/bin 执行结果: root@dantes-laptop:/usr/local/arm# arm-linux-gcc -o hello hello.c root@dantes-laptop:/usr/local/arm# file hello hello: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped
clq
另外扯一下,好象开源系统的很喜欢生成一大堆无尽的文件夹,这种文件夹一但生成基本上在 windows 系统中就不能将其删除,比较奇怪.
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.