一种芯片结构及其二次开发方法与流程

allin2025-05-15  40


本发明涉及电子产品控制,特别涉及一种芯片结构及其二次开发方法。


背景技术:

1、微控制器(microcontroller unit,mcu)是指随着大规模集成电路的出现及其发展,将计算机的cpu、ram、rom、定时器和多种io接口集成到一颗芯片上,形成芯片级计算机,为不同的应用场合做不同组合控制。在采用哈佛架构的mcu中,cpu一般通过指令总线和数据总线从非易失存储器中取出数据进行运算。非易失存储器的读写控制则由存储器控制器完成。mcu中的非易失存储器通常由2部分组成:开放给用户正常使用的主存储区、以及用于配置系统的信息块区域。

2、目前越来越多的芯片应用需要使用到复杂的算法及中间件解决方案。为保护代码安全,通常会将核心算法等知识产权代码(ip code,intellectual property code)设置为保护代码,使其对应的机器码不能被除cpu执行以外的其他方式读取。但是,在后续的二次开发时,所述保护代码可能会被无意间改写,进而导致二次开发时不能再使用所述保护代码,因此在实际应用中,需要限制对保护区域的编程和擦除。

3、但是一旦完全地禁止对保护区域的擦除,又可能导致无法对保护代码、及对应的核心代码进行升级。此外,二次开发可能会嵌套进行,即可能会存在对同一个芯片进行n次二次开发,若前n-1次二次开发均涉及需保护的核心代码,则二次开发保护区域还需要可扩展。

4、目前,暂没有完整的对芯片二次开发的保护方法,现有技术多仅涉及二次开发过程中的部分操作,例如发明申请cn112417528a中公开了一种用来管理支持数据存储的安全程序库的方法与电子装置,其提出一种对存储数据的保护机制,所述保护机制主要在二次开发使能时对存储器控制器的读写进行限制,而并未公开如何实现完整的芯片二次开发保护功能,此外,其并未公开如何对二次开发保护区域如何降级,因此通过所述保护机制同样也无法实现嵌套的二次开发。


技术实现思路

1、针对现有技术中的部分或全部问题,本发明第一方面提供一种芯片结构,包括存储器,所述存储器包括存储区以及控制区,其中所述控制区用于控制是否开启二次开发保护,以及设置所述存储区中需被保护的扇区。

2、进一步地,所述芯片结构还包括:

3、控制模块,其用于基于所述控制区的设置,确定所述存储器的访问权限;

4、cpu,其与所述控制模块可通信地连接,以通过所述控制模块对所述存储器进行读取、编程及擦除操作;

5、直接存储器访问,其与所述控制模块可通信地连接,以通过所述控制模块访问所述存储器;以及

6、调试模块,其与所述cpu可通信地链接,以实现外部调试。

7、进一步地,所述cpu通过指令总线i bus和/或数据总线dbus与所述控制模块可通信地连接。

8、进一步地,确定所述存储器的访问权限包括:

9、若二次开发保护未开启,则所述存储区被设置为可被读取、编程、扇区擦除以及全擦除,所述控制区被设置为可被读取、编程、以及扇区擦除,但不可全擦除;以及

10、若二次开发保护开启,则所述存储区中被保护的扇区被设置为只能执行cpu取指,所述存储区中未被保护的扇区被设置为可被读取、编程、扇区擦除,但不可全擦除,所述控制区被设置为可被读取、编程、以及扇区擦除,但不可全擦除。

11、基于如前所述的芯片结构,本发明第二方面提供一种芯片的二次开发方法,其中所述芯片包括存储器,所述存储器包括存储区以及控制区,其中所述控制区用于控制是否开启二次开发保护,以及设置所述存储区中需被保护的扇区,所述二次开发方法包括:

12、将开发完成的需被保护的代码,烧录至预设的扇区中;

13、通过所述控制区将所述预设的扇区设置为被保护的扇区;

14、通过所述控制区开启二次开发保护;以及

15、将芯片复位。

16、进一步地,所述二次开发方法还包括,所述芯片已开启二次开发保护,则接收到对存储器的访问请求后,判断总线地址是否属于需被保护的扇区:

17、若不属于,则确定所述访问请求要执行的操作,若为全擦除操作,则提示擦写错误,否则进行正常读写操作;以及

18、若属于,则确定所述访问请求的发起方,若发起方为调试模块、数据总线、或直接存储器访问,则进行报错,否则进行正常读写操作。

19、进一步地,所述二次开发方法还包括:

20、当总线地址属于需被保护的扇区,且发起方为调试模块、数据总线、或直接存储器访问时,确定所述访问请求要执行的操作,若为读操作,则提示读错误,否则提示擦写错误。

21、进一步地,提示擦写错误包括:将擦写错误状态位置位。

22、进一步地,所述二次开方法还包括:

23、当关闭二次开发保护时,对所述存储器进行全擦除操作。

24、本发明提供的一种芯片结构及其二次开发方法,其在只占用少量芯片面积、且对现有芯片架构改动很小的情况下,即可实现芯片的二次开发保护功能,为保护用户的核心代码提供了可靠的硬件实现方法。所述方法还可支持嵌套的二次开发保护,同时支持保护区域的代码升级。



技术特征:

1.一种芯片结构,其特征在于,包括存储器,所述存储器包括:

2.如权利要求1所述的芯片结构,其特征在于,还包括:

3.如权利要求2所述的芯片结构,其特征在于,所述cpu通过指令总线ibus和/或数据总线dbus与所述控制模块可通信地连接。

4.如权利要求1所述的芯片结构,其特征在于,确定所述存储器的访问权限包括:

5.一种如权利要求1至4任一所述的芯片的二次开发方法,其特征在于,包括步骤:

6.如权利要求5所述的二次开发方法,其特征在于,还包括步骤,所述芯片已开启二次开发保护,则接收到对存储器的访问请求后,判断总线地址是否属于需被保护的扇区:

7.如权利要求6所述的二次开发方法,其特征在于,还包括步骤:

8.如权利要求6所述的二次开发方法,其特征在于,提示擦写错误包括:将擦写错误状态位置位。

9.如权利要求6所述的二次开发方法,其特征在于,提示擦写错误包括:将擦写错误状态位置位,以及提示读错误包括:将读错误状态位置位。

10.如权利要求6所述的二次开发方法,其特征在于,还包括步骤:


技术总结
本发明公开一种芯片结构,其包括存储器,该存储器包括存储区以及控制区,其中控制区用于控制是否开启二次开发保护,以及设置存储区中需被保护的扇区。该芯片结构对现有芯片架构改动很小,且仅占用少量芯片面积即可实现芯片的二次开发保护功能,其还可支持嵌套的二次开发保护,同时支持保护区域的代码升级。

技术研发人员:吴键,任焱,苏文杰
受保护的技术使用者:华大半导体(成都)有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-21130.html

最新回复(0)