嵌入式系统的启动和刷新方法及其刷新程序的构造方法与流程

文档序号:13297258阅读:662来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
嵌入式系统的启动和刷新方法及其刷新程序的构造方法与流程

本发明涉及软件技术领域,特别涉及嵌入式系统的启动和刷新方法及其刷新程序的构造方法。



背景技术:

刷新程序在以mcu为主的嵌入式系统中的主要作用是完成程序的加载和更新。启动后如果刷新程序判断系统中的应用程序有效,则跳转到应用程序执行,如果判断应用程序无效,则提示上位机需要更新应用程序。应用程序是否有效一般通过存储在系统flash中的标志位来判断。

这样的系统有三大缺陷:

1、每次启动系统最先运行的是刷新程序,其次才是应用程序,会浪费一定时间,对响应速度和实时性要求高的系统不太适用。

2、这种系统需要修改应用程序的编译链接方式,增加了应用程序开发的复杂度。因为在这种系统中刷新程序占用了固定的地址空间,一般从0地址开始,应用程序的起始地址需在刷新程序的结束地址后,但是一般默认编译环境编译的程序都是从零地址开始,所以在应用程序发布前不仅需要重新调整应用程序的内存布局,还要做好中断向量表的重映射,需要对编译链接环境十分熟悉,稍有不慎就可能造成运行应用程序时出现异常,而这种异常也十分难于定位。

3、刷新程序地址是固定的,约束了应用程序的地址范围,如若应用程序变大,可能会无法烧录。



技术实现要素:

本发明要解决的技术问题是:提供一种嵌入式系统的启动和刷新方法及其刷新程序的构造方法,缩短系统启动耗时,进一步的,根据需要还可再次修改刷新程序的位置。

为解决上述问题,本发明采用的技术方案是:

嵌入式系统的刷新程序的构造方法,将应用程序烧写在以系统默认的启动地址为起始地址的存储空间中,将刷新程序的起始地址烧写在应用程序结束地址后到存储空间结束地址前的任意地址;若系统中无任何程序,则将系统上电默认的程序起始地址的内容设为跳转到刷新程序的起始地址的指令。

具体的,刷新程序在编译时,提供有一个可配置的编译参数,该编译参数规定了刷新程序的起始地址;若需调整刷新程序的位置,则重新配置编译参数的参数值。

嵌入式系统的启动和刷新方法,具体步骤如下:

a.系统启动,判断是否有应用程序,若是,则进入步骤b,否则进入步骤c;

b.继续执行应用程序,并判断是否需要更新应用程序或刷新程序,若是则进入步骤c;否则继续执行应用程序;

c.跳转到刷新程序的起始地址,并执行刷新程序,其中,刷新程序的起始地址烧位于应用程序结束地址后到存储空间结束地址前的任意地址;

d.判断刷新程序是否需要更新,若是,则更新刷新程序,并返回步骤a,否则进入步骤e;

e.更新应用程序,并返回步骤a。

进一步的,步骤e之前还包括:

判断是否需要调整刷新程序的位置,若需要,则先重新配置编译刷新程序的编译参数的参数值,再进入步骤e,若不需要,则直接进入步骤e。

进一步的,判断是否需要调整刷新程序的位置的依据为:应用程序大小是否超出原应用程序结束地址至刷新程序起始地址之间的存储空间的大小。

本发明的有益效果是:

1、由于系统启动后正常情况直接运行应用程序,无须运行刷新程序,因此缩短启动耗时,系统启动后只有遇非正常情况,如应用程序无效,才运行刷新程序。

2、由于在编译刷新程序时,提供了一个可配置的编译参数,因此刷新程序可以灵活配置其在存储空间的位置,固化后还可以再次修改位置。

附图说明

图1为嵌入式系统的内存布局图;

图2为嵌入式系统的启动和刷新流程图。

具体实施方式

实施例1

实施例1提供一种嵌入式系统的刷新程序的构造方法,如图1所示,通过将应用程序烧写在以系统默认的启动地址为起始地址的存储空间中(一般为0地址),将刷新程序的起始地址烧写在应用程序结束地址后到存储空间结束地址前的任意地址;若系统中无任何程序,则将系统上电默认的程序起始地址的内容设为跳转到刷新程序的起始地址的指令。

