
嵌入式开发
文章平均质量分 59
zhanghuiliang
喜欢平平淡淡、键健康康的生活,和我爱的人一起。
展开
-
Linux的I2C驱动架构
最近因为工作需要涉及到了I2C总线。虽然我过去用过I2c,但看了 Linux kernel 后才发现,一个 layer 能被做到这样完善。1. Linux的I2C驱动架构Linux中I2C总线的驱动分为两个部分,总线驱动(BUS)和设备驱动(DEVICE)。其中总线驱动的职责,是为系统中每个I2C总线增加相应的读写方法。但是总线驱动本身并不会进行任何的通讯,它只是存在在那里,等转载 2008-07-08 10:10:00 · 459 阅读 · 0 评论 -
加载驱动模块时报错:insmod: couldn't find the kernel version the module was compiled for 。
这个问题是因为编译驱动时内核版本和目标机的内核版本不同。 运行一下uname -r得到内核的vermagic,运行modinfo 你的模块.ko得到模块的vermagic,看2者的区别。原创 2008-05-19 12:48:00 · 862 阅读 · 0 评论 -
NOR和NAND Flash存储器的区别
NOR和NAND Flash存储器的区别NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和转载 2008-05-19 15:47:00 · 402 阅读 · 0 评论 -
NAND闪存深入解析
对于许多消费类音视频产品而言,NAND闪存是一种比硬盘驱动器更好的存储方案,这在不超过4GB的低容量应用中表现得犹为明显。随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND正被证明极具吸引力。 NAND闪存阵列分为一系列128kB的区块(block),这些区块是NAND器件中最小的可擦除实体。擦除一个区块就是把所有的位(bit)设置为“1”(而所有字节(byte)设置为FFh)。有必要通转载 2008-05-19 15:57:00 · 1483 阅读 · 0 评论 -
一种改进嵌入Linux实时性的新型方案
写在前面,我的客户中有很多都对嵌入式操作系统的实时性非常关注。实时性对于某些电子设备非常重要,如雷达、汽车电子等等,我们需要设备在限定的时间内做出反应,这个时间也并不是越快越好,要考虑到实际要求、成本等各方面。 著名的实时性操作系统vxworks可以达到数十us的任务响应,但是vxwork的费用较为昂贵(年金USD 50,000,当然也有精简的收费方式会便宜些)。Montavista L转载 2008-05-24 22:38:00 · 781 阅读 · 0 评论 -
面向多媒体应用的嵌入式Linux实时性研究
首先对Linux系统的实时机制作了分析,然后根据多媒体应用的特点.通过改进Linux系统的实时性,构建了面向多媒体应用的嵌入式Linux系统。实验结果表明,该系统在实时性方面完全可以满足多媒体应用的需求。 当今信息社会,以多媒体为特征的信息技术和信息产业的发展及应用对人类社会产生的影响和作用愈来愈明显,愈来愈重要。多媒体技术的发展在很大程度上依赖于多媒体软件开发的水平。目前不管是支撑多媒体的系统转载 2008-05-24 22:54:00 · 677 阅读 · 0 评论 -
Linux环境下USB的原理、驱动和配置
什么是USB?USB是英文Universal Serial Bus的缩写,意为通用串行总线。USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的类型的设备。USB的发展已经超越了这些低速的连接方式,它现在可以支持几乎所有可以连接到PC上的设备。最新的USB规范修订了理论上高达480Mbps的高速连接。Linux内核支持两种主要类型的USB转载 2008-05-29 10:26:00 · 597 阅读 · 0 评论 -
移动存储器全面解析
似乎每天都有新的海量存储器标准问世。CompactFlash(CF)曾一度独步天下,但是今天,新设备制造商不得不在CF、安全数据(SD)、SDIO、多媒体存储卡(MMC)、 RS-MMC、MMC Plus、MemoryStick、XD-Picture(XD)和CE-ATA等等这些海量存储器之间做出选择。有时,一种新标准具有明显优势;而另外一些时候,新标准和已有标准又像是在重蹈Betamax与转载 2008-05-29 10:17:00 · 737 阅读 · 0 评论 -
Linux 实时技术与典型实现分析
本系列文章分两部分,第 1 部分阐述了实时的概念、衡量实时性的指标,详细地分析了嵌入式系统对 Linux 实时性的需求以及 Linux 在实时性方面的不足,然后简单地描述了三个著名的 Linux 实时实现,第 2 部分对一个典型的实时实现(Ingos RT patch)做了详尽的分析。一、实时的概念所谓实时,就是一个特定任务的执行时间必须是确定的,可预测的,并且在任何情况下都能保证任务的转载 2008-07-02 10:05:00 · 839 阅读 · 0 评论 -
什么是视频服务器
视频服务器使您可以在保留现有模拟视频监控设备的同时,将您的视频监视系统平滑升级到基于网络的视频监控系统,它非常适用于与现存的模拟CCTV(闭路电视监控)系统相集成。视频服务器为模拟视频设备带来了全新的功能特性,并彻底消除了系统对于同轴电缆、模拟监视器和DVR等专用设备的依赖。DVR将不再成为实现录像功能的必需品,因为在视频服务器的帮助下,视频图像可以通过标准的PC服务器来进行录制和管理。转载 2008-07-02 15:44:00 · 1020 阅读 · 1 评论 -
云台、RS485简介与区别
【云台】云台(Pan&Tilt&Zoom),缩写为PTZ。云台就是两个交流电机组成的安装平台,可以分别围绕一中心轴作水平和垂直的运动,将摄像机安装于其上,实现摄像机多个自由度运动的装置,满足对固定监控目标的快速定位,或对大范围监控环境的全景观察。目前有的云台还提供光圈、聚焦、变倍、雨刷、加热、红外开关等功能。PTZ 在安防监控是 Pan/Tilt/Zoom 简写,代表云台全方位(上下、左右转载 2008-07-02 15:45:00 · 6215 阅读 · 1 评论 -
I2C总线原理及应用实例
I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可转载 2008-07-08 09:55:00 · 1162 阅读 · 0 评论 -
JTAG接口解读
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers转载 2008-11-07 17:30:00 · 993 阅读 · 0 评论 -
嵌入式Linux文件系统及其存储机制分析
嵌入式系统与通用PC机不同,一般没有硬盘这样的存储设备而是使用Flash闪存芯片、小型闪存卡等专为嵌入式系统设计的存储装置,本文分析了嵌入式系统中常用的存储设备及其管理机制,介绍了常用的基于FLASH的文件系统类型。 1.嵌入式系统存储设备及其管理机制分析 构建适用于嵌入式系统的Linux文件系统,必然会涉及到两个关键点,一是文件系统类型的选择,它关系到文件系统的读写性能、尺寸大小;另一个转载 2008-05-20 22:43:00 · 572 阅读 · 0 评论 -
在U-boot中添加加命令
最近想再U-boot中加一个USB下载文件的命令,就研究啦一下U-Boot中的命令工作原理!原理:每个命令都有一个命令结构体struct cmd_tbl_s {char*name; /* Command Name*/intmaxargs; /* maximum number of arguments*/intrepeatable; /* autorepeat allowed?*/int转载 2008-05-19 15:12:00 · 672 阅读 · 1 评论 -
嵌入式Linux系统下MPEG-4专用编码器驱动设计
<!-- --> 摘要:嵌入式视频监控的方案设计已有众多论述,但针对实现过程中Linux下视频MPEG-4编码的驱动设计鲜有提及。本文以视频编码芯片IME6410的驱动设计为实例,主要论述了基转载 2008-07-10 16:45:00 · 1619 阅读 · 0 评论 -
基于嵌入式WEB的视频服务器的设计
作者: 范金刚 陈雷霆 2006-01-04 摘 要 本文介绍了一个基于嵌入式WEB技术的网络视频监控系统的设计与实现,重点阐述其嵌入式服务器转载 2008-07-10 17:04:00 · 1062 阅读 · 0 评论 -
嵌入式Linux系统CGI程序设计技术
摘要:在详细介绍一种嵌入式Web服务器BOA的实现与配置方法的基础上,以一个Web在线远程监控GPIO(通用输入/输出)的程序为实例,介绍嵌入式Linux系统下CPU程序设计技术。 关键词:嵌入式系统Linux BOA CGI GPIO1 概述随着互联网应用的普及,越来越多的信息化产品需要接入互联网通过Web页面进行远程访问。嵌入式Web系统提供了一种经济、实用的互联网嵌入式接入转载 2008-07-11 10:51:00 · 919 阅读 · 0 评论 -
基于MPEG-4和RTP的网络视频监控系统研究
文/北京邮电大学通信网络综合技术研究所 龚猷龙 刘勇 摘 要:随着计算机、网络及多媒体通信技术的发展,视频监控在业界得到了广泛的应用,许多先进的技术被逐渐引入视频监控系统。本文采用了递进的方式,先介绍了IP网络视频监控系统的组成及其关键技术,接着阐述了MPEG-4视频流的RTP分组净荷格式。最后,在视频流的RTP传输中,着重分析了MPEG-4视频流的封装格式,并给出相应的实现方法。转载 2008-07-10 09:57:00 · 813 阅读 · 0 评论 -
嵌入式Web 服务器Boa 的移植及其应用
随着嵌入式技术的发展和高速宽带网络的普及, 利用网络实现远程监控已为人们广泛接受, 嵌入式网络监控技术正是在此条件下逐步发展成熟起来的. 用户使用Web 浏览器, 通过以太网远程访问内置Web 服务器的监控摄像机, 不但可以实现对现场的远程视频监控, 而且可以向监控现场发送指令. 在整个系统的实现过程中, 嵌入式Web 服务器起着十分重要的作用, 因此, 在嵌入式网络视频监控系统中,Web转载 2008-07-11 10:50:00 · 859 阅读 · 0 评论 -
zImage内核镜像解压过程详解
本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核的解压过程。 内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并且跳转到zImage开始地址运行zImage的过程,相信大家都很容易理解。但对于zImage是如何解压的过程,就不是那么好理解了。本文将结合部分关键代码,讲解zImage的解压过程。 先看看zI转载 2008-07-17 21:07:00 · 910 阅读 · 0 评论 -
介绍嵌入式应用中存储器类型的选择技巧
存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需转载 2008-05-16 09:59:00 · 588 阅读 · 0 评论 -
存储器分类及定义
一、RAM(Random Access Memory,随机存取存储器) RAM的特点是:电脑开机时,操作系统和应用程序的所有正在运行的数据和程序都会放置其中,并且随时可以对存放在里面的数据进行修改和存取。它的工作需要由持续的电力提供,一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复。 根据组成元件的不同,RAM内存又分为以下十八种: 01.DRAM(Dynamic RAM,转载 2008-05-16 09:57:00 · 2353 阅读 · 0 评论 -
U-BOOT的启动流程及移植
U-BOOT的启动流程及移植摘要:嵌入式系统一般没有通用的bootloader,u-boot是功能强大的bootloader开发软件,但相对也比较复杂。文中对u-boot的启动流程作了介绍,详细给出了u-boot在S3C44B0开发板上的移植方法和步骤。 关键词:bootloader;u-boot;嵌入式系统;移植;S3C44B01 Bootloader及u-boot简介Bo转载 2008-05-19 15:44:00 · 488 阅读 · 0 评论 -
如何制作嵌入式Linux文件系统
一、什么是文件系统 (Filesystem) 文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。 二、主要嵌入式采用的文件系统 * Linux 中,rootfs 是必不可少的转载 2008-05-20 22:42:00 · 508 阅读 · 0 评论 -
linux串口编程(要点总结)
串口编程查询硬件的方式:查询方式、中断方式、DMA方式。串口很多是使用中断方式,这种方式一般来讲对CPU比较有效。UART的操作主要包括以下几个部分: 数据发送;数据接受;产生中断;产生波特率;Loopback模式;红外模式;自动流控模式; 串口参数的配置主要包括:波特率、数据位、停止位、流控协议。在linux下操作串口与操作文件相同。在使用串口之前必须设置相关配置原创 2008-05-21 18:01:00 · 4021 阅读 · 3 评论 -
Linux中判断平台是大端或小端的方法
在arch/arm/kernel/Setup.c中有这样一段 static union { char c[4]; unsigned long l; } endian_test __initdata = { { l, ?, ?, b } };#define ENDIANNES转载 2008-05-21 20:26:00 · 2028 阅读 · 0 评论 -
BusyBox 1.11.2 编译错误解决
今天下载BusyBox1.11.2,make后出现这个错误。modutils/lib.a(insmod.o): In function `insmod_main:insmod.c:(.text.insmod_main+0xbc8): warning: warning: create_module is not implemented and will always failinsmod原创 2009-01-14 16:39:00 · 1938 阅读 · 0 评论