片内RAM空间不足转片内flash存储的方法技术

技术编号:26845049 阅读:40 留言:0更新日期:2020-12-25 13:06
一种片内RAM空间不足转片内flash存储的方法,包括:在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中;其中,在底层程序Bootloader模式下可以对片内flash进行编程,在应用程序App模式下不可以对片内flash进行编程,因此,通过片外eeprom转存后再将数据信息存入片内flash中。该方法解决了片内RAM空间不足导致显示终端程序编译不过以及显示终端因RAM空间问题造成功能不全的问题,使得存储空间变大,主机读取速度加快以及显示功能完整。

【技术实现步骤摘要】
片内RAM空间不足转片内flash存储的方法
本专利技术涉及数据存储
,具体涉及一种片内RAM空间不足转片内flash存储的方法。
技术介绍
Keil软件提供了功能强大的开发方案,支持ARM7、ARM9、Cortex-M这些核处理器的C编译、汇编、链接、库管理以及仿真调试。Keil软件编译过的程序,RAM存放未初始化的static变量、全局变量、堆栈所占的空间以及程序中已经初始化的变量;flash存放代码、常量、程序中已经初始化的变量。一般情况下arm芯片片内RAM空间只有几十到几百kB,如果缓存较多会出现RAM空间不够导致程序编译不过的情况。如一种用于电力保护装置的显示终端,该显示终端采用独立的CPU,使用的是Cortex-M4芯片,基于RS232串口与电力保护装置的主机通信,从电力保护装置主机读取经常随主机程序变化而需要修改的菜单条目信息,如名称、类型、单位、最大值、最小值等。从主机读取的菜单信息设为全局变量存储在RAM中,当菜单条目内容较多时,这些全局变量将占用大量RAM资源,会出现因RAM空间不够程序编译不能通过的情况。只能通过减少菜单条目的方法来减少RAM空间占用,但此方法不能保证菜单内容显示完整,因此造成显示终端功能不能完全实现。在现有技术中,还通过使用容量较大cpu芯片,这样RAM空间会增大,但芯片成本增加,导致显示终端成本增加。另外,将菜单条目信息存入片外eeprom,由于片外eeprom相比flash访问速度比较慢,显示终端打开某个菜单时画面显示太慢,需要延迟2到3秒才能看到菜单内容,不能满足电力保护装置显示终端的显示需求。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种片内RAM空间不足转片内flash存储的方法,以解决片内RAM空间不足导致显示终端程序编译不过的问题,以及解决显示终端因RAM空间问题造成功能不全的问题。为实现上述目的,本专利技术采用如下技术方案实现:一种片内RAM空间不足转片内flash存储的方法,包括:在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中;其中,在底层程序Bootloader模式下可以对片内flash进行编程,在应用程序App模式下不可以对片内flash进行编程。进一步的,所述数据信息包括多个菜单条目信息,每个菜单对应不同的地址段。进一步的,所述在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中的步骤包括:app模式下,显示终端与主机通信读取到的数据信息存入片外eeprom中;在Bootloader模式下由片外eeprom读出所述数据信息后存入片内flash中。进一步的,通过设置两个标志flag1、flag2配合完成App模式下数据信息存储在片外eeprom,BootLoader模式下从片外eeprom复制至片内flash;其中,标志flag1表示eeprom中是否有新的数据信息更新,flag1为1表示eeprom中有更新,flag1为0表示eeprom中无更新;标志flag2表示eeprom中的数据信息是否有效,flag2为1表示eeprom中的数据信息有效,flag2为0表示eeprom中的数据信息无效。进一步的,包括如下步骤:步骤1,显示终端上电后进入Bootloader模式;步骤2,判断片内flash里有无内容,若取flash里内容有内容,进入步骤3;若取flash里没有内容为空(0xff),进入步骤4;步骤3,从片外eeprom读取flag1,判断flag1是否为1,即eeprom中的数据信息是否更新,有更新则进入步骤5,无更新则进入步骤6;步骤4,从片外eeprom读取flag2,判断flag2是否为1,即eeprom中的数据信息是否有效,有效时则进入步骤5,无效则进入步骤6;步骤5,将片外eeprom中的数据信息复制到片内flash中,将flag1置0;步骤6,跳转到app模式。进一步的,在APP模式下决定是否从主机读取数据信息,当主机crc发生变化时,说明主机程序已更换,需要重新读取数据信息;当eeprom中的数据信息无效时也需要从主机重新读取数据信息。进一步的,在app模式下包括如下步骤:步骤1’,app启动;步骤2’,读取主机crc;步骤3’,判断与记录的crc是否一致,若一致,进入步骤4’;若不一致,进入步骤5’;步骤4’,从片外eeprom读取flag2,判断flag2是否为1,若是,则正常启动;若否,则进入步骤5’;步骤5’,将flag1和flag2置0,从主机读取数据信息,保存到eeprom;将flag1和flag2置1,并记录crc;步骤6’,重启。进一步的,所述flag1在读取前置0,读取数据信息结束后置1;从片外eeprom读取到片内flash后置0。进一步的,所述flag2在读取前置0,读取数据信息结束后置1。进一步的,所述flag1和flag2的值存储在片外eeprom中。综上所述,本专利技术提供了一种片内RAM空间不足转片内flash存储的方法,包括:在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中;其中,在底层程序Bootloader模式下可以对片内flash进行编程,在应用程序App模式下不可以对片内flash进行编程,因此,通过片外eeprom转存后再将数据信息存入片内flash中。该方法解决了片内RAM空间不足导致显示终端程序编译不过以及显示终端因RAM空间问题造成功能不全的问题,使得存储空间变大,主机读取速度加快以及显示功能完整。附图说明图1是本专利技术实施例的可视化系统的结构框架示意图;图2是本专利技术实施例的可视化系统使用方法的流程示意图;图3是本专利技术实施例的APP模式下的流程示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。一般情况下芯片的片内flash空间要比RAM大的多,考虑可以将RAM中一些内容转移至片内flash中。如一种用于电力保护装置的显示终端,使用的飞思卡尔mke18f系列芯片,RAM空间为64k,flash空间为512k,对于同一个主机程序菜单条目内容是不变的,相当于常量,将这些信息存入flash内,可以释放大量的RAM空间。只有在显示终端连接的主机程序变化时才进行flash写入操作,避免了flash的频繁读写。因此,本专利技术提供了一种片内RAM空间不足转片内flash存储的方法,包括:在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中;其中,本文档来自技高网
...

