嵌入式linux系统休眠,嵌入式系统休眠唤醒自动运行程序的方法设计-嵌入式系统-与非网...

为了提高系统的启动速度,通常采用基于休眠技术的方式来实现嵌入式系统的快速启动[1]。例如,在一些数字电视中,采用休眠技术以后的启动时间要比原来的启动时间约快1/3[2]。但基于休眠技术的启动方法有其不足之处:在保存内存内容时只能把内存中的信息以快照的形式保存到磁盘或其他外部存储设备,原来系统内某些正在运行的动态进程及进程本身的执行过程不能被完全保存下来,从而导致系统重新启动后此部分进程不能正常运行;基于休眠技术的启动方式一旦以快照的形式保存后其里面的内容将无法改动。基于此,本文运用一种新方法,实现了基于休眠的嵌入式操作系统启动后,可自动运行任何形式的目标脚本和应用程序。

1 休眠唤醒后程序自动运行的方法

最新的Linux2.6内核都支持休眠和待机机制,PC系统中的实现方式有suspend2、swsusp、TuxOnIce等技术,既可以把镜像文件保存到交换分区,也可以保存到一个文件[3]。Linux中这些休眠的具体实现方式有内核方式和软件方式两种,但两种方式都把休眠过程分为两个阶段:(1)SUSPEND阶段:保存当前系统各种状态到非易失性存储设备并关机;(2)RESUME阶段:系统重新启动,引导后恢复已保存的状态[4]。一般嵌入式操作系统的休眠过程如图1所示,休眠后恢复过程如图2所示。

2e4981dc5e2cdcfc0a8367ba4cdad56d.png

本文提出一种基于休眠开关如图3所示的唤醒后程序自动运行方法。此方法的系统整体框架分为自动执行引擎、开关控制进程、休眠开关和配置文件4个部分。

1.1 自动执行引擎

自动执行引擎采用守护进程实现的方式。所谓守护进程就是Daemon进程,是Linux中的后台服务程序,是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些事件的发生[5]。守护进程常常在系统引导装入时启动,在系统关闭时终止。把要运行的目标脚本和应用程序放到守护进程中,并定义一个全局变量Autoflg作为标志位。运用此模块的目的是让其在操作系统后台运行,通过标志位实时监控目标脚本和应用程序的运行状态。守护进程的整体结构图如图4所示。

779d04688e6b247cb11cec99ffce70a2.png

守护进程模块分主调函数生成守护进程的Daemon程序和主调函数程序两部分,通过执行这两个程序最终生成在操作系统后台一直运行的守护进程。其执行的程序框图如图5所示。

a06dab14b4bae47b4e495e5b4819ea63.png

1.2 开关控制模块

此模块的功能是控制守护进程中的Autoflg标志位,此标志位是在守护进程中的主调函数程序中设置的,用来控制目标脚本和应用程序的运行状态。其具体程序框图如图6所示。

1.3 休眠模块

此模块实现守护进程和控制模块之间的通信,采用系统调用的方式,目的是通过控制模块的执行来控制守护进程中标志位的变化,而这种控制是通过在内核中插入信号传递模块来实现。

1.4 配置文件

配置文件(即方法执行)过程:

(1)执行时首先运行守护进程,但要通过Autoflg标志位保证目标脚本和应用程序处于不运行状态。

(2)运行控制标志位函数修改Autoflg,让其保证目标脚本和应用程序可以运行。

(3)执行快速启动,系统执行快速启动程序同时确保保存到磁盘或其他存储设备中的标志位是处于可以使目标脚本和应用程序运行的状态。

(4)因为基于休眠的快速启动方法是以快照的方式把内存内容保存到磁盘或其他存储设备中,并且一旦执行,里面的内容将无法修改,所以以后每次操作系统启动时都能保证守护进程的正常运行,同时也能保证守护进程中的标志位处于能够使目标脚本和应用程序处于运行的状态,从而使目标脚本和应用程序能够正常运行。

(5)为了提高CPU的运行速度和整个系统的使用效率,本方法设置守护进程在每次启动目标脚本和应用程序后都自动退出。因为设置守护进程的目的就是在每次操作系统启动时,使其启动目标脚本和应用程序,待这项工作完成以后,它的使命也随之完成(即从系统的运行速度和运行效率角度来看,已没有其存在的必要性)。

2 实验分析

为了确保本文所提方法的实用性和可靠性,把其应用到海尔数字电视上进行了验证,并对验证结果进行了详细的分析。

实验环境如下:

(1)硬件环境:MSTAR 6I98电视主板:主频为700 MHz,内存为512 MB,Flash为256 MB,总线为I2C、PCI。

(2)软件环境:电视主板中运行Linux-2.6.28.9嵌入式操作系统,串口控制台服务器为Linux操作系统。

首先对海尔数字电视采用基于休眠的技术对其操作系统进行改进,实现数字电视的快速启动。但当采用休眠方式启动后,发现一些应用程序(如/applications/df_

logo、/applications/bin/haier_board)都无法正常运行。对此采用ps命令行查看其进程是否存在,发现某些进程(如df_logo)在控制台上有显示,但在实际情况中不能正常运行,而有些进程(如haier_board)根本就没有显示。

经研究表明,这些脚本或应用程序不能正常启动的原因是:logo文件的执行过程或haier_board应用程序中的一些动态界面的显示过程在休眠时不能够完全保存到休眠文件中,从而导致在休眠启动后虽然用命令行查看这些程序的进程在控制台上有显示,而电视界面不能按正常的方式显示。为了解决这个问题,把本文方法应用到操作系统中,最后结果显示:df_logo和haier_board两个应用程序在系统启动完成后即能正常启动运行,其效果和采用非休眠方式启动的效果一样,而且电视界面也能够正常显示。

