当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要 :嵌入式软件在线升级是指不重启计算机而完成的软件升级工作,文中通过仪表的 SD 卡更新嵌入式软件,不需要拆装仪表,由于软件本身不包含可擦写的 FLASH 代码,不影响烧录过程,具备较高的可靠性和安全性。

引 言

随着电子通信技术、计算机技术的迅速发展,嵌入式产品被广泛应用到医疗、工控、办公、商用等各个领域。新技术的不断涌现及对系统性能规模的不断提高,要求开发者为应对各种需求及时对智能仪器仪表系统进行维护或升级,以延长系统的使用周期。嵌入式软件是智能仪器仪表的软件主体,随着智能仪表的多功能化,通过升级嵌入式软件改进或增加功能变得普遍,升级嵌入式软件就必须对存储嵌入式软件的 FLASH 进行擦除,再重新写入新的软件 [1-3]。

1 嵌入式软件的特点及关键技术

嵌入式软件即嵌入在硬件中的操作系统和开发工具软件,嵌入式软件广泛应用于国防、工控、家用、医疗等领域, 如我们常见的移动电话、数码相机、机顶盒等都是嵌入式软件对传统产品进行智能化改造的结果。嵌入式软件可分为嵌入式操作系统、嵌入式支撑软件及嵌入式应用软件,其具有独特的实用性、灵活的适用性等特点。嵌入式软件与嵌入式硬件资源关系密切,涉及相应的关键技术也较多,主要包括数字电路、微控制器及传感器灯硬件技术,还包含 Canvas 绘图功能、HTML5、移动定位等软件技术。总体而言,嵌入式软件可与智能终端、传感器、数据相结合,利用嵌入式软件处理视频、音频、文字等相关内容,为各领域的信息化服务提供支撑,实现其强大的数据共享等服务功能 [4]。

2 嵌入式软件在线升级技术的系统构架

嵌入式软件在线升级是指不重启硬件设备而完成的软件升级。嵌入式软件在线升级是提高系统可靠性的有效途径,有利于维持嵌入式系统平台的稳定性。本文研究的重点是提供一种无需拆装仪表,不需要特殊工具和软件,通过仪表的 SD 卡更新嵌入式软件的在线嵌入式软件升级技术。所述的微处理器采用 STM32F429BIT6 芯片,RAM 使用 IS42S16160C-7TLI 的 SDRAM 存 储 器 ,FLASH 使 用STM32F429BIT6 集成的具有 IAP 功能的 FLASH 存储器, SD 控制器使用 STM32F429BIT6 集成的 SD 控制器模块,SD 卡接口为标准的 SD 卡连接器,SD 卡为标准的 SD 卡 [5-6]。嵌入式软件在线升级技术的系统框图如图 1 所示。

图 1 嵌入式软件在线升级技术的系统框图

该系统包括集成 CPU,FLASH,SD 卡控制器的微处理器,SDRAM 存储器,SD 卡连接器及 SD 卡。微处理器与SDRAM 通过并行总线连接,与 SD 卡通过 SD 卡连接器连接, 并使用内部的 SD 控制器进行通信。

在更新嵌入式软件时,装置上启动更新,更新程序从SD 卡中读取引导程序和新程序文件到 SDRAM 中,CPU 跳转执行 SDRAM 中的引导程序,引导程序包含了擦除 FLASH 和写入 FLASH 的代码,通过这种方式,擦除 FLASH 和写入 FLASH 的代码不会出现在正常运行的嵌入式软件中,可避免因程序跑飞引起误擦除或误写入的情况,然后引导程序会将新程序文件写入到 FLASH 中, 新程序文件写入完成后,仪表将运行更新后的嵌入式软件,嵌入式软件更新完成 [7-8]。

3 SD卡的系统软件设计

3.1 SD卡的底层驱动程序设计

SD 卡(Secure Digital Memory Card,SD)是一种基于半导体快闪记忆器的新记忆设备,由于在体积、重量、传输速率、稳定性、价格等方面有众多优势,因此被广泛地用于便携式装置上,如多媒体播放器、数码相机及 AV器材等。SD 卡技术是基于 FLASH的存储卡,通过接口界面与驱动器相连,不需要外接电源来维持记忆信息 ;同时也是一体化的固态介质,功能稳定,不会造成机械性损坏 [9]。

