摘要:在嵌入式系统中,Bootloader在完成引导加载系统镜像的同时,扩展和增加了具体硬件模块上的功能支持,以方便开发人员进行开发和调试。这篇文章在基于Intel PXA 272嵌入式处理器的一个硬件平台上,设计并实现了一个支持从SD卡加载系统镜像并启动系统的bootloader,并对其加载性能进行测试和分析。
关键词:Bootloader,嵌入式处理器,WinCE操作系统,SD卡
PC机中的引导程序一般由BIOS和位于MBR的OS Bootloader(例如LILO或者GRUB)一起组成。然而在嵌入式系统中通常没有像BIOS那样的固件程序(有的嵌入式CPU有),因此整个系统的加载启动任务就完全由Bootloader来完成。但是随着嵌入式系统的发展,Bootloader已经逐渐在基本功能的基础上进行了扩展,Bootloader可以更多地增加对具体系统的板级支持,即增加一些硬件模块功能上的使用支持,以方便开发人员进行开发和调试。编写BootLoader是开发WinCE系统第一步,也是关键的一步。只有得到一个稳定工作的Loader程序,才能够更进一步开发WinCE的BSP,直至最后整个系统的成功。【1】
我们的硬件平台采用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卡时钟线
SD_nCD
输出
EINT23/GPF1
SD卡检测引脚
SD_WP
输出
GPC3
SD卡写保护引脚
本文关键字:Intel 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术