毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

ARM音视频采集与回放系统的设计(7)

时间:2016-12-21 11:37来源:毕业论文
图13 音频采集播放流程图 4.3 OSS音频驱动程序的实现 Linux下常用的声卡驱动程序主要有OSS和削LSA两种类型。最早出现在Linux上的音频编程接口是OSS(Open So


                           图13 音频采集播放流程图
4.3 OSS音频驱动程序的实现
Linux下常用的声卡驱动程序主要有OSS和削LSA两种类型。最早出现在Linux上的音频编程接口是OSS(Open Sound System,开放声音系统),它是由一整套完整的驱动程序(主要为内核驱动)模块组成,可为几乎全部的音频采集设备提供统一操作编程接口[17]。这两种框架各有特点,因为OSS构架出现比较早,而且比较成熟,所以我们选择OSS音频操作编程接口。
    对设备的打开、读写和控制是驱动程序为用户程序提供的最主要接口,分别对应于file_operation中的open()、read()、write()、ioctl()函数。
5. 系统移植与测试
该部分主要应用到的是 Vmweare Workstation 开发环境,另外还需要一些软件比如超级终端,dnw、ADS1.2、H-JTAG、Secure-CRT 等。在进行内核或文件等移植时,首先应该确定目标板用串口线与PC连接好,USB下载线驱动已安装并已连接。另外,我们还需要对一些配置文件或程序进行修改,从而让其适应我们的需求。
5.1 交叉编译环境的建立
嵌入式软件因被运行平台的软、硬件资源限制,其开发和调试不同于一般的应用软件。软件的开发在所谓的宿主机上运行,运行平台则被视为目标机。软件的调试需要宿主机和目标机之间的写作来交互进行,这种方式成为交叉开发[18]。
建立面向ARM的交叉编译环境,主要过程如下:
(1)下载源文件,准备编译的目录。
(2)内核头文件的设置。
(3)建立二进制工具。
(4)建立初始编译器。
(5)建立C链接库。
(6)建立全套编译器。
在 Linux 平台下,要为开发板编译内核,图形界面Qtopia,bootloader,还有其他一些应用程序,均需要交叉编译工具链。我们这里安装的是arm-linux-gcc-4.4.3交叉编译器。本设计使用的Vmweare Workstation开发环境,在Windows xp系统虚拟机上所用的linux系统为 Fedora 9。
5.2 BootLoader加载
BootLoader程序是嵌入式程序加载后运行的第一段软件代码,先于操作系统以及用户应用程序运行。它的主要任务就是把内核映像文件从NANDFLASH中读到内存中,之后再跳转到linux系统的内核入口接点来运行。BootLoader为把系统运行的软硬件的环境设定在一个正确的状态,以便接下来加载系统内核、运行用户应用程序。它主要的操作是把硬件设备初始化并将内存空间映射图建立好。我们常见的有VIVI、U-boot和ARMBOOT。
本设计采用的是 BootLoader supervivi,它可以提供对ARM920T内核的技术支持,并且还直接提供了对S3C2440A的板级支持。Supervivi 由vivi 发展而来,针对64M 和128M-1GB 开发板分别有supervivi-64M 和 supervivi-128M 两个文件,它们的用法和功能是一样的,我们统称为supervivi,只是在选择具体的文件时有所区分。在进行下载之前,首先在电脑准备好supervivi-128M这个文件,然后在电脑上安装串口线及USB下载线的驱动,使其能够与宿主机之间进行正常的通讯。然后,可以按照以下步骤进行操作。
   第一步:首先连接好电源线、串口线和USB 下载线,将目标板跳线拨到 Nor 启动模式下,然后启动电源。
第二步:打开超级终端和dnw 软件设置端口参数。波特率设置为115200,下载地址设置从 0x30000000 开始。Dnw参数设置如图14所示。
 
图14 dnw参数设置
第三步:将目标板上电,上电后超级终端显示如图15所示。然后根据上面的英文提示,输入相应的操作命令。
  ARM音视频采集与回放系统的设计(7):http://www.751com.cn/tongxin/lunwen_1387.html
------分隔线----------------------------
推荐内容