刷新程序在编译时,提供有一个可配置的编译参数,该编译参数规定了刷新程序的起始地址;若需调整刷新程序的位置,则重新配置编译参数的参数值。

在具体实施时,分为以下三种情况

(一)系统中无任何程序时的烧写步骤:

1、将刷新程序烧写到嵌入式系统中。

2、将系统上电默认的程序起始地址的内容设为跳转到刷新程序的地址的指令。

3、与上位机连接。

4、上位机发送更新应用程序指令01。

5、刷新程序准备好更新应用程序的环境,并回复11。

6、上位机发送待更新的应用程序。

7、刷新程序接收并烧写应用程序,完成后回复12。

8、上位机收到指令,显示更新完成。

9、刷新程序复位嵌入式系统。

10、系统重新启动,默认的程序起始地址的内容为应用程序的第一条指令,所以直接启动应用程序。

(二)系统中已有应用程序,需要再更新的烧写步骤:

1、上位机发送更新应用指令01

2、应用程序跳转到刷新程序的起始地址

3、后同实施方式(一)中的步骤5-10

(三)改变刷新程序地址的步骤:

1、在编译刷新程序时,提供一个可配置的编译参数,该参数规定了刷新程序的起始地址,即烧写到存储空间的地址,改变此地址为新的刷新程序的起始地址,并重新编译链接。

2、上位机发送更新刷新程序的指令02

3、刷新程序准备好更新刷新程序的环境,并回复22

4、上位机发送待更新的刷新程序。

5、刷新程序接收并烧写刷新程序,完成后回复23

6、上位机收到指令,显示更新完成。

7、刷新程序将系统上电默认的程序起始地址的内容设为跳转到新的刷新程序的地址的指令。

8、刷新程序复位嵌入式系统。

9、系统重新启动,跳转到新的刷新程序的起始地址,开始运行新的刷新程序。

实施例2

实施例2提供一种嵌入式系统的启动和刷新方法,该方法基于实施例1的刷新程序的构造,如图2所示,具体步骤如下:

a.系统启动,判断是否有应用程序,若是,则进入步骤b,否则进入步骤c;

b.继续执行应用程序,并判断是否需要更新应用程序或刷新程序,若是则进入步骤c;否则继续执行应用程序;

c.跳转到刷新程序的起始地址,并执行刷新程序,其中,刷新程序的起始地址烧位于应用程序结束地址后到存储空间结束地址前的任意地址;

d.判断应用程序大小是否超出原应用程序结束地址至刷新程序起始地址之间的存储空间的大小,若超出,则表明需要调整刷新程序的位置,则先重新配置编译刷新程序的编译参数的参数值,再进入步骤e,若未超出,则表明不需要调整刷新程序的位置,则直接进入步骤e;

e.更新应用程序,并返回步骤a。

实施例3

在pic24ep512gu810芯片中,初始时我们将flash0地址(即系统默认的启动地址)的指令烧写为跳转到0x30000,在0x30000处烧写刷新程序。系统上电后首先运行0地址指令,即跳转到0x30000处,开始运行刷新程序,此时刷新程序和上位机通信,上位机发送更新应用程序的指令,刷新程序开始更新应用程序,应用程序被烧写到0地址为起始地址的flash中。应用程序更新完毕后,重启系统。此时flash0地址中的指令为应用程序的第一条指令,运行0地址指令即开始运行应用程序,以后每次重启系统都可以直接运行应用程序,无须再运行刷新程序。如果需要再次更新应用程序,则上位机发送更新指令,应用程序跳转到刷新程序,刷新程序配合上位机一起完成应用程序的更新。

以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 在虚拟机上安装操作系统的方法...
  • 数据库部署文件的生成方法、部...
  • 一种闹铃的关闭方法、系统及终...
  • 应用程序页面打开方法、终端以...
  • 一种应用程序及其安装资源的处...
  • 基于移动智能终端的多人可交互...
  • 虚拟机管理服务模块热升级的方...
  • 一种OpenStack多节点...
  • 截屏方法、装置、电子设备及可...
  • 一种基于Struts框架扩展...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
