ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:1.42MB ,
资源ID:9031179      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9031179.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ARM的视频采集系统设计.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于ARM的视频采集系统设计.docx

1、基于ARM的视频采集系统设计湖南文理学院课程设计报告课程名称: 嵌入式系统课程设计 专业班级: 建智11101班 学号(38位)学生姓名: 张彤 指导教师: 王丽娟 完成时间: 2014年06月01日 报告成绩: 评阅意见: 评阅教师 日期 湖南文理学院制基于ARM的视频采集系统设计1 设计要求1.1 课题研究工作的背景 近年来,随着通信技术、微电子技术和计算机技术的飞速发展,网络带宽和存储容量得以大幅度的提高,而电子、通信、广播之间愈来愈紧密的相互交叉联系,世界进入了全数字化网络时代。与此同时,数字多媒体技术也得到了迅速发展,已逐渐渗透至人们生活、工作和学习的各个方面,改变着人们传统的生活方

2、式。人们对视频会议、可视电话、数字电视广播等多媒体技术的需求越来越广泛。然而,在多媒体技术中,尤其是数字视频领域,其信息数据量庞大,对处理能力和存储容量的要求极高,如不进行有效的压缩编码则会给通信和传输带来极大的困难,从而无法满足人们的需求。 1.2 课题研究工作的现状与发展前景 根据图像处理技术发展的不同阶段,视频采集系统大致可分为三个阶段: 模拟视频采集系统 模拟视频采集系统一般由图像摄像部分、系统控制部分(视频矩阵切换、云台和镜头控制等)和显示记录部分组成,模拟视频采集系统一般采用模拟方式传输,传输距离较短,主要应用于小范围内的视频图像采集。 数字化本地视频采集系统 20 世纪 80 年

3、代,随着数字化技术的发展,图像采集的方式出现了由模拟处理方式向数字处理方式的转变。人们开始使用 PC 机来处理图像信号,借助计算机强大的数据处理能力与显示器的高清晰显示度,通过视频采集卡将视频信号采集到计算机中,并显示在显示器上,从而大大提高了图像的画质。 基于 PC 的采集系统一般在采集现场有若干个摄像机、各种检测、报警探头与数据设备,通过各自的传输线路,汇接到多媒体终端上,多媒体终端可以是一台PC 机,也可以是专用的工业机箱组成的多媒体终端,除了处理各种信息和完成本地所需要的各种功能外,系统利用视频压缩卡和通信接口卡,通过通信网络,将这些信息传到一个或多个监控中心。基于 PC 的多媒体采集

4、系统功能较强,但功耗高,需要有专人值守。 嵌入式网络视频采集系统 嵌入式网络视频采集系统以网络为依托,集中了多媒体技术、数字图像处理及远程网络传输等最新技术,受到了学术界和使用部门的高度重视。嵌入式系统以其本身体积小,实时性高,稳定性好,支持以太网等优点,成为工控领域的新热点。基于嵌入式技术的网络化视频监控系统有效地将嵌入式技术和视频技术结合在一起,可以很好地解决基于 PC 的视频监控系统中存在的问题。 目前,视频采集与压缩系统正朝着前端一体化、视频数字化、网络化和系统集成化的方向发展,而数字化是网络化的前提,网络化又是系统集成化的基础,所以,视频采集与压缩发展的最大两个特点就是数字化和网络化

5、。 然而,国内视频采集与压缩系统的研究仍停留在基于 PC 的基础上,大多数系统利用国外芯片开发视频采集压缩卡,或在现有的视频采集压缩卡上开发采集软件系统,然后组成采集系统,即数字化本地视频采集系统。虽然基于 PC 的视频采集系统终端功能较强,便于现场操作,但价格高昂,功耗较大,PC 机端也需专人管理,对于特殊环境或空间狭小、功耗要求严格的地点,这种方式难以满足要求。2 设计的作用与目的本课题研究对象为数字视频采集与压缩系统。作为一种伴随着计算机技术、数字多媒体技术和网络技术飞速发展应运而生的实用处理手段,越来越受到人们的重视。本文在详细分析国内外视频采集与压缩系统发展现状的基础上,针对基于 P

