首页> 中国专利> 一种基于启动装载程序实现嵌入式系统运行的方法

一种基于启动装载程序实现嵌入式系统运行的方法

摘要

本发明公开了一种基于启动装载程序实现嵌入式系统运行的方法,启动装载程序完成单板的基本设置,包括:各个芯片和子系统配置、通讯参数设置、文件系统配置;所述启动装载程序还执行如下处理:步骤一,装载系统需要支持的外围设备基础读/写命令;步骤二,装载由基础读/写命令组合完成的设置命令,控制各个功能芯片执行一定的动作或者改变存储芯片中保存的数据;步骤三,系统进入等待状态,等待输入用户命令,并且解析用户命令,执行不同操作。采用本发明所述方法,实现部分OS功能,更加方便简洁,从而提高了系统的装载速度,在系统运行之后再将文件通过高速通讯下载到指定位置,提高了下载速度,加快了开发调试速度。

著录项

  • 公开/公告号CN1776619A

    专利类型发明专利

  • 公开/公告日2006-05-24

    原文格式PDF

  • 申请/专利权人 北京中星微电子有限公司;

    申请/专利号CN200510130559.7

  • 发明设计人 涂坚;游明琦;

    申请日2005-12-15

  • 分类号G06F9/445(20060101);

  • 代理机构11010 信息产业部电子专利中心;

  • 代理人吴永亮

  • 地址 100083 北京市海淀区学院路35号世宁大厦15层

  • 入库时间 2023-12-17 17:16:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-02-13

    未缴年费专利权终止 IPC(主分类):G06F9/445 授权公告日:20071017 终止日期:20111215 申请日:20051215

    专利权的终止

  • 2007-10-17

    授权

    授权

  • 2006-07-19

    实质审查的生效

    实质审查的生效

  • 2006-05-24

    公开

    公开

说明书

技术领域

本发明涉及一种包含存储、通讯和设备基础读写操作的嵌入式设备启动技术,尤其是涉及一种基于启动装载程序(bootloader)实现嵌入式系统运行的方法,实现对嵌入式设备开发速度和启动速度的提高。

本发明主要应用于小型嵌入式设备开发领域。

背景技术

所谓嵌入式设备是指使用微处理器并且有配合的软件系统,运行此软件系统来操作硬件设备以完成某项或者某类特定任务的设备。

目前的小型的嵌入式设备(主要指使用一个主微处理器的嵌入式设备)通常是将一个实时(或分时)多任务(或单任务)操作系统加载到一个单板主微处理器上应用,从而实现较快的开发速度和较高的单板性能。

以目前比较常用的uclinux操作系统为例,bootloader(启动装载程序)将单板各个芯片和子系统初始化之后,将控制权交给uclinux系统,此后的运行只能服从uclinux的调派,

这种方式占用比较多的资源,因为uclinux是通用的系统,而不针对某个单板系统定制,很多功能实际并不使用,但是也占用资源。

例如,uclinux所包含linux内核程序,是支持多线程分时处理系统内核,此内核包含比较复杂的进程/线程调度管理程序,包括进程优先级管理、内存管理、堆栈管理等管理程序;在某个特定系统中可能并不需要如此复杂的管理程序,但是因为uclinux是通用操作系统,不可能将其内核修改到与特定系统需要一致;这些不需要但是不可能删除的复杂的功能程序就占用了系统的存储空间、运行内存空间和微处理器运行时间,实际上反而降低了系统的效率。

同时uclinux系统必须使用linux的指令系统,使用linux的存储格式,使得开发嵌入式系统必须在linux开发环境中进行,很多有良好Windows编程经验的程序员必须重新学习linux环境的编程,这在很大程度上提高了嵌入式的入门台阶。

类似的,还有内存分配管理、Ethernet支持等程序,他们可能是某个特定系统并不需要的,但是他们也占用了系统的资源。

综上所述,在嵌入式系统开发中千篇一律的使用uclinux通用系统开发,虽然是比较简单的实现方案,但是实际上产生了减慢单板运行速度,限制嵌入式的发展的效果。同样,使用其他通用操作系统开发,也存在方案简单但是效率低下的问题。

发明内容

本发明的目的是提供一种基于启动装载程序实现嵌入式系统运行的方法,在本发明中启动装载程序不仅实现引导功能,还进一步实现部分的操作系统功能。

本发明具体是这样实现的:

一种基于启动装载程序实现嵌入式系统运行的方法,启动装载程序完成单板的基本设置,包括:各个芯片和子系统配置、通讯参数设置、文件系统配置;

其特征在于,所述启动装载程序还执行如下处理:

步骤一,装载系统需要支持的外围设备基础读/写命令;

步骤二,装载由基础读/写命令组合完成的设置命令,控制各个功能芯片执行一定的动作或者改变存储芯片中保存的数据;

步骤三,系统进入等待状态,等待输入用户命令,并且解析用户命令,执行不同操作。

所述启动装载程序还进一步执行如下处理:

步骤四,将Flash/ROM按照FAT32格式建立文件系统,包括引导区、信息区、数据区。

步骤五,所述基础读/写命令按照逻辑关系和时序关系编写成可以执行的程序代码影像打包成文件,存储在Flash/ROM,并通过步骤三的用户命令来定位并运行此文件。

所述步骤一中外围设备基础读/写命令进一步包括功能芯片的寄存器、端口和存储芯片的数据。

