新闻搜索:
当前位置:中安网 >> 监控系统 >> 技术交流 >> 正文
基于TMS320DM270的长途客运车无线视频监控系统的设计
   来源:电子产品世界    点击数:   发布时间:2008年04月23日   

  uClinux内核移植

  uClinux是Linux的一个分支,源代码开放,并且被广泛的移植到多种CPU平台上。uClinux内核是由Linux内核根据所要运行的CPU裁减、修改而来的,因此它保持了原有Linux操作系统的主要优点,如稳定性好,出色的文件系统支持功能,完善的应用程序和驱动程序开发环境,以及Linux原有的完整的TCP/IP协议包。这样,当越来越多的嵌入式系统需要提供网络支持功能时,uClinux便成了首选的操作系统。

  uClinux的移植工作主要包括内核的修改、裁减与编译。

  首先是开发环境的建立。主要由目标系统硬件开发板和宿主PC机构成。先在宿主PC机上安装标准Linux发行版Red-Hat Linux和交叉编译工具arm-elf-tools-20030314.sh,再从网络上获得免费的uClinux内核源代码uClinux-dist-20041215.tar.gz,并在宿主PC机上执行tar zxvf uClinux-dist-20041215.tar.gz对其解压。

  其次是内核的修改。修改的文件主要有:

  1)uClinux-dist/linux-2.4.x/arch/armnommu/boot/compressed/head.S,启动文件。

  2)uClinux-dist/linux-2.4.x/arch/armnommu/boot/Makefile,启动配置文件,主要修改的是ZTEXTADDR(自解压代码的起始地址)和ZRELADDR(内核解压后代码输出起始地址)。

  3)uClinux-dist/linux-2.4.x/arch/armnommu/config.in,修改DRAM_BASE、DRAM_SIZE、FLASH_MEM_BASE和FLASH_SIZE,主要为确定SDRAM、FLASH的起始地址和大小。

  4)uClinux-dist/linux-2.4.x/arch/armnommu/Makefile,修改TEXTADDR来配置内核的起始地址。

  5)uClinux-dist/linux-2.4.x/drivers,修改并添加所需的驱动程序。

  6)uClinux-dist/linux-2.4.x/drivers/block/blkmem.c,ROM文件系统的定位修改。

  7)uClinux-dist/vendors/TI/dm270,修改硬件配置文件。

  8)uClinux-dist/linux-2.4.x/Makefile,选择CPU体系机构(ARCH?:=?armnommu)和交叉编译器(CROSS_COMPILE?=?arm-elf-)。

  对内核修改完毕后,在uClinux-dist目录下执行make menuconfig。在弹出的对话框中对内核进行配置和裁减。

  最后就是编译内核。依次执行make dep(编译相关依赖文件),make clean(在编译内核之前把内核清理干净),make(最终的编译命令),此时在images目录下生成了image.ram和image.rom文件,iamge.rom便是要烧写到FLASH中的内核映像文件。

  驱动程序设计

  设备驱动程序是内核的一部分,是操作系统内核和机器硬件之间的接口。Linux操作系统将所有的设备看作具体的文件,对与用户而言,可以通过设备驱动程序所提供的一组入口点(open()、close()、read()、write()、ioctl()等)来完成对设备文件的访问和控制。在Linux系统里,设备驱动程序提供的这组入口点是由结构

  static struct file_operations xxx_fops =
  {
  open:  xxx_open,
  release:  xxx_close,
  read:  xxx_read,
  write:  xxx_write,
  ioctl:  xxx_ioctl,
  };来向系统进行说明的。file_operations结构中的成员几乎全部是函数指针,所以实际上是函数跳转表,并根据具体硬件功能完成这些函数的编写。之后必须定义一个初始化函数
  static int __init xxx_init(void)
  {
  register_chrdev(major,"xxx",&xxx_fops);
  }

  向系统注册设备,登记驱动程序所提供的入口点。当应用程序对设备操作时,会根据file_operations结构中的函数指针找到相应的操作函数并进行调用。图3中的驱动程序都是按照上述来完成的。

  应用程序设计

  在应用程序中设计了两个进程:GPS进程和视频进程,应用程序流程图如图4所示。

点此在新窗口浏览图片

上一页      下一页
本文共 4 页,第  [1]  [2]  [3]  [4]  页

(编辑:Boxer)    【发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
网友评论:(只显示最新3条。评论内容只代表网友观点,与本站立场无关!)
热点内容推荐
CPS观察
编辑推荐
最新专题
最新商机