6、C 平台的系统难于满足日益复杂和广泛的图像处理应用需求的现实,提出了一种基于 ARM 的嵌入式平台的视频处理解决方案。该方案充分利用了嵌入式平台集成度高、功耗小、支持多任务操作系统等优点,并利用当前最先进的 JPEG2000 编码压缩算法,通过适当的软硬件设计,力图实现一种体积小、功耗低、一体化的视频图像采集和压缩系统,以满足我们对视频采集和压缩的需求。本系统的研究对于促进视频采集与压缩系统的仪器化,推动相关产业的发展,具有重要的参考价值和指导意义。 3 系统方案设计 3.1系统的解决方案 目前,嵌入式视频采集与压缩系统的解决方案,主要有以下三种: 视频采集芯片+DSP处理器。该方案中由视频采

7、集芯片完成图像的预处理,由DSP完成图像的存储、基于MPEG-4、H.263或MJPEG标准的图像压缩、网络传输。该方案是采用软件压缩,其灵活性高,可以根据需要修改压缩算法,有利于方案的升级,但缺点是控制不够灵活。且DSP通常没有强大的操作系统,功能单一,不适合做系统控制。 ARM 嵌入式处理器+DSP 处理器。该方案同样采用软件压缩,具有软件压缩的优点,同时由于采用了 ARM 处理器,控制比较灵活,可以用做操作系统,做系统控制。但其缺点是:要使用 ARM 芯片对 DSP 的寄存器进行操作,设计、调试,使用较困难。而且开发周期较长,开发难度大。 视频采集芯片+图像压缩芯片+ARM嵌入式处理器。

8、该方案与前两个方案最大的区别是用图像压缩芯片来代替DSP处理器,采用硬件压缩方法。该方案弥补了方案一和方案二的不足,既采用ARM处理器做系统控制,又可以缩短开发周期,降低开发难度。而且硬件压缩所需编程量小,压缩速度快,压缩芯片同时提供标准视频信号接口,外围电路设计简单。 根据课题需要和综合以上三个方案的优缺点,本课题采用第三个方案,即视频采集芯片+图像压缩芯片+ARM嵌入式处理器。 3.2 视频采集 模拟视频摄像头采集的信号是模拟信号,视频信号中不仅包含图像信号,还包括了行同步信号、行消隐信号、场同步信号、场消隐信号等。因此,视频采集中的视频输入处理就显得非常重要。传统的视频输入处理模块采用分

9、离元件,电路非常复杂,而且可靠性差,不易调试。现今,许多著名的半导体生产厂家将这些复杂的视频 A/D 转换电路集成在一块芯片内,生产出视频采集芯片,为后继的图像处理提供了极大的方便。现在市面的视频采集芯片有 PHILIPS 公司的SAA711X 系统产品、台湾禾瑞亚(EMPIA)公司的 EM2820、美国 TECHWELL公司的 TW6802 等。通过调研,发现 PHILIPS 公司的产品综合性能最佳,性价比最高,故选择其视频采集芯片 SAA7113H 设计视频采集部分。SAA7113H 是飞利浦公司视频解码系列芯片的一种,非常具有代表性,在很多视频产品如电视卡、MPEG2、MPEG4 中都有

10、应用,该芯片采用 CMOS 工艺,通过 I2C 总线与 PC 机或有 I2C 总线接口的控制芯片相连构成应用系统。其内部包含两路模拟处理通道,能实现视频信号源选择、抗混叠滤波、模数转换(A/D)、自动钳位、自动增益控制(AGC)、时钟发生(CGC)、多制式解码、亮度/对比度/饱和度控制(BCS)和多标准 VBI 数据解码。SAA7113H 的主要作用是把输入的模拟视频信号解码成标准的“VPO”数字信号,相当于一种“A/D”器件。7113兼容全球各种视频标准,在我国应用时必须根据我国的视频标准来配置内部的寄存器,即初始化,否则 7113 就不能按要求输出。 3.3 视频压缩 通常情况下,压缩可描

