正文描述:《基于atlys开发板的bootloader程序代码分析.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二:bootloader引导程序一、Bootloader的原理先来说明一下什么是Bootloader。简单地说,BootLoader就是在应用程序运行之前运行的一段小程序。系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。通过这段小程序,我们可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为调用应用程序准备好正确的环境,并同时提供基本输入、输出系统监控功能和程序调试功能。在我们Atlys的FPGA开发板上,SPIFl
2、ash既用来保存硬件配置文件及Bootloader引导程序还需要用来保存用户的应用程序。在加载阶段,FPGA自动从SPIFlash中读取硬件配置bit文件及Bootloader程序进行配置到片内BRAM中运行。当完成加载后,FPGA内部逻辑启动,通过运行Bootloader程序读取SPIFlash中的用户应用程序,并写到外部DDR2的相应位置,最后Bootloader程序切换指令指针到应用程序开始运行的指定位置,在外部的DDR2中开始执行应用程序。下图给出了本系统中复用SPIFlash嵌入式系统结构图,Bootloader软件程序
3、实现从SPIFlash中复制用户应用程序到DDR2中,然后在DDR2中运行二、Bootloader引导程序的设计工程代码编写之前要求对硬件器件有所了解,主要需要了解FPGA所需要的配置文件空间,还有Flash存储结构。在本Atlys开发板中,SPIFLASH的容量为16M,存储空间为从0x00000到0xFFFFFF。其中Spartan6的配置文件大小为12Mbits,所以配置文件占用SPIFLASH的存储空间为从0x00000到0x17FFFF。剩余的FLASH存储空间用来存放应用程序代码。为了简单起见,在本实验中我们可以把应用
4、程序的代码放置在0x200000到0xFFFFFF的SPIFLASH空间里。因为在本实验里bootloader的主要功能是从SPIFLASH中拷贝应用程序的代码到DDR2SDRAM中,再将地址指针指向内存的应用程序基地址,使其从此处开始运行程序。应用程序是以SREC文件格式存储在SPIFLASH中的,在这里我们首先需要了解一下SREC文件格式。ØSREC文件格式SREC格式是一种FLASH格式的编程文件,全称S—record,SREC格式是Motorola公司制定的一种烧写格式标准。SREC文件是描述地址与数据的文件,以下给出了S
5、REC文件的具体格式.一个完整的MOTOROLAS-Record格式数据包含如下区域:
显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。