当前位置:首页 > 单片机 > 单片机
[导读] 引言嵌入式系统在各个领域有着广泛的应用,嵌入式系统的维护与升级也变得日益重要。由于新技术的不断涌现和对系统功能、性能等要求的不断提高,开发者必须能够针对系统进行升级和维护,以延长系统的使用

引言


嵌入式系统在各个领域有着广泛的应用,嵌入式系统的维护与升级也变得日益重要。由于新技术的不断涌现和对系统功能、性能等要求的不断提高,开发者必须能够针对系统进行升级和维护,以延长系统的使用周期,改善系统性能,增强系统适应性。


传统的嵌入式升级方式通常由维护人员到达设备现场进行重新烧写系统或者更换Flash存储部件,当设备数量庞大并且分布范围广泛时,这种升级维护方式的工作量将非常大,而且耗费的时间长、成本高。随着嵌入式技术的迅速发展,嵌入式系统的远程升级技术得到了快速发展。参考文献提出了一种基于GPRS的嵌入式系统软件的远程在线升级,通过GPRS网络实现对ARM嵌入式终端的系统软件进行在线升级。这种方法的不足在于无法实现系统本身的远程升级。参考文献实现了一种在Bootloader中实现嵌入式系统自动升级的方法,这种方法是将映像文件存储在CF卡中,系统重启时Bootloader将检测CF卡中的映像文件,读取映像文件并烧写到目标板的Flash中,实现升级。如果终端的数量较大且分布广泛,采用这种方法会增加很大的工作量。


本文针对嵌入式Linux操作系统提出了一种新的更新机制,并且基于ARM9微处理器和NAND Flash存储器,对uboot和Linux内核进行修改,实现了对嵌入式Linux系统的远程自动更新。克服了传统方法工作量大的缺点,具有操作简单、更新速度快的特点。


1 基本原理

1.1 总体结构


支持远程自动更新的嵌入式Linux系统机构,它可以分为嵌入式终端和远程管理系统两部分。系统的总体结构如图1所示,嵌入式终端采用基于ARM9架构的AT91RM9200微处理器,采用扩展的32MB SDRAM,由2片16位数据宽度的SDRAM芯片HY57V281620并连而成,采用64MB NANDFla sh存储芯片K9F1208,运行嵌入式Linux系统。远程管理系统选用PC机。嵌入式终端通过以太网连接到远程管理系统,管理人员可以通过telne t即可对各个嵌入式终端进行监控、管理和远程更新

1.2 系统更新流程

本设计对uboot和Linux内核进行改造,使其支持YAFFS2文件系统,对系统添加ftp、telnet等应用服务。系统更新流程如图2所示。系统正常运行时管理人员可以通过telnet远程登录到嵌入式终端进行监控和管理。当需要对系统进行更新时,通过远程管理系统的ftp客户端登录到嵌入式终端,将需要更新的内核映像和文件系统上传到NAND Flash。上传完毕后对原有的内核映像和文件系统进行备份并重启系统。系统重启后uboot将NAND Flash中更新后的内核映像和文件系统搬运到SDRAM中,然后跳转到SDRAM中启动Linux系统,挂载YAFFS2文件系统,启动各种应用服务。


2 关键技术

2.1 uboot支持YAFFS2文件系统

YAFFS2是专门针对嵌入式设备,特别是使用NAND Flash作为存储器的嵌入式设备而创建的一种文件系统。对uboot进行修改,使其支持YAFFS2文件系统,能够将系统内核和文件系统烧写到NAND Flash,同时也能够在NAND Flash中引导启动系统。NAND Flash的分布图如图3所示。系统烧写时,首先用JTAG丁具将uboot烧写到NAND Flash的最前面;然后在uboot上执行tftp命令将内核映像zImage和根文件系统ramdisk传送到SDRAM中;在uboot上执行ymount命令挂载yaffs2文件系统;在uboot上执行ywrm命令可以将zImage和ramdisk烧写到NAND Flash中,此时也可以通过yls命令看到已经烧写的zImage和ramdisk。系统运行时,uboot从NAND Flash中引导zImage和ramdisk,在uboot上执行ymount命令挂载YAFFS2文件系统;执行yrdm命令将zImage和ramdisk读到SDRAM相应的地址中;执行go命令开始引导内核,首先解压ramdisk.gz文件,然后跳转到zImage处执行,zImage自解压后调用start_ker_nel()启动内核。


本实验是将uboot直接烧写在NAND Flash的chunk中,uboot在剩余的空间上挂载YAFFS2文件系统,并将zImage和ramdisk写入文件系统。当系统运行起来后,在相同的NAND Flash空间上挂载YAFFS2文件系统后,可以看到和编辑uboot写入的zImage和ramdisk。同样uboot在启动时也可以看到kernel写入NAND Flash的文件。这样就实现了在uhoot和kernel中都可以升级和更新系统。


2.2 YAFFS2文件系统制作 Y


AFFS(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,它是一种类似于JFFS2的日志型文件系统。相对于JFFS2,YAFFS减少了一些功能,因此速度更快、占用内存更少,并且对NAND Flash具有很好的保护机制,能够延长NAND Flash的使用寿命。因此,YAFFS文件系统的出现,使得价格低廉的NAND Flash芯片具有高效性和健壮性。基于NANDFlash的YAFFS文件系统结构框图如图4所示。目前有YAFFS和YAFFS2 2个版本,2个版本的主要区别之一在于YAFFS2能够更好地支持大容量的NAND Flash芯片。

嵌入式Linux内核本身并不支持YAFFS2文件系统,实现Linux内核对YAFFS2文件系统的支持有2种方法:一种是直接把YAFFS2编译到内核,另外一种是将YAFFS2编译成单独的模块进行加载。为了方便调试,本文选用第二种方法。首先下载YAFFS2源码,这里要注意uboot中的YAFFS2应该和内核中的版本一致。然后将YAFFS2源码解压缩,进行相应的代码修改,编译生成yaffs2.ko模块。将此模块加到ramdisk中,系统启动后挂载yaffs2.ko模块,此时就可以对NAND Flash进行读写。


结语


本文针对嵌入式Linux操作系统,基于uboot和内核对YAFFS2文件系统的支持,利用NAND Flash实现对嵌入式系统的远程更新。本系统从NAND Flash中引导内核与文件系统,可以省去NOR Flash,降低成本。通过以太网对远程嵌入式终端进行自动更新,具有操作简单、更新速度快的特点。


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

“实现机器人操作系统——电机控制器ROS1驱动程序简介”一文中概述了新型ADI Trinamic™电机控制器(TMC)驱动程序,并讨论了将电机控制器集成到机器人操作系统(ROS)生态系统中的方法。TMC ROS1驱动程序...

关键字: 电机控制器 机器人 嵌入式系统

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

【2024年3月25日,德国慕尼黑和瑞典瓦尔贝格讯】不同汽车的独特性给汽车零部件供应商和OEM厂商等带来了挑战,因为每辆车的驾驶方式、驾驶地点、驾驶者、设计、用途以及道路和交通状况都是独一无二的。为保证每辆汽车都能正常运...

关键字: AI 机器学习 嵌入式系统
关闭
关闭