如何将系统软硬件环境带到合适状态解析方案
来源:元器件交易网 作者:—— 时间:2012-03-22 15:45
BootLoader通常称为“系统的引导加载程序”,是系统加电或复位后执行的第一段程序代码[1]。这段程序的主要任务是,实现硬件设备初始化并建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。通常, BootLoader包含两种不同的加载和启动引导方式,即启动加载方式和下载方式。
① 启动加载(boot loading)方式。这种引导方式也称为“自主(autonomous)引导方式”,也即BootLoader从目标机的某个固态存储设备上将操作系统加载到RAM中并引导运行,整个过程并没有用户的介入。这种引导方式是BootLoader的正常工作模式下普遍采用的一种引导方式。因此在嵌入式产品发布的时候,BootLoader一般以这种引导方式对内核代码进行启动引导。
② 下载(down loading)方式。在这种引导方式下目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机下载文件,如下载应用程序、数据文件、内核映像等。从主机下载的文件通常首先被BootLoader保存到目标机的RAM中,然后再被BootLoader写到目标机上的固态存储设备中,其后完成内核的引导运行。BootLoader的这种引导方式通常在系统研发和更新时使用。
在嵌入式系统研发阶段,现有的BootLoader下载引导方式又可根据加载途径的不同细分为以下几种:
① 通过Ethernet网口从宿主机下载内核到目标板,从而实现软件系统启动;
② 通过串口从宿主机下载内核到目标板从而实现软件系统启动;
③ 直接从Flash中提取已存储的内核,从而实现软件系统的启动。
总结以上几种引导方式会发现,它们有些共同的弊端;在系统调试时需要进行宿主机与目标板间的硬件线路的实际连接,使用起来不够方便,且烧片的速度比较缓慢,调试的效率不高;硬件方面需要大容量的Flash的支持,增加了研发成本;进行内核更新时显得不够灵活。为此,采用可移动的存储介质对系统内核进行存储(如SD卡、CF卡等),从而实现对系统内核的灵活调试和引导。这种引导方式的好处是,在调试时无需把宿主机和目标板进行硬件连接,提高了调试的效率,使用起来更便捷、更灵活;进行内核更新时显得更为灵活,只需把更新内核转存到指定目录,此外它的实现也比较简单。进行这方面的改进时只需做以下工作:在硬件方面,增加针对特定移动存储介质的硬件电路,而在中大型系统中,有关移动存储介质的硬件电路(如SD卡、CF卡等相关的电路)是现成的,所以硬件部分也可忽略;在BootLoader程序内部,只需添加对移动存储介质(如CF卡、SD卡等)基于文件系统进行存储访问的指令。按此思路,在已有硬件平台的基础上针对移动设备SD卡对原有BootLoader进行了改进。下面介绍实现过程。
1 硬件平台
本次改进测试的硬件平台是由英蓓特公司开发的基于LPC2294 ARM控制器的LPC22EB06I实验平台。其上的主要功能模块有:
① 2 MB的Flash、1 MB的SRAM(可扩展到4 MB)、256B具有I2C接口的E2PROM等存储器;
② 2个RS232(其中一路可接Modem)、RS485、CAN等通信总线接口;
③ 2个调试接口:LPT和JTAG调试接口;
④ 支持CF卡、SD/MMC等移动存储介质;
⑤ 支持128×128真彩显示。
图1是其硬件功能框图。

图1 LPC22EB06I开发平台功能框图
2 BootLoader的改进设计
2.1 原有BootLoader功能
原来的BootLoader具有如下功能:
① 串口下载功能,通过串口下载内核到指定RAM区;
② Flash烧写功能,从RAM区烧写数据到Flash中;
③ 数据区内块搬移功能;
④ 其他功能。其指令封装结构如下:
struct _CMD_TBL {
char *cmd;//命令字
bool(*run)(struct _CMD_TBL*cptr,int argc,char**argv);//指向具体的功能处理函数
相关文章
- •宇凡微13万转暴力风扇无刷电机集成驱动方案,加速市场布局2024-07-11
- •大联大世平集团推出基于耐能Kneron产品的AI相机方案2023-06-15
- •大联大友尚集团推出基于CVITEK和SOI产品的网络摄像机(IPC)方案2023-02-16
- •尊湃通讯完成数亿人民币Pre-A轮融资,致力于提供全系列Wi-Fi芯片及解决方案2022-05-09
- •Silicon Labs推出业界最广泛的汽车级时钟解决方案系列产品2019-09-24
- •高通推出面向5G多模移动终端的第二代射频前端解决方案2019-02-20
- •成立重组小组:金立未来几周将制定重组方案2018-07-16
- •迈来芯隆重推出汽车执行器应用集成解决方案2018-06-25
- •左手方案,右手制造,无线模组供应商究竟该如何破冰前行?2017-05-04
- •创业公司:自己做硬件实在太苦逼了!2016-06-13
资讯排行榜
- 每日排行
- 每周排行
- 每月排行
- 裁员5000!该MCU大厂出了什么问题?
- 思特威推出首颗医疗应用200万像素CMOS图像传感器
- Vishay新款高可靠性隔离放大器,拥有业内先进的CMTI,用于精密应用
- 车辆区域控制架构关键技术——趋势篇
- 摩尔斯微电子携手Gateworks,利用Wi-Fi HaLow革新工业连接
- 基本半导体IPO背后,千亿碳化硅市场机会分析
- 从装饰到交互,艾迈斯欧司朗OSP开放协议重构动态照明交互脉络
- 大联大世平集团推出以NXP产品为核心的Klipper 3D打印机方案
- Arm 携手微软赋能开发者创新,共筑云计算和 PC 未来
- ROHM开发出适用于AI服务器48V电源热插拔电路的100V功率MOSFET