扩展8051系列单片机寻址能力的方法

文档序号:6424507阅读:330来源:国知局
专利名称:扩展8051系列单片机寻址能力的方法
技术领域
本发明涉及单片机领域,特别是涉及扩展8051系列单片机寻址能力的方法。
背景技术
随着半导体和电子技术的发展,在SOC (片上系统)芯片上集成的功能块越来越多,这就使得在SOC芯片上的软件系统也越来越复杂,代码量以及代码所要使用的数据区和数据量也越来越大。8051系列单片机作为应用广泛的中央处理器,在数据区和代码区上各只有64K字节的寻址能力,使得它在SOC芯片上的应用遇到越来越多的挑战。同时,作为SOC芯片的用户,也慢慢趋于多样化和个性化,SOC芯片有着不同层次,不同需求的不同用户,这些用户需要完成的功能各有侧重,从而对SOC芯片中软件系统的要求也不一样。这也使得在SOC芯片上会存在着多个针对不同用户的软件包和数据包,如何区分不同用户的软件包和数据包,如何给不同用户加载各自的代码和数据,并保证不同用户的代码和数据不会被误使用也就成为了一个关键问题。

发明内容
本发明要解决的技术问题是提供一种扩展8051系列单片机寻址能力的方法,能够有效的扩展数据区和代码区的寻址能力,增加其应用性和灵活性。为解决上述技术问题,本发明的扩展8051系列单片机寻址能力的方法是采用如下技术方案实现的将8051系列单片机访问数据区的逻辑地址分为四个大小为16K字节的单元,得到四个逻辑地址段;将8051系列单片机访问代码区的逻辑地址分为四个大小为16K字节的单元,得到四个逻辑地址段;所述八个逻辑地址段能映射到IM物理地址空间的任意位置。每个所述逻辑地址段的有效长度可配置,在操作超出逻辑地址段的有效长度时,产生不可屏蔽中断。所述方法支持模式控制,在不同的模式下,IM物理地址空间的访问受到限制,有些区域被屏蔽;并且,在不同的模式下,逻辑地址段能够映射到不同的物理地址。在不同的模式下,硬件可以屏蔽IM物理地址空间的某些区域,在配置物理地址时,硬件根据当前的模式,确定配置有效还是无效,从而保护这些区域;同时,软件可以根据当前的模式,将所述访问数据区和访问代码区的八个逻辑地址段映射到不同的物理地址上。对每个逻辑地址段提供两个不可屏蔽中断,分别是代码越界中断和数据越界中断;当8051系列单片机访问数据区或者访问代码区时,如果操作仍在当前逻辑地址段,但是超出了当前逻辑地址段的有效长度,则产生不可屏蔽中断。采用本发明的方法能够扩展8051系列单片机数据区和代码区的寻址能力,使得在SOC设计中,提供给8051系列单片机更强大的寻址能力,从原有的数据区和代码区各64K字节的寻址能力,扩展到总计IM字节的物理地址空间中。同时,本发明能提供不可屏蔽中断,并可定义逻辑地址段的有效范围,在805 I系列单片机访问数据区、代码区越界时,将触发中断。本发明还提供模式控制功能,在不同的模式下,硬件将一些特定区域屏蔽,保证各个用户的程序不会被误使用,并且在不同的模式下,可以配置不同的映射关系,各个用户使用不同的个性化的程序。


