一种嵌入式系统的制作方法_3

文档序号:10390544阅读:来源:国知局
说明的是,所读取的闪存扩展存储区是否有效信息为闪存芯片230中的闪存系统配置区所配置的闪存芯片230的状态信息中的其中一种。
[0074]扩展存储映射地址寄存器2124,用于将与闪存系统总线接口211交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片230中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元213。
[0075]相应的,闪存系统总线接口211,还用于直接对闪存配置寄存器212进行读写访问,系统总线220可以通过闪存系统总线接口 211到闪存配置寄存器212之间的数据通路I配置闪存寄存器212信息;闪存芯片230的所述闪存系统配置区还包括扩展存储使能寄存器2123以及扩展存储映射地址寄存器2124的状态信息。在上电后,扩展存储使能寄存器2123以及扩展存储映射地址寄存器2124的状态信息可以自动更新到扩展存储使能寄存器2123和扩展存储映射地址寄存器2124中。
[0076]在上述实施例的基础上,所述判定接收到的所述系统总线220发出的第一读指令和对应的地址或发出的第一写指令和对应的地址是否有效,具体可以是:
[0077]1、判定系统总线220发出的第一读指令对应的地址是否在闪存扩展存储区设定的有效地址范围之内;
[0078]2、通过比较扩展存储映射地址寄存器2124与系统总线220发出的第一读指令对应的地址,判定当前地址是否在地址映射范围之内;
[0079]3、通过扩展存储使能寄存器2123判定当前地址对应的闪存扩展存储区是否有效。
[0080]当3步均判定成功后,则操作控制单元2131发出相应的读取操作指令。
[0081]需要说明的是,此处以读取闪存芯片230中的闪存扩展存储区为例进行说明,对闪存扩展存储区而言,改写,擦除或编程指令和对应的地址是否有效的判断类似。
[0082]在上述实施例的基础上,闪存配置寄存212器还可以包括:闪存密钥寄存器2121和/或闪存操作寄存器2122。其中,所述闪存密钥寄存器2121,用于存放访问闪存芯片230中的所述闪存系统配置区的密钥,密钥通常预先配置于闪存密钥寄存器2121中,在需要改写闪存系统配置区中的数据时,需要判断密钥是否正确,闪存密钥寄存器2121可以有效防止非法改写。闪存芯片230中闪存系统配置区为厂家配置,为用户不可用,不可见,通过判断密钥是否正确来阻止非法改写。
[0083]闪存操作寄存器2122,可以用于对闪存芯片230中的所述闪存系统配置区的数据进行擦除、写入或读取。具体的,当厂家需要改写闪存芯片230中闪存系统配置区时,可通过闪存操作寄存器2122发出擦除,以及编程操作指令,以达到改写闪存芯片230中闪存系统配置区的目的。
[0084]本实施例所执行的一种嵌入式系统中闪存芯片中的闪存系统配置区的改写方法,参见图2B,所述方法具体包括:
[0085]S210、上电复位,读取闪存芯片中闪存系统配置区中的系统状态信息。
[0086]S220、CPU通过系统总线读取闪存芯片中的通用程序数据,控制系统运行。从闪存芯片中读取程序数据,通过系统总线的程序数据总线提供到(PU中,所述嵌入式系统开始正常运行。
[0087]S230、判断主控单元是否接收到系统总线的第一写指令和对应的地址,若是,执行S240,若否,则返回S220。也就是说,判断是否需要改写系统配置,若是,则进入写密钥的步骤。
[0088]S240、闪存密钥寄存器判定接收到的密钥是否正确,若是,执行S250、若否,则返回S210。只有闪存密钥寄存器判定接收到的密钥正确,才可以执行相应的擦写所述闪存芯片的状态信息的操作,否则将接收到的系统总线的第一写指令和对应的地址视为非法操作。
[0089]S250、根据所述系统总线的所述第一写指令和对应的地址,在闪存芯片中的闪存系统配置区,擦除并写入相应的所述闪存芯片的状态信息。本案中,系统总线写入所述扩展存储使能寄存器和所述扩展存储映射地址寄存器要更新的值,由闪存操作寄存器根据系统总线的第一写命令和对应的地址,通过数据通路2改写闪存系统配置区的闪存芯片的状态?目息O
[0090]在上述技术方案的基础上,所述方法还可以包括:所述闪存操作寄存器根据所述系统总线写入的第一读指令,将当前闪存系统配置区的所述闪存芯片的状态信息更新到闪存配置寄存器中。进一步地,然后通过系统总线读取当前所述闪存芯片的状态信息,并与所述第一写指令进行比对;根据比对结果,确定当前闪存系统配置区的系统配置状态。具体的,如当前所述闪存芯片的状态信息与所述第一写指令一致,则判定所述闪存芯片的状态信息正确,否则,判定所述闪存芯片的状态信息错误,可以根据需要,直接丢弃改芯片,或重新配置所述闪存系统配置区的所述闪存芯片的状态信息。
[0091]采用上述技术方案,通过增加扩展存储使能寄存器,扩展存储映射地址寄存器以及扩展存储地址比较单元,既满足了需要存储关键保密信息的用户的需求,便于用户开发,并且在扩展用户存储空间,保护用户数据私有性和独立性的同时,有效保护闪存芯片数据的安全性。
[0092]实施例三
[0093]图3为本实用新型实施例二提供的一种嵌入式系统的结构示意图,如图3所示,本实施例的技术方案是在上述实施例的基础上进一步的优化,相比较与上述实施例,所述系统还包括:
[0094]静态随机存储器(SRAM)310,用于在上电后存储闪存芯片320中的通用程序数据和用户数据。所述嵌入式系统对闪存芯片320的读操作,可直接从闪存芯片320中读取,由于闪存芯片320的读取速度较慢,优选是可通过SRAM 310读取,可以实现对闪存芯片320中通用程序数据和用户数据的实时读取,提高对闪存芯片320中通用程序数据和用户数据的读取速度。
[0095]为了更好地满足快速读取闪存芯片320中的通用程序数据和用户数据,并考虑到SRAM面积及所占用的地址空间,SRAM 310可以包括主SRAM和辅助SRAM,主SRAM的地址空间一般不能太大,比如可以为几十千字节,在具体操作中,当主SRAM的地址空间不足时,可以采用辅助SRAM。
[0096]所述闪存控制器330还包括:SRAM控制单元331,与闪存系统总线接口 332、主控单元333、闪存控制单元334和SRAM310分别连接;
[0097]主控单元333,还用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线340发出的第一读指令和对应的地址是否有效,若是,则控制SRAM控制单元331对SRAM 310中所存储的用户数据进行读取;还用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线340发出的第一写指令和对应的地址是否有效,若是,则控制SRAM控制单元331对SRAM 310中所存储的用户数据进行改写,或控制闪存控制单元334对闪存芯片320中所存储的用户数据进行改写。
[0098]在上述实施例的基础上,系统总线340还可以发出用于对闪存芯片320中闪存主存储区所存储的通用程序数据进行改写的指令与对应的地址,所述闪存控制单元334通过数据通路5与闪存系统总线接口 332交互所述指令与对应的地址,从而实现对闪存芯片320中的闪存主存储区中所存储的通用程序数据进行改写。
[0099]在本实施例中,闪存配置寄存器335的具体结构和功能与上述实施例相同。
[0100]主控单元333接收系统总线340通过控制通路I发出的第一读指令和对应的地址,并根据闪存配置寄存器335提供的地址映射信息和扩展存储区是否有效信息,判断系统总线340发出的第一读指令和对应的地址有效,优选是通过SRAM 310读取闪存芯片320中的数据。若所述嵌入式系统上电后,主控单元333所需读取的目标数据在存储在SRAM 310中,则直接从SRAM 310中读取,并通过数据通路I发送至系统总线340中;如所述目标数据未存储于SRAM 310中,则可以先从闪存芯片320中将所述目标数据读取数据到SRAM 310中,再从SRAM310中读取。
[0101 ] 具体的,SRAM 310所存储的用户数据可以通过闪存控制单元到SRAM控制单元之间的数据通路4,将闪存芯片320中的通用程序数据和用户数据读取到SRAM 310中,并且所述嵌入式系统上电后,SRAM 310可以自动读取并存储闪存芯片320中闪存主存储区中的通用程序数据或闪存扩展存储区中的用户数据。
[01
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1