11、述为通过消除存在于视频信号里的冗余成分,来减少图像或图像组的内容信息。概括地说,压缩技术就是试图识别冗余内容,再从比特流中除去大量的此类成分。视频压缩的目标是在尽可能保证视觉效果的前提下减少视频数据率。视频压缩比一般指压缩后的数据量与压缩前的数据量之比,由于视频是连续的静态图像,因此其压缩编码算法与静态图像的压缩编码算法有某些共同之处,但是运动的视频还有其自身的特性,因此在压缩时还应考虑其运动特性才能达到高压缩的目标。 3.4 基于 ARM 的嵌入式系统开发平台 要建立一个嵌入式系统开发平台,首先要根据系统的设计目标和性能指标来选择芯片,而选择芯片主要考虑其性能,功耗,专业化水平以及其成本。综

12、合各方面的因素,本系统选择了基于 ARM7TDMI 核的嵌入式微处理器。ARM7TDMI是 ARM7 处理系列成员之一,是目前应用比较广泛的 32 位高性能嵌入式 RISC 处理器之一。主要性能或特性有以下四个方面: 指令流水线。ARM7TDMI 使用流水线以提高处理器指令的流动速度。流水线允许几个操作同时进行,以及处理和存储系统连续操作。ARM7TDMI 使用 3级流水线,因此,指令的执行分为 3 个阶段:取指、译码和执行。当正常操作时,在执行一条指令期间,其后续的一个指令进行译码、且第 3 条指令从存储器中取指令。 存储器访问。ARM7TDMI 核是冯诺依曼体系结构,使用单一 32 位数据

13、总线指令和数据。只有加载、存储和交换指令可以访问存储器中的数据。数据可以是:8 位、16 位和 32 位。字必须是 4 字节边界对准,半字必须是 2字节边界对准。 嵌入式 ICERT 逻辑。嵌入式 ICERT 逻辑为 ARM7TDMI 核提供了集成的在片调试支持。可以使用嵌入式 ICERT 逻辑来编写断点或观察断点出现的条件。它包含调试通信通道(DCC,Debug Conmmunication Channel),Dcc 用于在目标和宿主调试器之间传送信息,嵌入式 ICERT 逻辑通过 JTAG(Joint Test Action Group)测试访问口进行控制。 指令集。ARM7TDMI 有

14、2 个指令集:32 位 ARM 指令集和 16 位 THUMB指令集。 ARM7TDMI 核以其自身的独特设计,如基于 RISC 结构、没有 MMU 等,使其在成本上具有先天性的成本优势,比较适合作消费类产品,且功耗很低,是手机、PDA 和网络控制器的首选芯片。ARM7TDMI 系列微处理器的典型处理速度是0.9MIPS/MHz,常见的 ARM7TDMI 芯片系统主时钟为 20MHz133MHz,在性能上也能保证应用的稳定运行。而在众多的 ARM7TDMI 核心的嵌入式微处理器中。本文选择了 SAMSUNG 的 S3C44B0X,此款芯片能稳定工作在 70MHz 的系统频率上。选择此款芯片的主

15、要原因是该芯片集成了许多外围设备,这对于快速开发是很有帮助的。当然 SAMSUNG 的 IC 设计水平和芯片生产能力和市场推广能力以及它的知名度也是考虑的一个重要方面。 3.5 系统总体设计结构图 图3.5 视频采集与压缩系统总体设计结构嵌入式视频采集与压缩系统,主要由视频采集与压缩模块及控制与传输模块组成。采用 ARM 处理器 S3C44B0X 作为控制与传输模块的核心芯片,实现对系统数据的控制、外围模块的控制和管理以及数据的传输。 视频采集部分主要是接收模拟视频摄像头输入的模拟信号,并将它转换成符合一定标准的数字信号,输送到后端。这里采用飞利浦公司生产的单片、可编程视频输入采样芯片 SAA

16、7113H,完成模拟电视信号亮度、色度信号的分离,并将模拟电视信号转换成 CCIR656 标准的 8 位 YUV4:2:2 数字信号。S3C44B0X 通过 I2C 总线完成对 SAA7113H 的控制,控制方便,接线简单。 视频压缩部分采用 ADI 公司的单片 JPEG2000 编解码芯片 ADV202,编解码芯片接收 8 位 YUV 数字信号,并完成数字信号的 JPEG2000 压缩编码,压缩后的码流在 S3C44B0X 控制下缓存在 SDRAM 中。 视频传输部分则是通过系统中的 USB 设备与上位机相连,完成将 SDRAM 中的数据实时地传送到上位机进行保存,其接发送过程由 S3C44

