计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

1.引言 近几年,国内在嵌入式无线联网领域发送(2)

2013-05-06 18:02
导读:本文选用 Hi3510 自带嵌入式Linux-2.6.14 内核操作系统,开发前需要搭建开发环境,可以安装一款Fedoral 9.0 服务器,同时建立交叉编译器、安装SDK 包。SDK 是基

  本文选用 Hi3510 自带嵌入式Linux-2.6.14 内核操作系统,开发前需要搭建开发环境,可以安装一款Fedoral 9.0 服务器,同时建立交叉编译器、安装SDK 包。SDK 是基于Hi3510视频评估板的软件开发工具,包含了在Linux 相关应用开发时使用的各种工具及其源代码,是用户开发中最基本的平台软件。通过make menuconfig 配置内核可实现系统的量身定做,去除本系统无关部分,缩减内核,最后将配置后的内核使用mkimage 工具做成映像文件,通过网口下载到Hi3510 中。
  无线发送通过重新配置内核Usb Serial Driver 可实现其在内核的驱动部分,但需要把UsbDriver 的PID 和VID 设置成本模块的ID,即需要把PID 和VID 号增加到文件driversusbserial option.c 的结构体static struct usb_device_id 中,重新编译后便可支持无线发送模块。
  ID 更改步骤如下:
  path:
  linux-2.6.14driversusbserial
  file:
  option.c
  结构体:
  定义两个宏(DTM6211 的VID:0x1AB7 PID:0x6000):
  #define DTM6211_OPTION_VENDOR_ID 0x1AB7
  #define DTM6211_ OPTION_PRODUCT_COLT 0x6000
  增加到结构体中
  static struct usb_device_id option_ids[] = {
  { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
  …
  { USB_DEVICEDTM6211_OPTION_VENDOR_I , DTM6211_
  OPTION_PRODUCT_COLT) },
  }

  4.2 视频处理软件设计
  视频处理软件主要是对采集过来的视频数据进行H.264 压缩,编码中涉及的参数需调用SDK 提供的API 进行配置,其中包括图像组长度(GOP)、编码帧率(fps)、量化参数(maxqp)、比特率(bps)和用户数据的插入等,然后将压缩过的裸流,发送到USB 端口。
  其中关于配置摄像头部分,完成normal 为PAL 制式,mode 为GIF 格式的选择,其主要程序为:

(转载自中国科教评价网www.nseac.com )

step 1:
  fd = open("/dev/misc/tw2834dev",O_RDWR); /*: Open the A/D device, and config it.Default is TW2834*/
step 2:if ((mode != QVGA) && (mode != VGA) && (mode != SXGA))
  /*: config thd A/D devide normal(PAL/NTSC)*/
  ..........
step 3:switch (mode) /*: config VI mode(D1/CIF......)*/
  {
  case CIF:
  {
  hiRet = ioctl(fd,TW2834_SET_4CIF,&val);
  break;
  }
  .......
  }
  配置输入公共属性部分,主要完成工作模式为从模式,VIU 与A/D 芯片的接口类型BT656,通道分布模式四路CIF,BT656 为场模式等工作,其主要程序为:
  22222222222222222
  VSTART 输入通道号之后需要创建一个线程,使用pthread_create()函数,随后执行线程venc_start(),其核心程序如下:
/*step 1: Open video encoder*/
  hiRet = HI_VENC_Open(&venc_init);
/*step 2: Overlay must be close ,before VI pulic attribute is configed*/
  for (i = 0; i < 4; i++ )
  { HI_VI_DisableOverlay(i);}
/*step 3: VI chnnel must be disable, before VI public attribute is configed*/
  for (i = 0; i < 4; i++ )
  {HI_VI_DisableVIChn(i);}
/*step 4: VI must be disable, before VI public attribute is configed*/
  hiRet = HI_VI_DisableVI();
/*step 5: config public attribute for different mode*/
  struPubAttr.enMaster = VIDEO_CONTROL_MODE_SLAVER;
  struPubAttr.enInputNorm = VIDEO_ENCODING_MODE_PAL;
上一篇:1 引言 多金属氧酸盐(简称多酸),因其结构的复杂 下一篇:没有了