实验步骤如下:

(1)把不能正常运行的应用程序和脚本文件(df_logo、haier_board)编写成目标脚本并把它放到指定目录下;(2)编写内核模块,并用系统调用的方式把模块插入到内核,用交叉编译生成新的内核和模块的.ko文件;(3)编写守护进程函数,并用交叉编译生成可执行文件;(4)编写控制模块(控制模块里包含可以使操作系统实现快速启动的函数),并用交叉编译生成可执行文件;(5)重新烧写新的内核;(6)在/etc/init.d/文件夹的相应文件里加一句加载上述模块的语句,使其在系统每次启动时都能够自动加载到内核;(7)为此模块建立设备文件;(8)执行守护进程可执行文件,使其在操作系统后台运行;(9)执行控制模块的可执行文件,使其在改变标志位后立即执行快速启动程序,从而保证系统以后每次重启后都能够自动运行目标脚本和应用程序。

本文提出了一种新的方法,实现了基于休眠的嵌入式操作系统启动后,自动运行任何形式的目标脚本和应用程序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 嵌入式系统设计基于f4pdf是指使用F4PDF作为嵌入式系统设计的基础。F4PDF是一种轻量级嵌入式操作系统,它专为低功耗、高效能的嵌入式设备而设计。以下是使用F4PDF进行嵌入式系统设计的一些关键点。 首先,F4PDF具有可靠的实时性能。在嵌入式系统设计中,实时性是非常重要的。F4PDF通过实时任务调度和中断处理机制,可以保证任务按照预定的优先级和时间要求进行调度和处理,从而实现系统的实时响应。 其次,F4PDF具有优秀的节能能力。在嵌入式系统设计中,节能是一个重要的考虑因素。F4PDF采用动态功耗管理和休眠唤醒机制,可以根据实际的系统负载情况进行功耗调节,最大程度地减少能耗,延长系统的工作时间。 此外,F4PDF还具有灵活的通信能力。在嵌入式系统设计中,通信模块是必不可少的组成部分。F4PDF提供了丰富的通信接口和协议支持,包括以太、CAN总线、SPI、UART等,可以方便地与其他外部设备进行数据交换和通信。 最后,F4PDF还具有良好的可扩展性。在嵌入式系统设计中,往往会有不同的硬件和外设需求。F4PDF提供了可扩展的驱动框架和接口,可以方便地进行硬件扩展和外设接入,并且提供了丰富的开发工具和示例代码,使开发人员能够快速且灵活地进行系统开发和定制。 总之,基于F4PDF进行嵌入式系统设计可以实现实时性能、节能能力、灵活通信和良好的可扩展性。这些特性使得F4PDF成为一种理想的嵌入式系统设计基础,满足各种嵌入式设备的需求。 ### 回答2: 嵌入式系统设计基于F4PDF的意思是使用F4PDF平台进行嵌入式系统设计和开发。F4PDF是一种专门用于嵌入式系统的开源平台,它提供了一套完整的工具和库,用于开发高效、可靠且安全的嵌入式系统。 F4PDF平台基于嵌入式处理器,具有高性能和低功耗的特点。使用F4PDF进行嵌入式系统设计可以充分利用其强大的处理能力和丰富的资源,提供高效的系统性能。同时,F4PDF支持多种外设和接口,可以满足不同应用场景的需要。 嵌入式系统设计基于F4PDF的过程一般包括以下步骤: 首先,根据系统需求和功能要求,进行系统架构设计。选择合适的硬件平台、外设和接口。 其次,进行软件开发。使用F4PDF平台提供的开发工具和库,编写嵌入式软件应用程序。这些应用程序可能包括驱动程序、中间件和应用层程序等。 然后,进行系统集成和调试。将软件应用程序和硬件平台进行集成,进行功能验证和性能测试。通过调试和优化,确保系统的稳定性和性能。 最后,进行系统部署和维护。将设计好的嵌入式系统部署到目标设备中,并进行系统维护和升级。 总之,嵌入式系统设计基于F4PDF是一种有效的方法,可以帮助开发者设计和开发高效、可靠的嵌入式系统。通过充分利用F4PDF平台提供的资源和工具,可以快速开发出满足需求的嵌入式系统。 ### 回答3: 嵌入式系统设计是指将计算机系统设计和硬件设计相结合,以满足特定应用需求的过程。F4PDF是一种基于嵌入式系统设计的开源软件平台。 F4PDF是一个轻量级、灵活且高效的嵌入式平台,被广泛应用于各种嵌入式系统设计中。它提供了丰富的功能和强大的性能,能够满足不同领域的应用需求。该平台的设计基于ARM架构,支持多核处理器和实时操作系统,具备良好的可扩展性和稳定性。 在嵌入式系统设计中,F4PDF的应用可以带来诸多优势。首先,它提供了丰富的软件库和工具链,简化了开发过程,使得开发人员能够更加高效地进行系统设计。其次,F4PDF支持硬件与软件的紧密协作,可以与各种外设进行无缝集成,从而实现更加灵活和功能丰富的系统设计。此外,F4PDF还具备较强的实时性能和低功耗特性,适用于对系统稳定性和能耗优化有要求的应用场景。 总之,基于F4PDF的嵌入式系统设计可以有效地提高开发效率,降低开发成本,实现更好的系统性能和功能集成。随着嵌入式技术的不断发展,F4PDF平台将为嵌入式系统设计带来更多创新和发展机遇。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值