17、B0X 芯片控制完成。 4 系统硬件设计 4.1系统硬件结构 根据一般视频系统的功能结构的划分,视频采集与压缩系统的硬件可以分为以下五个模块:1、采集模块;2、压缩模块;3、控制模块;4、传输模块;5、其它模块。视频采集模块采用视频解码芯片 SAA7113H,在视频采集主控制器S3C44B0X 和 ADV202 的控制下,将外部 CCD 采集到的模拟信号转换为数字信号。视频压缩模块采用 ADV202 进行视频编码和处理,对采集的图像进行图像数据格式转换和压缩等处理。采用 S3C44B0X 芯片与 ADV202 进行通信,同时控制SAA7113H 工作。USB 接口与上位机连接,将图像数据送往上

18、位机,进行下一步的处理分析。系统框图,如图4.1所示。 图4.1 系统框图4.2系统硬件各模块设计 视频采集模块设计需要考虑的因素 设计视频采集模块,首先需要考虑的是信号的 A/D 转换,因为采用了集成处理芯片 SAA7113H,通过设置芯片的内部寄存器,可以很方便的实现视频信号的A/D 转换。 SAA7113H 在上电后,芯片不是立即采集模拟视频信号进行 A/D 转换处理和输出数字信号的,它必须由主控制器通过 I2C 串行总线对其内部寄存部进行初始化设置后,才能正常工作。 1) I2C 串行总线。由于主控制器 S3C44B0X 提供 I2C 总线接口,所以 SAA7113H可以通过 SCL、

19、SDA 信号线直接与 S3C44B0X 的相应管脚相连。2) 输出数据格式。SAA7113H 的 VPO 总线宽度为 8 位,输出格式为标准 ITU-R BT 656 YUV4:2:2 的视频数据。SAA7113H 每个有效扫描行有 720 个像素,在每个 LLC 的上升沿输出一个 Byte 的解码数据,每个像素需要两个 LLC 周期,每个像素都有自己的亮度数据 Y,但是输出的数据中每两个相邻的像素共用一组色差数据 CB、CR,在存储图像数据时我们可以认为每一个像素的数据由两个连续的Byte 表示,但是当需要转换为 RGB 格式或进行其他处理时,是第 2n 个和第 2n+1个像素共用一组色差数

20、据 CB2n、CR2n(n=0,1,2),相应地进行正确的处理。 视频采集模块的硬件电路设计 在使用 SAA7113H 进行图像采集模块设计时,只需对 SAA7113H 的内部结构做大致了解,重点在于如何通过 I2C 总线对芯片内部的寄存器进行初始化控制,使其输出所需的数字视频信号,同时还要掌握芯片的相关信号输出时序。芯片输出的信号除了 8 位 VPO(总线数字视频输出)外,还包括 VS(场同步)、VREF(场消隐)、HS(行同步)、HREF(行消隐)、ODD(奇偶场指示)。这些信号通过 I2C 总线控制 SAA7113H 内部子地址为 12H 寄存器的值,在芯片 RTS0 和RTS1 两个引

21、脚选择输出。图 4.2 和图4.3 分别为行时序图和场时序图。在图中,HREF 的上升沿表示新的有效行采样的开始,在场消隐期间该信号同样存在,HREF 为低电平时指示行消隐期。VREF 是消隐信号,采用 VRLN0 的工作方式,其低电平表示消隐期,场消陷期间对数据不做任何处理。ODD 是奇偶指示信号,高电平表示为奇场,低电平表示为偶场。 图4.2行时序图图4.3场时序图通过 I2C 总线对 7113H 内部寄存器进行初始化之后,启动 A/D 转换,根据行、时序图对 VPO 总线数据进行采样,便可以得到符合 ITU-R BT.656 标准的 YUV4:2:2 数据视频信号。数据输出时序如下图4.

