基于Intel PXA272的Bootloader的设计与实现
发布时间:2007/8/31 0:00:00 访问次数:484
来源:微计算机信息 作者:陈红展 吴非 封仲淹 李锡武
摘要:在嵌入式系统中,Bootloader在完成引导加载系统镜像的同时,扩展和增加了具体硬件模块上的功能支持,以方便开发人员进行开发和调试。这篇文章在基于IntelPXA272嵌入式处理器的一个硬件平台上,设计并实现了一个支持从SD卡加载系统镜像并启动系统的bootloader,并对其加载性能进行测试和分析。
关键词:Bootloader,嵌入式处理器,WinCE操作系统,SD卡
1前言
PC机中的引导程序一般由BIOS和位于MBR的OS Bootloader(例如LILO或者GRUB)一起组成。然而在嵌入式系统中通常没有像BIOS那样的固件程序(有的嵌入式CPU有),因此整个系统的加载启动任务就完全由Bootloader来完成。但是随着嵌入式系统的发展,Bootloader已经逐渐在基本功能的基础上进行了扩展,Bootloader可以更多地增加对具体系统的板级支持,即增加一些硬件模块功能上的使用支持,以方便开发人员进行开发和调试。编写BootLoader是开发WinCE系统第一步,也是关键的一步。只有得到一个稳定工作的Loader程序,才能够更进一步开发WinCE的BSP,直至最后整个系统的成功。【1】
2硬件平台结构
我们的硬件平台采用PXA 272 作为处理器,工作频率为512M HZ,内部集成了64 M bytes NOR Flash。Intel PXA27X处理器是Intel公司推出的32位,基于Xscale架构的高性能的嵌入式芯片。【2】硬件平台结构中主要还包括了如下的主要器件:128 M SDRAM、AC97 codec、 LCD 控制器、IrDa芯片、蓝牙UART、USB控制器。另外还集成了3.5吋、240×320 QVGA的TFT-LCD 触摸屏、PCMCIA、SD/MMC等外设接口,WLAN模块。
Intel的PXA 27X内部支持SD Host的控制模块,有SD Host控制寄存器和可以用于SD Host控制器的IO引脚,可用编程的方法对其功能进行选择;但对于SD卡的检测,写保护和插槽的电源使能
等功能没有专门的引脚。在本文实现中,对于卡检测、电源引脚,通过GPIO扩展来实现。和SD卡硬件相关的部分引脚定义如表1所示:【3】【4】
表1 PXA 272部分GPIO引脚功能定义
信号 | 方向 | Intel 272功能引脚 | 说明 | ||||||||||||||||||||||||||||
SD_nPWREN | 输入 | SDPWEN/GPB2 | SD插槽电源使能信号线 | ||||||||||||||||||||||||||||
SD_DATA3 | 输入/输出 | SDDATA0/GPF5 | 4bit模式:DATA3 | ||||||||||||||||||||||||||||
SD_DATA2 | 输入/输出 | SDDATA0/GPF4 | 4bit模式:DATA2 | ||||||||||||||||||||||||||||
SD_DATA1 | 输入/输出 | SDDATA0/GPE5 | 4bit模式:DATA1 | ||||||||||||||||||||||||||||
SD_DATA0 | 输入/输出 | SDDATA0/GPG2 | 4bit模式:DATA0 | ||||||||||||||||||||||||||||
SD_CMD | 输入/输出 | SDCMD/GPG1 | SD命令线 | ||||||||||||||||||||||||||||
SD_CLK | 输入 | SDCLK/GPF3 | SDIO/SD卡时钟线 | ||||||||||||||||||||||||||||
信号 | 方向 | Intel 272功能引脚 | 说明 |
SD_nPWREN | 输入 | SDPWEN/GPB2 | SD插槽电源使能信号线 |
SD_DATA3 | 输入/输出 | SDDATA0/GPF5 | 4bit模式:DATA3 |
SD_DATA2 | 输入/输出 | SDDATA0/GPF4 | 4bit模式:DATA2 |
SD_DATA1 | 输入/输出 | SDDATA0/GPE5 | 4bit模式:DATA1 |
SD_DATA0 | 输入/输出 | SDDATA0/GPG2 | 4bit模式:DATA0 |
SD_CMD | 输入/输出 | SDCMD/GPG1 | SD命令线 |
SD_CLK | 输入 | SDCLK/GPF3 | SDIO/SD卡时钟线 |