虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

ARM<b>ucLINux</b>

  • 基于ARM的图像采集系统的设计

    近年来,随着计算机和通信技术的飞速发展,特别是网络的迅速普及和3C(计算机、通信、消费电子)合一的加速,微型化和专业化成为发展的新趋势,嵌入式产品已经成为了信息产业的主流,嵌入式系统技术也成为目前电子产品设计领域最为热门的技术之一,目前已经广泛地应用于军事国防、消费电子、网络通信、工业控制等各个领域。本文在研究视频采集发展现状和趋势的基础上,设计了一种基于32位处理器的嵌入式图像采集和传输系统。此套硬件系统可应用于LCD显示屏、桌面视频、多媒体、数字电视机、图像处理、可视电话和远程户外图像采集等领域。 该图像采集系统在硬件系统上以ARM芯片S3C44BOX为核心,利用CMOS图像传感器采集图像;以FIFO帧存储器暂存图像数据,解决了ARM芯片与图像传感器之间速率的不同步问题;并充分利用了FPGA/CPLD高性能、低功耗、低成本的优点,用CPID器件控制整个图像采集的时序逻辑。在软件平台移植了嵌入式操作系统’uClinux,并在此基础上开发了底层的驱动程序和应用程序。体积小巧,具备图像采集、显示和远程传输功能和良好的可扩展性。 全文共分为五个章节,第一章主要介绍了论文的课题背景和图像采集技术的发展现状,介绍了论文的研究目标和研究内容。第二章从硬件和软件两方面阐述了嵌入式图像采集系统的总体设计方案,详细介绍了硬件开发平台嵌入式系统和软件开发平台嵌入式操作系统各自的定义和特点。第三章主要介绍基于ARM的图像采集系统硬件设计方面的内容,包括各个模块的具体实现方案、系统硬件性能分析和硬件电路的抗干扰设计等。第四章研究了基于uClinux平台的几个主要模块的软件设计,主要包括图像传感芯片的初始化和采集程序的实现、LCD控制器的初始化和图像显示程序的实现、以太网控制器的初始化和图像数据传输程序的实现。第五章是对全文的一个总结,概括了作者所做的工作,提出所存在的不足并对后续的研究工作做了进一步的展望。

    标签: ARM 图像采集系统

    上传时间: 2013-04-24

    上传用户:wangxuan

  • 基于ARM的液晶显示控制设计

    随着液晶显示技术的发展,我们的日常生活中出现了各种各样功能强大的显示系统。本文主要以液晶显示技术的基本原理为理论基础,探讨并比较了单片机和ARM微处理器作为液晶显示控制系统各自的优缺点,并设计和完成了~套基于ARM微处理器的液晶显示控制系统。 该系统以Samsung公司的ARM微处理器芯片S3C4510B为CPU,根据ARM微处理器的特点,本文系统地分析了电源及复位电路、晶振电路、Flash 存储器接口电路、SDRAM存储器接口电路、串行接口电路、JTAG接口电路以及10M/100M以太网接口电路的设计方法。同时,重点描述了液晶显示模块电路和键盘控制电路的设计与实现。在各个部分硬件电路的调试成功过后,介绍了Bootloader的下载以及uClinux操作系统的下载和编译。在液晶显示控制系统的软件设计部分,本文重点分析了在uClinux操作系统下进行的用户程序的开发。根据液晶显示模块的特点和对键盘控制电路的I/O口配置,对整个显示控制系统的程序设计作出了一定的分析。最终通过对系统的调试,实现了ARM微处理器系统对LCD液晶显示器的显示控制。

    标签: ARM 液晶显示 控制设计

    上传时间: 2013-04-24

    上传用户:change0329

  • 深入浅出ARM7-LPC213x214x下册B

    北京航空航天大学出版社,深入浅出ARM7--LPC213x214x下册,周立功等编著。本书全面介绍了以LPC213x/LPC214x两个系列ARM芯片为硬件平台的各种应用开发,详细分析了嵌入式实时操作系统μC/OS-II在ARM7上的移植和应用。第101-180页。

    标签: ARM 213 214 LPC

    上传时间: 2013-06-11

    上传用户:tianjinfan

  • at91rm9200启动过程教程

    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。

    标签: 9200 at 91 rm

    上传时间: 2013-10-27

    上传用户:wsf950131

  • realview mdk 3.2 下载

    1.增加的设备支持: Atmel AT91SAM9Rxx Cirrus Logic CS7401xx-IQZ Luminary Micro LM3S576x, LM3S5752, LM3S5747, LM3S573x, LM3S5662, LM3S5652, LM3S5632, LM3S3759, LM3S3749, and LM3S3739 NXP LPC32XX and LPC2460 STMicroelectronics STR912FAZ4X, STR912FAW4X, STR911FAW4X, STR911FAM4X, STR910FAW32, and STR910FAZ32 2.修改了NXP LPC23XX/24XX的头文件库 3.增加了ST-LINK II的调试支持 4.增加了对Cortex-M3 内核芯片的RTX Event Viewer 的支持 5.增加了MCBSTM32: STM32 FLASH OPTION BYTES PROGRAMMING 6.增加了ULINK2对Cortex-M3的SWV功能的调试 7.增强了使用GNU在MDK下调试M1,M3,ARM7,ARM9的调试功能( Using μVision with CodeSourcery GNU ARM Toolchain.) 8.增加了大量经典开发板例程 Boards目录列表: ├─Embest 深圳市英蓓特公司开发板例程 │ ├─AT91EB40X-40008 │ ├─S3CEB2410 │ ├─ATEBSAM7S │ ├─LPC22EB06-I │ ├─LPCEB2000-A │ ├─LPCEB2000-B │ ├─LPCEB2000-S │ ├─str710 │ ├─str711 │ ├─str730 │ ├─str750 │ ├─STR912 │ ├─STM32V100 │ ├─STM32R100 │ ├─ATEB9200 ├─ADI ADI半导体的芯片例程 │ ├─ADuC702X │ └─ADuC712x ├─Atmel Atmel半导体的芯片例程 │ ├─AT91RM9200-EK │ ├─AT91SAM7A3-EK │ ├─AT91SAM7S-EK │ ├─AT91SAM7SE-EK │ ├─AT91SAM7X-EK │ ├─AT91SAM9260-EK │ ├─AT91SAM9261-EK │ ├─AT91SAM9263-EK ├─Keil Keil公司的开发板例程 │ ├─MCB2100 │ ├─MCB2103 │ ├─MCB2130 │ ├─MCB2140 │ ├─MCB2300 │ ├─MCB2400 │ ├─MCB2900 │ ├─MCBLM3S │ ├─MCBSTM32 │ ├─MCBSTR7 │ ├─MCBSTR730 │ ├─MCBSTR750 │ └─MCBSTR9 ├─Luminary Luminary半导体公司的芯片例程 │ ├─ek-lm3s1968 │ ├─ek-lm3s3748 │ ├─ek-lm3s3768 │ ├─dk-lm3s101 │ ├─dk-lm3s102 │ ├─dk-lm3s301 │ ├─dk-lm3s801 │ ├─dk-lm3s811 │ ├─dk-lm3s815 │ ├─dk-lm3s817 │ ├─dk-lm3s818 │ ├─dk-lm3s828 │ ├─ek-lm3s2965 │ ├─ek-lm3s6965 │ ├─ek-lm3s811 │ └─ek-lm3s8962 ├─NXP NXP半导体公司的芯片例程 │ ├─LH79524 │ ├─LH7A404 │ └─SJA2510 ├─OKI OKI半导体公司的芯片例程 │ ├─ML674000 │ ├─ML67Q4003 │ ├─ML67Q4051 │ ├─ML67Q4061 │ ├─ML67Q5003 │ └─ML69Q6203 ├─Samsung Samsung半导体公司的芯片例程 │ ├─S3C2440 │ ├─S3C44001 │ └─S3F4A0K ├─ST ST半导体公司的芯片例程 │ ├─CQ-STARM2 │ ├─EK-STM32F │ ├─STM32F10X_EVAL │ ├─STR710 │ ├─STR730 │ ├─STR750 │ ├─STR910 │ └─STR9_DONGLE ├─TI TI半导体公司的芯片例程 │ ├─TMS470R1A256 │ └─TMS470R1B1M ├─Winbond Winbond半导体公司的芯片例程 │ └─W90P710 └─ ...

    标签: realview mdk 3.2

    上传时间: 2013-10-13

    上传用户:zhangliming420

  • uClinux里自带的gdbserver在arm7tdmi下不能正常工作

    uClinux里自带的gdbserver在arm7tdmi下不能正常工作,用此包中的gdbserver直接替代uClinux中的程序,结合arm-uclinux-gdb即可正常用gdbserver+gdb方法在arm7tdmi下调试程序

    标签: gdbserver arm7tdmi uClinux

    上传时间: 2013-12-18

    上传用户:qq1604324866

  • 熟悉 uClinux 开发环境

    熟悉 uClinux 开发环境,学会基于 ARM7TDMI 的 uClinux 开发环境的配置和使用。使 用 uClinux 的 arm-uclibc-gcc 编译,使用基于 NFS 方式的下载调试,了解嵌入式开发的基本 过程。

    标签: uClinux 开发环境

    上传时间: 2013-12-26

    上传用户:jqy_china

  • 本次实验使用 Redhat linux 9.0 操作系统环境安装 uCLinux 的开发库及编译器。新建一 个目录

    本次实验使用 Redhat linux 9.0 操作系统环境安装 uCLinux 的开发库及编译器。新建一 个目录,编写 hello.c 和 makefile 文件。学习在 linux 下的编程和编译过程,以及 ARM 开发板的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。

    标签: uCLinux Redhat linux 9.0

    上传时间: 2013-12-13

    上传用户:qiaoyue

  • 用于ARM S3C44B0/S3C4510嵌入式系统的ov511驱动程序

    用于ARM S3C44B0/S3C4510嵌入式系统的ov511驱动程序,在自己的uclinux系统下,完全没有问题!可用于驱动采用ov511芯片的摄像头,如网眼V2000等,其中USB芯片采用SL811hc。

    标签: 4510 ARM 511 44

    上传时间: 2015-05-26

    上传用户:Yukiseop

  • uclinux的鼠标控制源代码

    uclinux的鼠标控制源代码,包括所需要的代码,和头文件,在44B0+UCLINUX下调试通过。适合初初接触ARM开发的学生,开发者参考。

    标签: uclinux 鼠标 控制 源代码

    上传时间: 2015-06-03

    上传用户:bjgaofei