22、4所示: 图4.4数据输出时序从摄像头输出的模拟视频信号通过 RCAJACK 插座连接到 SAA7113H 的AI22 端口,其余输入端口接地,8 位 VPO 输出接 ADV202 的 8 位数据端口,RTS0,RTS1 分别接 ADV202 的 HSYNC 和 VSYNC,进行硬件帧同步。SAA7113H 的硬件电路图如图4.5所示。 在设计过程中,应注意以下几点: 1)模拟视频信号通过 AI22 端口输入,其余的三个端口应接地,避免不必要噪声影响 SAA7113H 的正常工作。 2)I2C 总线上要有上拉电路。 3)由于此模块同时存在模拟电路和数字电路,所以在电源设计时,要把模拟电源和地与

23、数字电路和地隔离开,防止数字部分产生的噪声干扰模拟输入信号。同时,要在芯片的电源部分和模拟输入端口接上耦合电容和匹配电阻,减小电磁干扰的影响。图4.5 SAA7113H 的硬件电路图4.3 PCB 设计 本系统主要分为三大模块:视频采集模块、压缩模块和传输与控制模块。其中视频采集模块主要由视频采集芯片 SAA7113H 组成,该模块既有模拟电路部分,也有数字电路部分;传输与控制模块主要由控制器 S3C44B0X 及其外围器件组成,其中 S3C44B0X 和 SDRAM 都是高速器件,尤其 S3C44B0X 的最高频率可达75MHz。这些都给系统的稳定性设计带来了很大的困难,如果设计的不好,系统

24、的抗干扰性将很差,导致整个系统的性能下降,甚至无法正常工作。因此,抗干扰性设计就成了 PCB 设计中的主要解决难题。 5.3.1 PCB 布局 在 PCB 设计中,布局是第一个环节,也是一个重要的环节。布局结果的好坏将直接影响布线的效果,因此可以这样认为,合理的布局是 PCB 设计成功的第一步。首先,根据电路中元器件的大小及多少来确定 PCB 板的大小。然后根据电路模块的功能,合理的进行模拟电路部分、数字电路部分和高频电路部分的布局,最后,再对每个部分的元件进行布局。在这里要注意的是,元件在 PCB 板中的摆放位置应该充分考虑抗电磁干扰的问题,同一功能模块中的器件应该尽可能的集中,并且连接线要

25、短、电路的回路应尽可能的小。要使整个系统 PCB 板的布局合理,应该按以下原则进行: 按功能和电气性能将电路分成高频/低频电路、数字/模拟电路。 在进行某一功能模块的电路布局时,应以该模块的核心器件为中心,围线它进行布局,器件就尽量靠近放置,并调整各元器件以保证连线最为简洁;同时,调整各功能块间的相对位置使功能块间的连线最简洁。 时钟产生器(如:晶振或钟振)要尽量靠近用到该时钟的器件。 布局要求要均衡,疏密有序,不能头重脚轻或一头沉。在放置元器件时,一定要考虑元器件的实际尺寸大小(所占面积和高度)、元器件之间的相对位置,以保证电路板的电气性能和生产安装的可行性和便利性。同时,应该在保证上面原则

26、能够体现的前提下,适当修改器件的摆放,使之整齐美观,如同样的器件要摆放整齐、方向一致。 5.3.2 PCB 布线 布线是整个PCB设计中最重要的工序。这将直接影响着PCB板的性能好坏。在整个 PCB 中,以布线的设计过程限定最高,技巧最细、工作量最大。PCB 布线有单面布线、双面布线及多层布线。布线的方式也有两种:自动布线及交互式布线,在自动布线之前,可以用交互式预先对要求比较严格的线进行布线,输入端与输出端的边线应避免相邻平行,以免产生反射干扰。必要时应加地线隔离,两相邻层的布线要互相垂直,平行容易产生寄生耦合。 在进行 PCB 布线之前,应先确定所需要的信号布线层数。布线层数的多少直接决定