嵌入式系统程序设计相关技术
  • 远程嵌入式程序触发方法
  • 嵌入式系统中对rom程序的升级方法
  • 一种基于嵌入式的程序快速执行方法及系统的制作方法
  • 嵌入式电子装置及在嵌入式电子装置中程序执行校验方法
  • 一种嵌入式程序压缩方法
  • 加载非易失存储器程序的方法及嵌入式系统和控制装置的制作方法
  • 一种修正只读存储器中程序的嵌入式系统及其实现方法
  • 嵌入式系统带有内存利用的分析局部程序的实现方法
  • 可更新操作系统程序的嵌入式装置及其方法
  • 嵌入式系统程序升级方法
嵌入式系统启动过程相关技术
  • 一种嵌入式系统启动方法和装置的制造方法
  • 一种嵌入式Linux系统快速安全启动方法
  • 一种嵌入式主程序的启动检测与保护的方法及系统的制作方法
  • 启动多个mbms计数过程的方法及系统、mce和基站的制作方法
  • 在嵌入式闪存测试过程中产生和显示位图信息的装置的制作方法
  • 一种基于启动装载程序实现嵌入式系统运行的方法
  • 嵌入式系统的快速安全启动装置制造方法
  • 程序启动方法及使用上述方法的嵌入式系统的制作方法
  • 一种嵌入式系统中启动磁盘备份的方法及其系统的制作方法
  • 一种嵌入式系统的安全启动方法
嵌入式系统启动相关技术
  • 嵌入式系统启动优化方法及装置的制造方法
  • 一种嵌入式系统切换启动装置的制造方法
  • 嵌入式系统启动方法和智能终端的制作方法
  • 一种嵌入式系统中的应用程序自恢复运行方法及装置的制造方法
  • 嵌入式系统启动方法和智能终端的制作方法
  • 一种嵌入式Linux操作系统启动SD卡的制作方法
  • 一种嵌入式系统的启动方法及嵌入式装置的制造方法
  • 一种配置网络设备的方法、光模块及网络设备系统的制作方法
  • 一种嵌入式板上实现双操作系统启动的方法
  • 一种终端的安全启动系统和方法
构造方法相关技术
  • 一种改进的喷泉码度分布算法的制造方法与工艺
  • 一种基于虚拟网映射的服务路径构造方法与流程
  • 城市道路中基于车辆状态预测的连通性模型的构造方法与流程
  • 一种数据源地址分发树的构造方法和用于复制数据的方法与流程
  • 结构体及其制造方法与制造工艺
  • 构造支持提供探索性建议的图的制造方法与工艺
  • 构造物的屋内监视系统以及方法与制造工艺
  • 气垫及其构造方法与制造工艺
  • 并行哈希函数的构造方法与制造工艺
  • 一种多层链接分离的skiplist构造方法及系统与制造工艺
无参构造方法相关技术
  • 具有粘合的封闭机构的包裹织物套筒及其构造方法
  • 可充气运动球皮块的构造方法
  • 用于货物输运的高分子微米马达的低成本构造方法
  • 波纹针织套筒及其构造方法
  • 活塞及其构造方法
  • 非扭结的自身卷包的编织的套筒及其构造方法
  • 一种基于模型的混合云构造方法
  • 一种偏光片及其构造方法
  • 增强的编结套筒及其构造方法
  • 同轴电缆及其构造方法
什么是构造方法相关技术
  • 一种随机映射码的构造方法
  • 散热系统及其构造方法
  • 云计算环境下面向不确定数据源的工作流视图构造方法
  • 试题构造方法和装置、使用该方法制作的试卷、以及存储用于执行该方法的试题构造程序 ...的制作方法
  • 一种树型通讯录的构造方法
  • 一种协议自动识别方法及其所用分类器的构造方法
  • 数字水印日志构造方法
  • 模拟器构造方法
  • 可重构集群的模块化三维构造方法和可重构集群构造结构的制作方法
  • 构造搜索结果说明的制作方法

PHP网站源码布吉外贸网站制作爱联设计公司网站南联网站优化石岩至尊标王松岗网站搭建惠州网站推广东莞网站排名优化永湖百度竞价荷坳网站推广光明网站搜索优化大浪模板网站建设塘坑设计网站横岗高端网站设计光明seo排名石岩设计网站吉祥百搜标王西乡百度竞价包年推广龙岗设计网站平湖推广网站惠州网站定制坪山企业网站改版丹竹头百度关键词包年推广民治至尊标王吉祥网站设计布吉企业网站改版福永SEO按效果付费坪地网站制作设计石岩网站制作设计坪山至尊标王永湖品牌网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化