Motorola微处理器的bootloader分析与应用
[09-12 17:52:13] 来源:http://www.88dzw.com 单片机学习 阅读:8846次
文章摘要:功能为预初始化处理器、调用初始化函数及跳转到main主函数。其中xxxx表示某特定的处理器型号,如5307。③ 初始化C语言文件:Sysinit.c。内含多个初始化函数,功能为初始化处理器及各底层硬件。④ 系统配置文件:Config.h和Board.h 。Config.h设定板上处理器类型和其它模块功能。Board.h设定板上各参数信息,如片外Flash和SDRAM大小、类型、数据宽度和地址范围、划分板上内存空间范围、系统时钟大小、系统总线速率以及一些其它要用到的系统常量。⑤ 连接配置文件:Flash.lcf。设定连接时各函数空间地址及内存分配。⑥ 预包含头文件:mxxxx_mwerks.h和
Motorola微处理器的bootloader分析与应用,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com功能为预初始化处理器、调用初始化函数及跳转到main主函数。其中xxxx表示某特定的处理器型号,如5307。
③ 初始化C语言文件:Sysinit.c。
内含多个初始化函数,功能为初始化处理器及各底层硬件。
④ 系统配置文件:Config.h和Board.h 。
Config.h
设定板上处理器类型和其它模块功能。
Board.h
设定板上各参数信息,如片外Flash和SDRAM大小、类型、数据宽度和地址范围、划分板上内存空间范围、系统时钟大小、系统总线速率以及一些其它要用到的系统常量。
⑤ 连接配置文件:Flash.lcf。
设定连接时各函数空间地址及内存分配。
⑥ 预包含头文件:mxxxx_mwerks.h和mwerks.h。
两函数被所有的C语言和汇编语言函数包含,它们设定CodeWarrior 预处理器所用到的常量和编译器编译选项。
2 bootloader运行流程简介
bootloader启动流程如图2所示。
系统上电复位后,跳到Boot ROM的最低地址处。Boot ROM的开始空间FFE00000~FFE00400为vector.s中的中断矢量表。将表中第一个32位字传给5307的SP,将第二个32位字传给PC,即完成复位中断跳转。
该复位中断跳转到vector.s中的start处。此处仅初始化sr,然后跳转到mcf5307_lo.s中的asm_startmeup。该段代码首先进行部分初始化和真正初始化前的准备工作:禁止Cache、禁止中断和地址转换、初始化用户指定的内部模块(MBAR)和内部SRAM(RAMBAR)起始地址。然后,将SP指向内部SRAM空间,即当调用真正的初始化程序时用内部SRAM的一段地址空间作为临时堆栈。接下来,调用sysinit.c文件中的外围电路和系统配置的初始化程序mcf5307_init()。
mcf5307_init()函数顺序调用各个功能的初始化子函数,初始化系统集成模块、并行通用输出输入口、串口、I2C控制器、DMA控制器、片选寄存器、SDRAM控制器。当运行完mcf5307_init()后,流程回到asm_startmeup中。此时,外围电路和内部模块已按用户要求进行了正确的配置,系统的初始化已基本完成。于是,将堆栈指针SP指向用户要求的堆栈空间,该堆栈为该板上的外部SDRAM空间。最后,跳转至main函数。
在main中,首先将系统的矢量表从Flash空间拷贝到用户指定的外部SDRAM中。然后,将Flash中的data段初值拷贝到外部SDRAM指定的data空间中,根据配置将外部SDRAM中的bss段清0,之后进行一些系统全局数据结构、参数表等的初始化。最后,调用mainloop开始人机交互循环:不断接收用户的命令、根据命令查表调用相应的任务函数、在界面上打印出相应的执行信息。
3 bootloader用户应用
(1)bootloader的系统移植
由于Motorola的dBUG bootloader为一标准的范例程序,要将其移植到具体的嵌入式系统中,还需要根据系统的硬件配置,修改其部分配置文件和底层接口文件。本文以用于网络数据存储的ColdFire5307C3开发板为例,介绍在其上的dBUG移植过程。
①ColdFire5307C3开发板硬件情况:
ColdFire5307 32位处理器,16MB (32位数据总线)SDRAM,2MB (16位数据总线)Flash ROM,2 UART,10Mbps (16位数据总线)以太网接口。
②修改bootloader的处理器和配置相关文件:
a. 根据5307处理器手册及用户需要,修改vector.s中的中断矢量表。
- 上一篇:低功耗手多媒体终端硬件平台的研究
《Motorola微处理器的bootloader分析与应用》相关文章
- › Motorola微处理器的bootloader分析与应用
- › testpoint for motorola V3
- 在百度中搜索相关文章:Motorola微处理器的bootloader分析与应用
- 在谷歌中搜索相关文章:Motorola微处理器的bootloader分析与应用
- 在soso中搜索相关文章:Motorola微处理器的bootloader分析与应用
- 在搜狗中搜索相关文章:Motorola微处理器的bootloader分析与应用