下面结合附图与具体实施方式
对本发明作进一步详细的说明附图是扩展8051系列单片机寻址能力的方法示意图。
具体实施例方式参见附图所示,将8051系列单片机对代码区和数据区的寻址地址定义为逻辑地址段,并等分为八个单元(即八个逻辑地址段),每个单元的范围是16K字节,而且每个单元可以在IM字节物理地址空间任意配置逻辑地址段的映射地址。这样,就把8051系列单片机对代码区和数据区的寻址能力扩展到IM字节。在程序运行期间,对映射关系能够进行动态调整,也就是程序在一个逻辑地址段 中运行时,可以调整其他几个逻辑地址段的映射关系,从而代码的长度和数据的长度都可以突破64K字节的限制。比如,8051系列单片机的程序在访问代码区的逻辑地址段6 (结合附图)上运行的时候,可以重新配置代码区的逻辑地址段2的映射关系,这样代码的长度就可以到扩展80K字节。同样,如果数据量很大,超出数据区64K的范围,也可以动态调整数据区的逻辑地址段到物理地址的映射。当然,使用了这种扩展方式之后,对代码的编写上会有所限制,比如调整指令的实现,子程序调用的实现,中断入口地址的处理等等,这些问题在编写代码阶段都需要加些特别的处理,这些处理方法超出本发明的范围,在此不做详细介绍。除了可以定义逻辑地址段映射的物理地址外,所述方法还支持定义逻辑地址段的有效长度。逻辑地址段的范围是固定的,为16K字节,但可以定义其有效长度,从256字节到16K字节不等。并且提供了两个不可屏蔽中断,分别是代码越界中断和数据越界中断。当8051系列单片机访问数据区或者代码时区时,如果访问地址超过当前逻辑地址段的有效范围,将会产生这两个不可屏蔽中断。如图所示,代码区逻辑地址段0映射的物理空间首地址是OOOOOh,有效长度可定义为一个8K字节,这样在代码运行时,如果8051系列单片机试图访问有效范围以外的区域时,即02000H到03FFFH区域时,代码越界中断就会触发,由于是不可屏蔽中断,而且是最高优先级,8051系列单片机会立刻响应中断,这样程序设计者可以在中断子程序里做些处理,来防止非授权的代码访问。SOC芯片在实际使用中,针对不同的用户,会使用不同的软件包和数据包。比如测试用户,只关注芯片的测试功能;内核用户,拥有最大的权限,可以访问芯片的任何一个寄存器;而应用用户,软件包只针对某种应用。面对这三类用户,SOC芯片上内嵌三个不同的软件包和数据包,并且把这些软件包和数据包放在IM物理地址空间的不同位置。同时设定三个模式,分别是测试模式,内核模式和应用模式,在不同的模式下,把8051系列单片机的数据区和代码区的逻辑地址映射到IM物理地址空间的不同位置,并且在硬件上屏蔽相互访问的权利,也就是说在测试模式下,只能读取测试软件包以及测试软件的数据包。通过模式控制,可以管理不同用户的软件包和数据包以及保护不同模式下的数据和软件。 以上通过具体实施方式
对本发明进行了详细的说明,但在具体实施的时候,本领域技术人员可以在本发明的原理下做适当的调整和变化,比如物理地址空间的大小,逻辑 地址段的划分等等。这些调整也应视为本发明的保护范围。
权利要求
1.一种扩展8051系列单片机寻址能力的方法,其特征在于 将8051系列单片机访问数据区的逻辑地址分为四个大小为16K字节的单元,得到四个逻辑地址段; 将8051系列单片机访问代码区的逻辑地址分为四个大小为16K字节的单元,得到四个逻辑地址段; 所述八个逻辑地址段能映射到IM物理地址空间的任意位置。
2.如权利要求I所述的方法,其特征在于每个所述逻辑地址段的有效长度可配置,在操作超出逻辑地址段的有效长度时,产生不可屏蔽中断。
3.如权利要求I或2所述的方法,其特征在于支持模式控制,在不同的模式下,IM物理地址空间的访问受到限制,有些区域被屏蔽;并且,在不同的模式下,逻辑地址段能够映射到不同的物理地址。
4.如权利要求3所述的方法,其特征在于在不同的模式下,硬件可以屏蔽IM物理地址空间的某些区域,在配置物理地址时,硬件根据当前的模式,确定配置有效还是无效,从而保护这些区域;同时,软件可以根据当前的模式,将所述访问数据区和访问代码区的八个逻辑地址段映射到不同的物理地址上。
5.如权利要求I或2所述的方法,其特征在于对每个逻辑地址段提供两个不可屏蔽中断,分别是代码越界中断和数据越界中断;当8051系列单片机访问数据区或者访问代码区时,如果操作仍在当前逻辑地址段,但是超出了当前逻辑地址段的有效长度,则产生不可屏蔽中断。
6.如权利要求I或2所述的方法,其特征在于在不同的模式下,硬件可以屏蔽IM物理地址空间的某些区域,在配置物理地址时,硬件根据当前的模式,确定配置有效还是无效,从而保护这些区域;同时,软件可以根据当前的模式,将所述访问数据区和访问代码区的八个逻辑地址段映射到不同的物理地址上。
全文摘要
本发明公开了一种扩展8051系列单片机寻址能力的方法,将8051系列单片机访问数据区的逻辑地址分为四个大小为16K字节的单元,得到四个逻辑地址段;将8051系列单片机访问代码区的逻辑地址分为四个大小为16K字节的单元,得到四个逻辑地址段;所述八个逻辑地址段能映射到1M物理地址空间的任意位置。每个所述逻辑地址段的有效长度可配置,在操作超出逻辑地址段的有效长度时,产生不可屏蔽中断。本发明能有效的扩展数据区和代码区的寻址能力,增加其应用性和灵活性。
文档编号G06F9/445GK102789386SQ201110131350
公开日2012年11月21日 申请日期2011年5月20日 优先权日2011年5月20日
发明者叶国平 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1