视频监控系统是一门集计算机技术、通信技术和数字视频技术于一体的综合系统。目前视频监控正向着数字化、网络化的方向发展。实现基于网络的视频监控系统的关键是一种嵌入式设备,它应该能够采集压缩视频数据并通过网络进行传输。 本文介绍了一种基于嵌入式Linux的网络视频监控系统的设计和实现方法。首先从整体上分析了网络视频监控系统的总体设计方案,给出了视频服务器的硬件框架和软件体系,并重点讨论了在ARM处理器上实现MPEG-4压缩编码的方法。其次在ARM硬件平台成功构建了armlinux嵌入式系统:包括引导程序Bootloader的设计、修改配置linux内核以及制作JFFS2文件系统。其中创新地提出了从nandflash启动U-BOOT具体设计方法。为了完成系统进一步的视频采集工作,系统实现了USB数码摄像头的驱动。在应用程序开发过程中,首先设计了基于Vide04Linux的视频采集程序,并采用mmap(内存映射)方式截取图片。其次重点分析了MPEG-4编码模型XVID程序中的运动估计部分,并研究了半像素快速搜索算法,从而减少了搜索点数提高了运算速度。最后利用开源JRTPLIB库实现视频数据流的RTP传送。 整个设计都是在深圳旋极公司研制的SUPER-ARM硬件平台上进行的,linux内核采用2.4.18。其中MPEG-4编码优化测试是在ARM DeveloperSuite(ADS)version 1.2中完成。 本课题为在ARM平台实现网络视频监控的设计做了有益的探索性尝试,对今后进一步完成远程嵌入式视频监控系统的设计有着积极的意义。
上传时间: 2013-07-21
上传用户:Altman
生化分析仪是医疗机构进行临床诊断所必须的仪器之一。它通过对血液等人体体液的分析来测定诸如葡萄糖、胆固醇等生化指标,这些常规生化指标可以帮助医生诊断疾病。生化分析仪在临床诊断和化学检验中具有重要作用。 目前的半自动生化分析仪多以8位单片机为中央处理器,限制了仪器的性能。本文将嵌入式技术应用于生化分析仪的研制当中,选用了32位的ARM9处理器$3C2410A,嵌入Linux操作系统,搭建ARM+Linux的平台,设计了智能型半自动生化分析仪。 本文介绍了生化分析仪的原理——朗伯.比尔定律及其核心部件——光电比色计。对半自动生化分析仪的整体架构进行了说明。 半自动生化分析仪硬件结构上由电源、时钟、复位电路,存储器系统,液路控制系统,光路控制系统,恒温控制系统(包括温度测量和温度控制),数据采集系统,人机交互系统(包括键盘、触摸屏、液晶显示器LCD和微型打印机)和其他一些接口等组成,对于这些外围硬件模块本文给出了详细设计。 在半自动生化分析仪软件设计方面,本文详细介绍了交叉编译调试环境的建立,引导装载程序U-BOOT的移植,Linux内核的裁减与移植,设备驱动程序的设计,文件系统的建立与移植,应用程序的编写与移植。 本生化分析仪的功能包括MiniGUI图形用户界面、运动控制、温度控制、数据处理、打印功能及SQLite数据库管理等。该新型半自动生化分析仪使用方便,性价比高,适用于国内的中小型医疗机构。
上传时间: 2013-04-24
上传用户:ca05991270
在工业生产中,二次自动化仪表是构成自动化系统的基本单元之一。我国的单元仪表己基本完成由电动Ⅲ型仪表向基于八位或十六位单片机为基础设计的数字化仪表的转换。由于常规单片机资源的限制,以单片机为基础设计的单元仪表基本上还是在功能上替代电动Ⅲ型仪表,并按电动Ⅲ型功能进行分类。这样造成国内自动化仪表生产厂家生产的二次数字化仪表品种繁杂,标准难以统一,设计随意性大。因此带来如下现实问题: 1.自动化系统设计单位的仪表选型、系统调试、使用中操作、维修和系统的功能优化及备件的准备非常的不方便: 2.仪表生产厂家的批量生产困难,产品质量的提高及成本的节约不利: 3.国内现在自动化仪表厂家数量众多,但都无法形成规模生产,质量不佳,而国外进口的二次仪表往往依附于特定的集散系统,也存在标准不统一,难以灵活替换的问题,且价格昂贵。 自动化系统设计、生产及应用迫切需要一种使用方便、通用性强的智能型二次仪表,以解决上述问题,改变传统设计、生产及应用方式,这将是未来自动化仪表的发展趋势,也就是本课题的努力方向。 本论文正是针对上述问题,以设计出一种可灵活组态的通用智能型二次仪表为研究对象,在深入分析国内主流仪表厂家的仪表操作方式和仪表功能的基础上,合理地进行软硬件设计,为在同一硬件平台下实现多种仪表的功能进行了创新性和探索性研究。主要内容为: 1.各种常规二次仪表功能、标准、接线、操作习惯及结构方式的归类分析; 2.多信号多量程的柔性测量方法研究; 3.系统整机设计以及系统可靠性设计; 4.U-BOOT的向ARM的移植、uClinux向ARM的移植、uClinux下的通用组态软件设计。 本文设计了一种以三星公司的ARM7TDMI系列处理器S3C44BOX为核心,辅以外围电路,实现同一硬件平台下多种仪表的功能,并成功制作了样品系统。 本文所讨论的基于$3C44BOX和uClinux的智能仪表系统的开发技术同样适用于其它项目的开发,对其它嵌入式的应用系统开发有重要的参考价值。
上传时间: 2013-05-16
上传用户:jjq719719
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是U-BOOT,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/U-BOOT下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131
固件作为目标板启动最核心程序,不仅仅需要引导操作系统,更重要的是需要实现所有硬件的初始化和自检等,方便设备的维护和保养。U-BOOT作为一款通用的开源固件程序,具有良好的可移植性和完整的功能。通过分析U-BOOT的目录结构和启动流程以及目标板的设计需求,来实现完成基于MPC8548E目标板的具体修改和移植,并增加关键硬件的自检功能,同时阐述通过设置环境变量来启动操作系统内核。对于不同的CPU和开发板,本U-BOOT的启动原理分析和移植有一定的借鉴意义。
上传时间: 2014-12-30
上传用户:lllliii
本书全面介绍了嵌入式Linux 系统开发过程中,从底层系统支持到上层GUI 应用的方方面面,内容涵盖Linux 操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、Makefile 语法、ARM 汇编指令等),硬件部件的使用及编程(囊括了常见硬件,比如UART、I2C、LCD 等),U-BOOT、Linux 内核的分析、配置和移植,根文件系统的构造(包括移植busybox、glibc、制作映象文件等),内核调试技术(比如添加kgdb 补丁、栈回溯等),驱动程序编写及移植(LED、按键、扩展串口、网卡、硬盘、SD 卡、LCD 和USB 等),GUI 系统的移植(包含两个GUI 系统:基于Qtopia 和基于X),应用程序调试技术。
上传时间: 2013-12-23
上传用户:life840315
armboot 源代码,简单易用,比U-BOOT简单,但支持的cpu较少
上传时间: 2013-12-11
上传用户:zhouchang199
Jollen-Kit! 2006 是非常積極進行中的專案,所有紀錄與更新將同步揭示於本網頁。 快速下載 U-BOOT 的 binary code:U-BOOT binary - 2006/01/03 Linux kernel 2.4.18 for jk2410:uimage.img - 2006/01/06 可開機的 Base root filesystem: urootfs.img -2006/01/07 (without tftp) 可開機的 Base root filesystem: urootfs2.img -2006/03/10 (Busybox 1.10 with tftp) GNU cross toolchain:arm-9tdmi-linux-gnu.tar.gz (armpath by Joe) 安裝方法: # cd / (切換到 / 根目錄) # tar jxf <路徑>/arm-9tdmi-linux-gnu.tar.gz (將檔案解開) "Hello, World!" 在 ARM9 的範例:hello_arm.tar.gz (使用Makefile) 其它工具與原始碼下載 驅動程式模組
标签: Jollen-Kit 2006
上传时间: 2015-06-16
上传用户:xz85592677
做嵌入式开发的,bootloader一般用U-BOOT 。不会用?? 那就看看这篇文章吧!~强烈推荐做嵌入式开发的看看!~
标签: 嵌入式开发
上传时间: 2014-11-29
上传用户:qq1604324866
立宇泰公司关于ARM7芯片s3c44b0x的bootloader,功能蛮强大的,比U-BOOT好入手。
标签: bootloader s3c44b0x ARM7 芯片
上传时间: 2013-11-26
上传用户:litianchu