【技术保护点】
1.一种片内RAM空间不足转片内flash存储的方法,其特征在于,包括:/n在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中;/n其中,在底层程序Bootloader模式下可以对片内flash进行编程,在应用程序App模式下不可以对片内flash进行编程。/n

【技术特征摘要】
1.一种片内RAM空间不足转片内flash存储的方法,其特征在于,包括:
在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中;
其中,在底层程序Bootloader模式下可以对片内flash进行编程,在应用程序App模式下不可以对片内flash进行编程。


2.如权利要求1所述的片内RAM空间不足转片内flash存储的方法,其特征在于,所述数据信息包括多个菜单条目信息,每个菜单对应不同的地址段。


3.如权利要求1或2所述的片内RAM空间不足转片内flash存储的方法,其特征在于,所述在底层程序Bootloader模式下将数据信息存储到片内flash未被使用的空间中的步骤包括:
app模式下,显示终端与主机通信读取到的数据信息存入片外eeprom中;
在Bootloader模式下由片外eeprom读出所述数据信息后存入片内flash中。


4.如权利要求3所述的片内RAM空间不足转片内flash存储的方法,其特征在于,通过设置两个标志flag1、flag2配合完成App模式下数据信息存储在片外eeprom,BootLoader模式下从片外eeprom复制至片内flash;
其中,标志flag1表示eeprom中是否有新的数据信息更新,flag1为1表示eeprom中有更新,flag1为0表示eeprom中无更新;标志flag2表示eeprom中的数据信息是否有效,flag2为1表示eeprom中的数据信息有效,flag2为0表示eeprom中的数据信息无效。


5.如权利要求4所述的片内RAM空间不足转片内flash存储的方法,其特征在于,包括如下步骤:
步骤1,显示终端上电后进入Bootloader模式;
步骤2,判断片内flash里有无内容,若取flash里内容有内容,进入步骤3;若取flash里没有内容为空(0xff),进入步骤4;
步骤3,从片外eeprom读取f...

【专利技术属性】
技术研发人员:郭晓宁史宏光邵宝珠刘广利林永洪
申请(专利权)人:许继集团有限公司许昌许继软件技术有限公司许继电气股份有限公司国网辽宁省电力有限公司辽阳供电公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1