DSP

【转】DAVINCI开发原理之一----ARM端开发环境的建立(DVEVM)

2019-07-13 11:52发布

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://gs5689.blogbus.com/logs/35617451.html
1. 对DAVINCI平台,TI在硬件上给予双核架构强有力的支撑,在DSP端用DSP/BIOS来支持音视频算法的运行,在ARM端用MontaVista Linux(MV)来支持其对外设的管理。对于ARM与DSP之间的数据交互,则用Code Engine和Codec Server来加以管理。 2. 在DAVINCI的开发程序分为codec部分和应用程序部分。开发应用程序前,需要搭建软硬件开发环境。硬件环境包括:DAVINCI开发板DVEVM(含TMS320DM6446的DSP和ARM的双核芯片及丰富的外设)、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客户,这意味着它可以把文件系统导出给其他系统,也可以挂载从其他机器上导入的文件系统。DVEVM的NFS主要用来把主机Linux上的MV Linux映射到DVEVM板上去,使得DVEVM在自身无文件系统的情形下,可以正常的执行各种任务。
5. DHCP服务器的配置:
配Linux主机和DVEVM的IP。比较简单。
6. bootloader的烧写:
是操作系统内核运行前运行的一段程序,通过这段程序来初始化硬件设备、建立内存空间的映射表,从而将系统的软硬件环境初始化,以便为最终调用操作系统内核准备正确的环境,烧写前准备如下软硬件设施:
软件部分:U-Boot image(即文件u-boot.bin);文件falshwriter.out;CCS 3.2或以上版本
硬件部分:>连接到DAVINCI DVEVM的JTAG硬件仿真器;
          >一条连接PC与DACINCI DVEVM的RS323的串口线;
          >跳线J4应该被标识为"CS2 SELECT",并确认"FLASH"被选择;
          >使S3的1和2设置为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