27、系统的性能和费用,因此选择合适的布线层数至关重要。本设计中,采用四层板设计:中间两层为电源层和地层,正反两层为信号层。 布线时主要按以下原则进行: 电路的走向合理。即电路的输入/输出、高频/低频等同类型线路的走向应该是线形的(或分离),不得相互交融,交叉,防止相互干扰。最好的走向是直线,但一般不易实现,最不利的走向是环形。上下层之间走线的方向基本垂直,减少层间信号的电磁干扰。 一般情况下,首先应对电源线和地线进行布线,以保证电路板的电气性能。在条件允许的范围内,尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线电源线信号线,通常信号线宽为:0.20.3mm,最细宽度可达 0.05

28、0.07mm,电源线一般为 1.22.5mm。对数字电路的 PCB 可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地则不能这样使用)。 任何信号线都不要形成环路,如不可避免,环路应尽量小,这样环面积就越小,对外的辐射就越少,接收外界的干扰也越小。 布线时应避免产生锐角和直角,因为直角和锐角拐角处的线宽会发生变化。同时,信号线的过孔要尽量少,过多的过孔同样会使线宽发生变化,线宽的变化会造成线路特性阻抗的不均匀,传输速度较高时会产生反射,产生不必要的辐射,同时工艺性能也不好。 5 系统软件设计 5.1系统初始化程序设计 5.1.1 ARM 初始化过程 一个嵌入式系统要能正常工作,首

29、先必须对系统进行初始化,即设置系统的中断、I/O 口、存储方式、地址映射等等。这段初始化程序是系统加电后运行的第一段软件代码。它们就如同 PC 机 BIOS 中的引导加载程序,完成硬件检测和资源分配。但在嵌入式系统中,通常没有 BIOS 中的引导加载程序,而是由嵌入式系统的 Bootloader 来完成资源分配。 简单地说,BootLoader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 U-Boot 的初始化过程 虽然各种嵌入式系统的结构和功能

30、差别很大,但其系统的初始化大部分都是相似的。本设计采用的 Bootloader 为 U-Boot1.1.1,初始化过程一般分为两个阶段:第一阶段,通常由汇编语言编写,用于对 CPU、内存等硬件设备进行初始化;第二阶段,由 C 语言实现,主要完成本阶段的硬件初始化,为加载操作系统做准备。 第一阶段主要代码部分如下: 1)定义入口地址。UBoot 必须有一个入口点,并且只能有一个全局入口,通常这个入口放在 ROM(Flash)的 0x0 地址。 2)设置异常中断向量。中断向量表位于从 0x0 地址开始、连续 84 字节的空间内。当中断发生后,ARM 处理器便强制把程序计数器(PC)指针置为向量表中

31、对应中断类型的地址值,使程序跳转到相应的异常中断处理程序执行。 3)设置 CPU 的速度、时钟频率及终端控制寄存器。根据 CPU 体系结构和具体的硬件配置来设置合适的 CPU 的速度、时钟频率及终端控制寄存器。 4)初始化内存控制器。将标号为 SMRDATA 处的值通过 13 个寄存器 r1-r13赋予从 0x01c80000 开始的寄存器中,用于设置总线宽度与等待控制寄存器、BANCONn 控制寄存器。 5)将 ROM 中的程序复制到 RAM 中。 6)初始化堆栈。由于 ARM 处理器有 7 种执行状态,因此对程序中需要用到的每一种模式都要定义一个堆栈地址。方法是改变状态寄存器(CPSR)内

32、的状态位,使处理器切换到不同的状态,然后给 SP 赋值。 7)转到 RAM 中执行,该工作可使用指令 ldr pc 来完成。 第二阶段主要代码部分如下: 1)调用一系列的初始化函数。这些初始化函数主要是进行 CPU 相关设置、电路板相关设置、中断设置、初始化环境变量、初始化串口等等。 2)初始化 Flash 设备。 3)初始化系统内存分配函数。 4)进去命令循环(即整个 boot 的工作循环),接受用户从串口输入的命令,然后进行相应的工作。 U-Boot 的移植 移植 U-Boot 的首要条件是熟悉系统的硬件资料,根据系统的硬件情况来修改相关的参数。首先在 U-Boot 的 board 目录中选择一款与本设计最相似的硬件系统,以它为模板进行相关参数的修改。 S3C44B0X 的启动流程图 S3C44B0X 的启动流程图如图 5.1所示。图5.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2