嵌入式处理器基于spi引导的ram 自检

嵌入式处理器基于spi引导的ram 自检

ID:24290149

大小:50.50 KB

页数:4页

时间:2018-11-13

嵌入式处理器基于spi引导的ram 自检_第1页
嵌入式处理器基于spi引导的ram 自检_第2页
嵌入式处理器基于spi引导的ram 自检_第3页
嵌入式处理器基于spi引导的ram 自检_第4页
资源描述:

《嵌入式处理器基于spi引导的ram 自检》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、嵌入式处理器基于SPI引导的RAM自检 0引言  随着全球X络进一步扩展到新终端设备和以前未连接的行业中,X络安全对消费者、企业和其他机构变得越来越重要。人们越来越需要性能安全、价格便宜的装置设备。为了降低成本,往往需要简化电路设计。例如,采用SPI方式引导硬件,使用SPIFlash作为存储媒介,减少总线的布线,是简化硬件电路的较好的方法。但采用SPI方式引导硬件,需要将程序引导到DDR内存中,同时又需要对DDR内存进行检查,这就出现了矛盾。  1基于SPI的硬件引导  本文以一个实例,对嵌入式处理器基

2、于SPI引导硬件时如何进行RAM检查进行详细的介绍。是嵌入式处理器使用SPI引导的硬件框图。硬件引导程序和系统程序放在SPIFlash中,在上电引导后,系统程序会被搬移到DDR空间,在DDR空间运行起来。现在以U-Boot硬件引导程序为例,介绍以SPI引导模式引导系统硬件的情况。U-Boot是德国DENX小组的开发用于多种嵌入式CPU的Bootloader程序,可以支持多种嵌入操作系统和多种处理器。编译的U-Boot程序,往往是运行在NORFlash或DDR中的。但在基于SPI引导时,需要先从SPIFl

3、ash往片内RAM里运行一段程序,将DDR内存检查一遍,然后再将U-Boot引导到DDR内存中去运行。  2SPI引导采用的数据格式  在TI公司的DSP及ARM处理器,飞思卡尔公司PO处理器,都支持基于SPI的引导模式。在这些处理器的片内ROM都包含基本的SPI引导驱动程序。本文以飞思卡尔公司的QorIQP1010处理器为例介绍其引导过程。P1010片内的SPI驱动程序能够把SPI接口Flash中的程序拷贝到DDR内存或片内RAM中。不过,在拷贝之前,需要先对DDR控制器或片内RAM进行配置。这就需要

4、定义一个特定的数据结构,完成引导程序所需要的环境配置。对于不同的处理器,生产厂家定义的引导数据结构是不同的。在P1010处理器完成复位序列后,通过选择使用处理器片内ROM的SPI引导配置程序,而后处理器内核开始运行该片内ROM程序,配置SPI控制器,并与外部的SPIFlash通信,将程序拷贝出来并跳到指定的位置运行时配置数据写入此地址。当最低位为1时,配置地址域高30bit代表的是指令,此时配置数据写入此地址。这样的结构让用户可以方便地配置4B对齐的内存,完成控制指令操作,或定义程序配置阶段的结束  当

5、T(最低位)=0时,则高30bit用作要写入数据的地址,配置数据包含要写入的数据。  当T=1时,则高30bit用作控制指令。  当EC=1时,代表配置阶段结束指令。  当DLY=1时,代表延时一定时间指令。  当CF=1时,代表更改SPI频率的指令。  T表示地址模式与指令模式的切换。  当处理器内核开始拷贝程序时,先判断0X40位置的标志是否正确,如果正确,先根据配置的地址/数据对的个数N来配置一些外围寄存器,然后从0X50处指示的Flash地址搬移用户代码数据到0X58指示的地址。搬移完成后,从0

6、X60指示的地址开始运行。将片内运行的这一段程序叫TPL程序。  3片内RAM运行的TPL程序  P1010包含256KB的L2CACHE,也可以当片内RAM使用。要检查DDR内存,要先在片内RAM里运行一小段TPL程序。这一段程序是对基于DDR引导程序U-Boot的一个裁剪,主要完成内核的配置,初始化串口终端,初始化DDR内存控制器,然后检查DDR内存。在这里不需要设置U-Boot的环境变量,不需要配置以太X等其他的外围器件。编译后的TPL目标文件为uboot-tpl.bin。TPL程序的编译按RAM

7、引导的方式处理。程序的开始地址设为:0xc0030000~0xc0038800。现在需要对编译后的uboot-tpl.bin进行格式处理,在其前面加上SPI引导的可以识别的数据表头,是按照(SPI引导模式的数据结构)和(配置地址域的数据格式)完成的一个SPI引导配置实例。在这个实例中,将L2CACHE设为片内RAM,开始地址设为0xc0000000。这一部分空间在处理器内核引导时已经通过TLB映射,可以直接使用。  4结论  嵌入式处理器在使用SPI引导硬件时,先通过片内RAM运行一段程序,对DDR内存

8、进行自检,而后再将U-Boot程序及环境变量引导到DDR空间,把硬件系统引导起来。通过实例化的应用,证明这在高性价比的嵌入式应用中是一个不错的选择,不仅能提高系统的可靠性,而且简单易行。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。