1.Bootloader
1.1Bootloader概述
Boot Loader
就是在操作系统内核运行之前运行的一段程序。通过这段程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。因此,正确建立uClinux的移植的前提条件是具备一个与uClinux配套、易于使用的
Bootloader。
ARM塑封电感器SYS开发板提供了这样一个uClinux专用的Bootloader,该Bootloader程序烧录在系统的地址0x0处,每次上电即运行,能够正确完成硬件系统的初始化和uClinux的引导。
理论上,uC东莞电感器linux引导时并非一定需要一个独立于内核的Bootloader。然而,将Bootloader与内核分开设计能够使大功率电感贴片电感器软件架构更加清晰,也有助于灵活地支持多种引导方式,实现一些有用的辅助功能。
ARMSYS提供的Bootloader的主要任务可以概括如下:
1.硬件初始化;
2.从主机下载新的内核映像和文件系统映像;
3.烧写NorFlash和Nandflash;
4.加载uClinux 内核映像并启动运行;
5.提供串行超级终端上的人机操作界面。
1.2存储空间分布
Bootloader采用默认的存储空间分布地址来加载uClinux内核、文件系统,并按照正确引导uClinux的运行。在ARMSYS的Bootloader中,默认的存储空间分布如下表:
内容 起始地址
存储介质
Bootloader程序空间 0x00000000
Flash
压缩内核映像 0x00010000
Flash
ROM文件系统映像 0x000e0000
Flash
内核运行地址 0x0c008000
SDRAM
压缩内核解压地址 0x0c100000
SDRAM
文件系统加载 0x0c700000 SDRAM
这个存储空间的分配方式也不是固定不变的,可以通过修改Bootloader中的相关代码来改变。
1.3Bootloader的工作
完整的Bootloader引导流程可描述如下:
硬件初始化阶段一
◎ 硬件初始化
◎ 复制二级中断异常矢量表
◎ 初始化各种处理器模式
◎ 复制RO和RW,清零ZI
(跳转到C代码入口函数)
硬件初始化阶段二
◎ 初始化本阶段使用到的硬件设备;
◎ 建立人机界面
◎
实现映像文件的下载和烧录工具
◎ 实现映像文件的加载和运行工具
下面对上述各步骤进行逐一说明,并对与uClinux相关的内容详细加以说明。
1.3.1 硬件初始化
板子上电或复位后,程序从位于地址0x0的Reset Exception
Vector处开始执行,因此需要在电感器生产这里放置Bootloader的第一条指令:b
ResetHandler,跳转到标号为ResetHandler处进行第一阶段的硬件初始化,主要内容为:关Watchdog
Timer,关中断,初始化PLL和时钟,初始化存储器控制器。比较重要的是PLL的输出频率要计算正确,ARMSYS中把它设置为64MHz;这实际上就是处理器的工作主频,这个时间参数在第二阶段计算SDRAM的刷新计数值和UART的波特率等参数时还要用到。
1.3.2建立二级异常中断矢量表
异常中断矢量表(Exception Vector
Table)是Bootloader与uClinux内核发生联系关键的地方之一。即使uClinux内核已经得到处理器的控制权运行,一旦发生中断,处理器还是会自动跳转到从0x0地址开始的第一级异常中断矢量表中的某个表项(依据于中断类型)处读取指令运行。
在编写 Bootloader时,地址0x0处的一级异常中断矢量表只需简单地包含向二级异常中断矢量表的跳转指令就可以。这样,就能够正确地将发生的事件交给
uClinux的中断处理程序来处理。对于uClinux内核,它在RAM空间中基地址为0xc000000处建立了自己的二级异常中断矢量表,因此,
Bootloader的第一级异常中断矢量表如下所示:
b ResetHandler ;Reset Handler
ldr
pc,=0x0c000004 ;Undefined Instruction Handler
ldr pc,=0x0c000008 ;Software
Interrupt Handler
ldr pc,=0x0c00000c ;Prefetch Abort Handler
ldr
pc,=0x0c000010 ;Data Abort Handler
b .
ldr pc,=0x0c000018 ;IRQ
Handler
ldr p模压电感c,=0x0c00001c ;FIQ Handler
LTORG
如果在Bootloader执行的全过程中都不必响应中断,那么上面的设置已能满足要求。但在我们的
ARMSYS上提供了USB下载器,需要用到中断,那么Bootloader必须在同样的地址(0xc000000)处配置自己的二级异常中断矢量表,以便同uClinux兼容。这张表事先存放在
Flash Memory里,引导过程中由Bootloader将其复制到RAM地址0x0C000000:1
集成门极换向晶闸管(IGCT)是集成门极驱动电路和门极换流晶闸管(GCT)的总称,其中GCT是以GTO为基础的器件。IGCT采用了硬驱动、缓冲层和透明阳极发射极等新技术,与GTO相比具有开 贴片绕线电感的作用。基本作用:电感滤波、振荡、延迟、陷波等;形象说法: 通直流,阻交流 细模压电感生产厂化解说:在电子线路中,电感线圈对交流有限流作用,它与电阻器或电容器能组成高通或低通滤波器、移 插件电感器工厂 相信大家对开关电源变压器并不陌生,开关电源变压器在各种电子装备中都常被用到,它作为一种主要的软磁一体成型电感厂家电磁元件,在电源技术中和电力电子技术中得到广泛的应用,开关电功率电感器
上一篇: AT89C51串并转换驱动数码管实验指导
下一篇:功率电感器
1/7 1 2 3 4 5 6 下一页 尾页 |