SD卡驱动程序的主要步骤为 SD卡的初始化,向 SD卡发送命令函数,获得响应的接口函数。SD 卡的初始化是指用户应用程序以文件的形式访问和读取 SD卡上的数据 ;SD 卡本身只是一种数据介质,不包含文件系统,因此要想以文件系统的形式访问 SD卡,必须先驱动 SD卡,通过调用 SD 卡物理层的有关函数来实现驱动。驱动 SD卡主要实现扇区的读写、获取 SD卡的相关配置信息等。SD卡的读写操作都是基于命令的,通过向 SD卡发送相应的命令,获得相应的接口函数控制 SD 卡。通过这些基本的底层驱动接口程序, 配合相应的命令,可完成 SD卡的驱动操作 [10]。

3.2 SD卡的 FAT32文件系统设计

为了对数据的写入进行有效地管理,能够在 SD 卡的 PC 端被访问,在 SD 卡完成底层驱动后,可按照 FAT32 文件系统格式对数据进行操作,进而在 SD 卡上实现读写文件等操作。FAT32 文件系统是目前微软 FAT 类文件系统中的最高版本,采用了 32 位的文件分配表,可提高利用率,是现今Windows 下常用的硬盘文件系统。FAT32 文件系统设计包括以下步骤 :程序的初始化、初始化内存、载入 SD 卡、打开文件夹、读写文件等操作 [11]。

3.3 软件升级功能的实现

在线更新嵌入式软件的流程如图 2 所示。软件部分首先通过 SPI 协议对 SD 卡进行初始化,完成 SD 卡的底层驱动程序设计,再根据 FAT32 文件系统组织形式对 SD 卡中的数据进行读取或更新,将读取到的数据通过 IAP 方式写入FLASH 中,新程序文件写入完成后,用程序实现跳转到指定代码段执行,仪表将运行更新后的嵌入式软件。

4 结 语

嵌入式系统是当前最有发展前景的 IT 应用领域之一, 传统的嵌入式系统软件升级方式耗时长、成本高。本文的研究可妥善解决这一问题,同时还能解决一些问题 :不需要拆装仪表,避免二次损坏 ;嵌入式软件本身不包含擦写 FLASH 的代码,保证 FLASH 不会被误擦写,具备较高的安全性 ;程序预先载入到 RAM,即使升级过程中发生 SD 卡损坏、拔除等异常事件,也不会影响烧录过程,具备较高的可靠性。

基于 SD 卡的嵌入式软件在线升级系统研究

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

英伟达9月20日的“春晚”GTC没能力挽狂澜。美东时间9月26日,英伟达收盘于122.28美元。一个月前的8月26日,英伟达开启了本轮下行,从当天开盘的178.57美元一路下探,至今已跌去超三成。

关键字: 算力 英伟达 计算机

中国超级计算机是如何实现从无到有,从大型机到巨型机进化的?1950年3月,中央人民广播电台播发了一封书信,信中说“梁园虽好,非久居之乡,归去来兮。

关键字: 超级 计算机 进化史

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

北京2022年10月17日 /美通社/ --  "天下武功、唯快不破",数字经济时代尤甚。 数据极富价值,堪比新时代的石油。数字经济时代,数据价值如何快速、高效地释放显得尤为重要。自20...

关键字: 软件 IO SSD CPU

现实生活中,我们听到的声音都是时间连续的,我们称为这种信号叫模拟信号。模拟信号需要进行数字化以后才能在计算机中使用。

关键字: 模拟信号 数字化 计算机

最近呢,在工作期间,确实被这种问题给困扰了,如何有效的管理电脑自启动的程序,相信大多数人都没有搞透彻,下面主要从Windows和Linux两个系统来进行分享,喜欢的记得点赞和再看哦!

关键字: 自启 电脑 软件

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

济南2022年10月14日 /美通社/ -- 近日,浪潮新基建成功通过CMMI(软件能力成熟度集成模型)三级认证并正式获得资质证书。继2021年组建后,仅一年时间就斩获全球软件领域最权威的认证之一,标志着浪潮新基建在技术...

关键字: 软件 新基建 智慧城市 模型

《物联网技术》杂志

2511 篇文章

关注

发布文章

编辑精选

技术子站

关闭