嵌入式linux mcu,基于32位MCU的嵌入式Linux文件系统及其运行方法_3

的物理地址,文件系统异常判断模块400对该物理地址对应的文件系统进行异常检测。若不存在异常,则加载该文件系统。若存在异常,则文件系统状态设置模块300的物理地址修改为另一文件系统储存模块的物理地址,并记载文件系统间的切换信息,以保证加载的文件系统不存在异常。此外,文件系统修复模块600读取文件系统状态设置模块300中的切换信息,当系统中进行了文件系统间的切换时,则文件系统修复模块600则根据切换信息,对被切换掉的文件系统进行修复,保证了系统始终处于双备份或者多备份的状态中,从而提高系统运作的可靠性和稳定性。

[0030]进一步地,文件系统存储模块200设于存储器中,且文件系统存储模块200依次地由上而下设于存储器中。当文件系统存在异常时,物理地址由上往下进行切换。若切换前的物理地址对应存储器中最下方的文件系统存储模块200时,则切换至存储器中最上方的文件系统存储模块200所对应的物理地址。

[0031]结合参考图2,图2为本发明基于32位MCU的嵌入式Linux文件系统又一实施例的模块示意图。进一步地,基于32位MCU的嵌入式Linux文件系统还包括:

告警记录模块700,用于记录检测到文件系统为异常的次数。每出现一个判断异常结果,告警记录模块700所记录的次数则加1,从而能够记录整个系统中,文件系统出现异常的次数,系统维护人员可通过告警记录模块700所记录的异常次数,从而判断出整个系统的稳定性和可靠性。

[0032]结合参照图3,图3为本发明基于32位MCU的嵌入式Linux文件系统再一实施例的模块示意图。进一步地,基于32位MCU的嵌入式Linux文件系统还包括:

系统更新记录模块800,用于记录对异常的文件系统进行修复的次数。文件系统修复模块600每对文件系统进行一次修复,则系统更新记录模块800所记录的次数加1,从而记录整个系统中,文件系统修复模块600对文件系统修复的次数。系统维护人员通过观察系统更新记录模块800中的次数,从而能够判断出系统的异常修复能力的强弱。

[0033]结合参考图4,图4为本发明基于32位MCU的嵌入式Linux文件系统的运行方法一实施例的流程示意图。本发明还提供提供一种基于32位MCU的嵌入式Linux文件系统的运行方法。该运行方法包括以下步骤:

步骤S10,根据外部请求初始化系统参数配置;

本实施例是基于32位MCU进行运作。本领域技术人员当知,M⑶的正常运作需要电源,以提供其正常工作所需的电压。此外,还需要晶振为其提供正常工作所需的时钟。再者,还需要MCU工作时所需的内存空间等等。在本实施例中,外部请求为MCU上电。当32位MCU上电后,MCU内的启动程序会跳转到系统启动模块100,以启动系统启动模块100。系统启动模块100启动后,初始化系统参数配置。应当说明的是,系统参数包括:时钟参数、电源参数、RAM频率、CPU频率等等属于系统本身属性的参数。应当说明的是,外部请求还可以为其他的请求信号,只要能够启动系统启动模块100工作即可,在此不再赘述。

[0034]步骤S20,预设有一文件系统的物理地址,以及能够记录文件系统间切换的切换信息;

在本实施例中,文件系统状态设置模块300包括两个参数。第一个参数为:文件系统的物理地址。第二个参数为:文件系统间切换的切换信息。应当说明的是,文件系统的物理地址指的是上述文件系统存储模块200在存储器中的物理地址。文件系统的物理地址仅记载一个文件系统存储模块200的物理地址,系统能够根据该物理地址加载其对应的文件系统的应用程序。此外,文件系统状态设置模块300中的物理地址是可以更改的。例如,初始化时,文件系统状态设置模块300记载的物理地址为主-文件系统存储模块200的物理地址。当主-文件系统存储模块200被检测出异常之后,文件系统状态设置模块300可以将物理地址更改为从-文件系统存储模块200的物理地址,反之亦然。文件系统状态设置模块300的第二个参数为:文件系统间切换的切换信息。如:文件系统状态设置模块300的原始的物理地址为主-文件系统存储模块200对应的物理地址,当主-文件系统存储模块200被检出异常后,文件系统状态设置模块300将物理地址修改为从-文件系统存储模块200的物理地址。此时,切换信息将记录:物理地址由主-文件系统存储模块200切换为从-文件系统存储模块200这一信息。若系统中存在两个以上的文件系统,且在文件系统加载前,文件系统状态设置模块300中的物理地址进行了两次或以上的切换时,切换信息均有详细的文件系统切换记录。这样,系统就可以根据该切换信息,获知到哪些文件系统由于检查出异常而被切换掉。再进一步对被切换掉的文件系统进行异常修复,从而能够保证系统能够正常运作下去。进一步地,为了避免文件系统状态设置模块300所记录的参数在断电等情况下数据丢失,文件系统状态设置模块300记录的参数(即文件系统的物理地址以及文件系统间切换的切换信息)储存在存储器的非易失性空间内。

[0035]步骤S30,根据所述预设的文件系统的物理地址,对相应的文件系统进行异常检测;

文件系统加载模块500可以根据文件系统状态设置模块300中的物理地址加载相应的文件系统。如文件系统状态设置模块300中当前记载了主-文件系统存储模块200的物理地址,则文件系统加载模块500可以加载主-文件系统存储模块200中的文件系统。在本实施例中,为了确保系统加载的文件系统能够正常运作,在文件系统加载之前,文件系统异常判断模块400对将要被加载的文件系统(文件系统状态设置模块300中的物理地址对应的文件系统)进行异常检测,以确保被加载的文件系统不存在异常的情况。

[0036]步骤S40,当检测到文件系统存在异常的情况下,切换另一文件系统的物理地址,并更新切换信息,直至对文件系统的检测不存在异常;

步骤S50,当检测到文件系统不存在异常的情况下,加载当前设置的物理地址所对应的文件系统;

当文件系统不存在异常的情况下,文件系统加载模块500才会对文件系统状态设置模块300中的物理地址对应的文件系统进行加载,以实现从两个或以上各文件系统中择一启动。

[0037]步骤S60,读取所述切换信息,并根据所述切换信息判断文件系统是否进行切换;若存在切换,则对被切换掉的文件系统进行修复。

[0038]为保证出现异常的文件系统能够及时得到修复,保证整个系统能够持续正常运作下去,文件系统修复模块600能够对出现异常的文件系统进行修复。具体地,文件系统修复模块600通过读取文件系统状态设置模块300中的切换信息,从而能够获知是否进行过文件系统间的切换,而且可以知道文件系统具体由哪个文件系统切换至哪个文件系统。由于文件系统的切换是基于预设文件系统(即文件系统状态设置模块300中的物理地址所对应的文件系统)被检测出异常而被切换掉。因此,被切换掉的文件系统均存在异常。文件系统修复模块600根据切换信息,获知哪些文件系统被切换掉,并对被切换掉的文件系统进行异常修复,保证整个系统真正具有双备份或多备份的功能,以使得整个系统能够持续正常地运作下去。

[0039]本发明提供的基于32位MCU

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值