所述步骤三的输入用户命令包括按键输入或者PC通讯输入。

所述步骤三中解析用户命令包括将用户命令解释为一条或者几条设置命令,并且按顺序执行这些设置命令,完成操作。

本发明的效果体现在以下三方面:

A.传统嵌入式的bootloader只实现引导功能,引导之后交给操作系统管理;本发明将bootloader的功能延伸,通过bootloader实现部分操作系统的功能,这些功能是嵌入式系统开发中最基本的功能,几乎是所有系统开发必须的,主要包括基础通讯支持、基础读写操作、由基础读写操作组合而成的稍微复杂的操作;借助这些功能,开发者可以操作嵌入式系统完成一些简单的系统动作,达到一定的功能目的,而此实现方案因为没有冗余的功能,所占用系统资源远远小于uclinux操作系统,只占用非常少的资源,方便简洁,从而提高了系统的装载速度。

B.本发明可扩展性强,可以通过扩展FAT文件系统,将按一定逻辑和时序组合简单功能得到的非常复杂功能的程序包装成文件形式,就能够在系统运行之后再将文件通过高速通讯下载到指定位置,提高了下载速度,加快了开发调试速度。

C.本发明将运行程序包装成文件形式,用户(开发人员)可以清晰明确的调用需要的程序,实现比较简约合理的资源分配和调用;并且由bootloader支持批处理文件,实现自动运行。

附图说明

图1是本发明所述方法的实施流程图。

具体实施方式

本发明将部分操作系统的功能移至bootloader程序中完成,包括通讯、基础命令的支持、文件系统支持等。

首先,和传统的嵌入式程序一样,bootloader程序需要完成单板的基本设置,包括各个芯片和子系统配置、通讯参数设置、文件系统配置等。

然后进入循环等待命令,包括进一步的设置命令、调试命令和其他基础命令,例如linux的基础命令。

原有bootloader程序流程的具体过程是:

a.复位所有需要同步/异步复位的芯片,使它们进入工作状态;

b.微处理器初始化本身的工作模式,配置各个端口;

c.微处理器根据实际情况初始化各个需要初始化的外围芯片,包括工作模式和通讯协议等;

d.检查和初始化存储芯片(Flash、SDRAM等);

e.设置默认回显设备,以显示嵌入式设备运行信息;

执行了这些基本操作之后,嵌入式设备就从指定的存储器位置(通常是ROM中)读取嵌入式操作系统映像文件并且把这个影像复制到Flash的程序代码段中,然后就跳转到这个Flash地址,开始运行嵌入式操作系统。可以看到,此后嵌入式设备就交由这个操作系统管理。

而本发明的方法是不复制操作系统影像文件并且运行操作系统,而是执行下面的步骤:

f.装载系统需要支持的外围设备基础读/写命令,依靠这些基础读/写命令就能够完成对功能芯片的寄存器、端口和存储芯片的数据进行访问;

g.装载由基础读/写命令组合完成的设置命令,这些设置命令是多条基础读/写命令组合而成,依靠这些组合命令就可以控制各个功能芯片执行一定的动作或者改变存储芯片中保存的数据等;

h.系统进入等待状态,等待输入(按键输入或者PC通讯输入等)命令,这里的命令是由字符构成的用户命令,系统解析这些用户命令,将他们解释为一条或者几条设置命令(设置命令是代码),并且按顺序执行这些设置命令,完成特定的动作。

到此本发明所述方法由bootloader实现的处理已经完成。同时,本发明所述方法具备很高的可扩展性和灵活性,体现在下面的i、j步骤。

i.将Flash/ROM按照FAT32格式建立文件系统,包括引导区、信息区、数据区(FAT32是一种标准的磁盘存储格式),Bootloader支持简单的FAT32文件系统,包括文件存储方式、命名方式等;

j.所述基础读/写命令按照逻辑关系和时序关系编写成可以执行的程序代码影像文件,存储在Flash/ROM中,并通过h步骤的用户命令来定位并运行此影像。

例如:run scanusb来查找所有usb设备并给出具体地址和设备型号,其中“scanusb”是可执行程序代码影像,“run”是一个用户命令,作用是定位可执行文件并且运行此文件的代码。

i、i步骤配合前面所描述的bootloader方法,可以非常灵活的开发调试嵌入式系统。因为本发明的bootloader程序已经可以支持系统的运行,通过i、j步骤可以在运行状态的系统中通过高速的通讯系统从相应的存储设备上下载可执行的程序代码影像文件,支持调试,这种方法比传统下载uclinux和运行文件的方法,传输速度快,传输数据量小,大大提高了嵌入式系统的开发速度。

如附图所示,图中其中右边虚线框中部分为本发明比传统方法新增加的部分。本发明通过丰富灵活的命令系统,配合FAT32文件系统的支持,获得更短的开发周期和嵌入式设备系统启动速度。因为细致而且直接的命令支持,开发中可以方便的试验各个芯片和芯片构成的系统的操作方式、执行时序的优劣,并且实时、直接看到各种操作方式、执行时序的效果,并且可以在系统启动之后再使用USB之类的高速通讯设备下载执行代码影像文件,大大提高下载速度,这样就能有效降低设备开发难度,提高开发的速度;同时,本着嵌入式设备“专用”的宗旨,在调试过程结束之后只装入需要的部分代码,而不是装入linux或者wince系统来配置设备,这样可以有效提高设备启动的速度。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号