Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127868
  • 博文数量: 13
  • 博客积分: 110
  • 博客等级: 一等列兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-07 15:26
文章分类

全部博文(13)

文章存档

2012年(2)

2011年(11)

分类: LINUX

2011-07-02 17:45:27

1. DAVINCI平台,TI在硬件上给予双核架构强有力的支撑,在DSP端用DSP/BIOS来支持音视频算法的运行,在ARM端用MontaVista Linux(MV)来支持其对外设的管理。对于ARMDSP之间的数据交互,则用Code EngineCodec Server来加以管理。

2. DAVINCI的开发程序分为codec部分和应用程序部分。开发应用程序前,需要搭建软硬件开发环境。硬件环境包括:DAVINCI开发板DVEVM(TMS320DM6446DSPARM的双核芯片及丰富的外设)CCD摄像头、LCD显示器、硬盘(如果不用NFS来映射文件系统,则可通过本地的硬盘上的文件系统)、串口线。其次是与DVEVM配套的ARM端软件开发环境。环境搭建好后,需要对Linux主机进行相关配置才能使用DVEVM开发板。对嵌入式系统开发,开发板上首先需要一个bootloader来初始化硬件,然后会通过bootloader的参数设置来启动系统。如启动bootloader后,通过tftp来下载MV Linux内核镜像文件到内存运行内核,然后通过NFS来启动Linux主机上的目标文件系统,并通过DHCP服务器来为开发板分配IP地址,这样就可以进行基于IP的网络视频应用开发。下面配置ARM端软件开发环境的各个模块。

3. TFTP服务器的配置:
>
检查Linux是否安装了TFTP服务
$ rpm -qa|grep tftp
tftp-0.32-4
tftp-server-0.32-4
否则从Linux安装盘重新用rpm安装tftp相关模块,并打开tftp的服务。

4. 配置NFS服务器:
NFS
是一种在网络上的机器间共享文件的方法,文件就如同位于客户的本地硬盘驱动器上一样。可以将之看成是一种文件系统的格式,Red Hat Linux既可以是NFS服务器也可以是NFS客户,这意味着它可以把文件系统导出给其他系统,也可以挂载从其他机器上导入的文件系统。DVEVMNFS主要用来把主机Linux上的MV Linux映射到DVEVM板上去,使得DVEVM在自身无文件系统的情形下,可以正常的执行各种任务。

5. DHCP服务器的配置:
Linux主机和DVEVMIP。比较简单。

6. bootloader的烧写:
是操作系统内核运行前运行的一段程序,通过这段程序来初始化硬件设备、建立内存空间的映射表,从而将系统的软硬件环境初始化,以便为最终调用操作系统内核准备正确的环境,烧写前准备如下软硬件设施:
软件部分:U-Boot image(即文件u-boot.bin);文件falshwriter.outCCS 3.2或以上版本
硬件部分:>连接到DAVINCI DVEVMJTAG硬件仿真器;
          >
一条连接PCDACINCI DVEVMRS323的串口线;
          >
跳线J4应该被标识为"CS2 SELECT",并确认"FLASH"被选择;
          >
使S312设置为OFF
准备好上述软硬环境后,即可以开始烧写了,烧写例程见附录(U-boot example.rar),烧写过程很简单,累死emulation.

7. 设置DVEVM的启动参数
#setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=......
详细参数说明见U-BOOT说明文档。

至此,我们ARM端的初步开发环境建立起来了,可以做一些比较简单的开发程序,如例:
$mkdir ~/workdir/filesys/ope/hello
$cd ~/workdir/filesys/ope/hello
$vi hello.c
#include
int main() {
printf("hello world! welcome to DAVINCI test");
return 0; }
$arm_v5t_le-gcc hello.c -o hello   /*
保存后,用交叉编译工具arm_v5t_le-gcc编译程序:
*/
#cd /opt/hello    /*
编译生成二进制文件hello后,启动DAVINCI DVEVM板,通过超级终端运行下命令
*/
#./hello

 

阅读(1831) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~