




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章处理器核心电路设计和基本软件移植,本章中,Uboot移植(由处理器和闪存、SDRAM等组成的最小硬件系统电路)使用Uboot调试硬件移植Linux26内核,8.1最小硬件系统设计,嵌入式系统的特定硬件设计可能因设计应用系统的不同而有所差异。通常,用户可以根据自己的要求选择合适的微处理器类型,根据该接口电路使用不同类型的外围设备来配置不同用途的不同大小的应用系统。以下以PXA255处理器为例,说明了由处理器和外围电路(如Flash和SDRAM)组成的最低硬件系统的设计原理。有关此最小硬件系统的单个设备连接,请参阅图8-1。此外,为了便于开发和调试,还可以增加网卡和串口部分的电路。嵌入式系统
2、课件、3、图8-1最小系统方框图、嵌入式系统课件、4、PXA2XX系列处理器的存储接口支持各种内存芯片,如SDRAM、F1ash、SMROM、ROM、SRAM和SRAM等。以PXA255处理器为例,说明嵌入式系统中最常用的SDRAM和闪存以及处理器的接口设计。如图8-2所示,PXA255处理器的存储接口将支持的存储类型分为两类:动态内存和静态内存。其中,动态存储分为4个块,静态存储分为6个块。每个块都有64MB的寻址空间,其物理地址由芯片选择信号(chip Select)控制。PXA255处理器的数据总线和地址总线通过缓冲区分别连接到外部存储的地址线和数据线。8.1.1系统内存接口、图8-2
3、PXA255内存控制接口方框图、嵌入式系统课件、6、md:0是PXA255的数据总线。NS-DCSx是PXA255的动态内存片选择信号。NCSx是PXA255的静态内存片选择信号。嵌入式系统课件7、PXA2XX处理器经常使用外部存储(如外部闪存和SDRAM内存)作为程序或数据存储。外部存储具有16位宽和32位宽,而PXA2XX的总线宽度为32位,因此,对于16位外部存储,需要“扩展位”。这意味着必须并行放置两个16位外部存储以配置32位存储系统。本书开发主板使用的闪存和SDRAM内存;使用此“位扩展”方法时,系统数据总线在32位模式下工作。以下是“同步状态内存”(asynchronous st
4、atic memory)和“同步动态内存”(SDRAM)的示例,它们说明了Flash xx系统的存储扩展原理。嵌入式系统课件、8,1异步静态内存接口设计原理使用两个英特尔e228f 128j 3a-150闪存芯片构成32 MB的F1ash存储,如图8-3所示。闪存芯片为16位,因此使用两种并行方法为处理器提供32位数据总线支持。图8-3 Flash电路框图,因为处理器从Flash读取的数据为32位,所以寻址时地址以4字节为单位递增,从数据总线获取一次4字节的数据。例如,如果指定Ox00000000的地址,则可以从数据总线中获取总计4字节的数据。因此,PXA255的地址行中的SA-A0和SA-A
5、1未连接到芯片。对于这些FLASH周围的电路,Flash中的0 x00000001;(ox 000000002,0 x 000000003)指定地址与指定0 x 0000000000地址的结果相同。对于每个芯片,数据的输出为16位,即2字节。因此,每个芯片地址必须按字母排列,地址线的A0针脚必须连接到地上。处理器启动时,代码从Ox00000000地址开始执行。Flash需要接收静态内存中的块0(bank 0),因此将处理器的nCS0用作片选择信号。F1ash的其他控制脚由集成到处理器内部的静态内存控制器控制。在嵌入式系统课件、12,2SDRAM内存接口设计原理下,两个Samsung K4S28
6、1632C构成64MB SDRAM内存。如图8-4所示,SDRAM数据宽度为16位,因此使用PXA255处理器和两种并行方法提供32位支持。,图8-4 SDRAM电路框图、嵌入式系统课件、14、K4S281632C是4M16位4 bank SDRAM存储,总存储空间为32MB。处理器地址行上的SA-A22和SA-A23针脚连接到SDRAM芯片的BA1:0针脚决定了4个芯片内部bank的选择。处理器地址行中的sa-a1sa-a21和SA-A24分别连接到SDRAM中的A0A11、A12针脚。SDRAM连接到处理器动态内存中的块0,因此将处理器的nSDCS0用作片选择信号。SDRAM的其馀针脚由集
7、成在处理器内部的动态内存控制器控制。嵌入式系统课件、15,8.1.2串行电路原理串行通信只有两条信号线,电路更简单。PXA255处理器具有三个UART接口,其中选择全功能UART(FFUART)作为最小系统的调试串行端口。FFUART必须使用GP34和GP39针的第二个功能。此外,连接电路很简单,例如通过一个RS232收发器完成从TTLCMOS级别到RS232级别的转换(图85)。图8-5串行电路原理,ff _ txd/gp39,PXA255,ff _ rxd/gp34,rs232transceiver,8.2最低硬件系统配置,因此,处理器的配置是否正确直接决定了系统软件的运行。PXA255处
8、理器的配置用于三个重要的寄存器:CCCR、CKEN和ICMR寄存器。它们的定义和作用见表4-1。表8-1 CCCR、CKEN和ICMR的定义和角色、嵌入式系统课件、19和核心时钟配置注册表(CCCR)寄存器控制内存、LCD和DMA控制器使用的时钟。这些时钟由处理器的3.6864MHz时钟倍频提供,有三个参数控制倍频比例,如表4-2所示。1 .CCCR寄存器、表8-2 CCCR倍频控制比率的参数、嵌入式系统课件、20、本书中使用的开发主板是1.3V电源,系统时钟全部由CPU提供,可达到最快的100MHz内存时钟、400MHz操作时钟和400 MHz turbo模式时钟。l=27,m=4,n=1,
9、reserved CCCR 313336910=0n=1 CCCR 9333697=010(未使用)m=4 cccr 6:5=注:在CCCR中,n、m、l的位定义是控制其值序列号、嵌入式系统课件、21、CKEN(块启用寄存器)寄存器的功能的寄存器。对嵌入式系统的功耗起着决定性的作用。对于未使用的外围设备,必须取消时钟的供应。CKEN的O16位控制13种外围设备的时钟(其中4种已保留)。其关系如下:2.CKEN寄存器,LCD设备CKEN16=1 FICP设备CKENl5=1 I2C设备CKEN14=1 MMC设备CKEN12=1 USB设备CKEN1l=1 NSSP设备CKEN10=1 I2s设
10、备CKEN 8=1 btun 8CKEN必须设置为0 x00000040。在实际使用过程中,必须根据特定需要打开特定外围设备的时钟。嵌入式系统课件23、interrupt controller mask register(icml)寄存器是中断功能寄存器。1表示能量,0表示屏蔽。通常,PXA255处理器应在启动加载程序启动阶段屏蔽所有中断,因此ICMR发射器应设置为0 x0000000。3 .icml寄存器、嵌入式系统课件、24、嵌入式系统构建中,内存配置是最重要和最基础的。通电后,PXA255处理器开始在物理0 x00000000上读取第一条命令。第一个命令存储在Flash中。如果未正确配置
11、Flash,CPU将无法使用正确的命令。同样,引导加载程序通常将自身复制到SDRAM,然后在SDRAM上运行。因此,只有在正确配置了SDRAM的情况下,引导加载程序的启动过程才能顺利运行。闪存和SDRAM的配置与内存配置相同,考虑的对象和相关寄存器类似。内存配置包括表4-3、8.2.2闪存SDRAM配置、与表8-3存储配置相关的寄存器、嵌入式系统课件、26、异步状态内存控制器(mscx)寄存器,该寄存器来自内存控制功能MSCx通常用于控制控制Flash和网卡的外部静态内存,在本书使用的开发主板中使用。MSCx寄存器共有三个:MSCO、MSCl和MSC2。每个寄存器最多可以控制两个外部静态内存块
12、,这三个寄存器总共最多可以控制六个外部静态内存块nCS0:1、nCS2:3和nCS4:5。仅当正确配置了MSCx寄存器时,相应的片选择信号才能访问相应的静态内存。MSCx非常重要,因为它记录了P197表8-4中列出的存储的一些重要参数。1MSCx寄存器、嵌入式系统课件、27、Flash连接到使用nCSl(即SA 1 (2SI#)片选择信号的nCS0,如P198图8-6所示。使用P198表8-5中的配置清单设置MCS0,可以正确访问闪存和网卡的I0地址空间。嵌入式系统课件、28、MDCNFG(SDRAM MDCNFG Register)寄存器控制PXA255处理器的同步动态随机存储的操作参数,如
13、果这些配置不正确,SDRAM将无法初始化,软件启动将无法完成。MDCNFG有许多配置项,如P199表8-6所示。2.mdnfg寄存器、嵌入式系统课件、29、PXA255处理器具有84个通用IO端口。每个GPIO针脚可以作为一般IO,也可以配置为具有第二个功能的针脚。GPIO的配置与连接到PXA255处理器的外部设备相关。例如,本书使用的出站的串行端口和网卡使用相关的GPIO寄存器,因此必须在系统启动时正确配置。GPIO的配置主要由几个寄存器完成。请参阅表格-。4.2.3 GPIO和串行端口配置,表-GPIO配置相关寄存器完成,GPl5针必须配置为nCSl,输出方向,如P200图8-7所示。如P
14、201图8-8所示,GP34和GP39通过FF-Rx和FF-TX连接到RS232传输芯片SP3223ECY,必须使用FFUART功能,并且必须分别设置为输入和输出。gpdr 015=1 gp dr 17=1 gafr 1 _ l 5:4=01 gafr 1 _ l 15333014=10其他每个接脚的规划为0。8.3最小硬件系统和引导加载程序是打开系统电源后运行的第一个软件代码,引导加载程序的最终目的是正确调用和运行内核。因此,引导加载程序只需初始化CPU、闪存和SDRAM即可运行Linux内核。本节介绍的引导加载程序的操作框架是针对PXA255的最低硬件系统初始化的。其他设备的初始化可以完全
15、由内核传递。在嵌入式系统中,内核映像、根文件系统映像都存储在ROM或Flash中,直接在固态存储设备上运行程序的速度很慢。因此,引导加载程序的任务之一是将内核映像和根文件系统映像加载到RAM中并运行。启动加载程序的实现依赖于CPU的体系结构,因此大多数启动加载程序可以运行第1步和第2步中的大部分步骤。依赖于CPU体系结构的代码(如设备初始化代码)通常在步骤1中运行,并且通常用汇编语言实现。步骤2中的代码通常用c语言实现,从而实现复杂的功能并提高代码的可读性和可移植性。Bootloader的第一阶段运行通常包括初始化硬件设备,下一阶段。准备RAM空间以加载引导加载程序的步骤2代码。将引导加载程序的步骤2代码复制到RAM空间。转至堆栈设置步骤2代码的c入口点。,启动加载程序的第2步通常包括以下步骤:初始化要在此步骤中使用的硬件设备。检测系统内存映射(memor _ ymap)。将内核图像和根文件系统图像从Flash读取到RAM空间。设定核心的启动参数。启动内核。嵌入式系统课件,36,对于PXA系列处理器,U-boot的步骤1代码是U-boot源代码的cpupxastart。s文件中的程序集代码文件。8.3.1 U-boot引导阶段1的处理过程,嵌入式系统课件,37,这是引导加载程序从头开始执行的任务,旨在为运行阶段2和以后的内核准备一些基本硬件环境。通常,要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CASTEM 1006-2022科技评估报告编制通用要求
- T/CAQI 362-2023宠物食品用益生菌通则
- T/CAQI 145-2020地理标志产品龙口粉丝
- T/CAPA 1-2019脂肪注射移植
- 京东2025年java开发测试面试题及答案
- 众安保险java研三面试题及答案
- 定期疫苗检查管理制度
- 高中消防面试题及答案
- 医院护士长竞聘演讲稿
- 主持人自我介绍演讲稿
- 专题17 语言要简明+考场满分作文攻略-【同步作文课】【知识精研】七年级语文下册单元写作深度指导(统编版2024)
- 2025年中国低温等离子体环境消毒机市场调查研究报告
- 2025法语DELFA15级阅读理解试卷及答案
- 2025年全球经济策略试题及答案
- 山东省济南市商河县2025届九年级下学期中考二模语文试卷(含答案)
- 2025年绝缘纸原纸行业深度研究报告
- 2024年枣庄滕州市中小学招聘教师笔试真题
- 直击要点2025年入团考试试题及答案
- 基于AI的管道防腐监测系统研究与应用-洞察阐释
- 酒店宾馆装修合同协议书
- 2025-2030年中国腰果酚行业竞争格局展望及投资前景研究报告
评论
0/150
提交评论