本发明涉及内存管理,尤其涉及一种调试处理内存区的管理方法、系统及存储介质。
背景技术:
1、在当前的操作系统设计中,大多数系统中都采用了虚拟化内存管理方式,因此芯片设计中都嵌入了mmu(memory management unit,内存管理单元)模块。当对系统调试时,处理器不能直接访存调试处理内存区的物理地址,调试处理内存区的物理地址需要映射为物理地址,处理器才能访存。
2、现有技术中,调试处理内存区与除调试处理内存区之外的其他内存区同时进行管理,则当内存区代码中有跳转指令执行时,会导致指令执行出现错误:内存区代码中有跳转指令执行时,内存区代码中定义的跳转地址是物理地址,而处理器访存这个跳转地址时,需要经过mmu转化为物理地址,此时可能会出现错误:一是地址未映射产生缺页异常,二是地址映射到其他内存区的物理地址。两种错误均会导致调试管理失败。
技术实现思路
1、基于此,有必要针对上述问题,提出了一种调试处理内存区的管理方法、系统及存储介质。
2、一种调试处理内存区的管理方法,所述方法包括:
3、获取外部调试命令并发送访存地址,所述访存地址为调试处理内存区的虚拟地址。
4、根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址。
5、根据所述外部调试命令访问并且执行所述同等地址固定映射的物理地址的调试指令。
6、其中,所述根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址,具体包括:
7、在所述虚拟地址的地址空间内预留出同等映射虚拟地址空间。
8、根据所述页表将所述调试处理内存区的物理地址映射到所述同等映射虚拟地址空间,获得同等地址固定映射的物理地址。
9、其中,所述根据所述外部调试命令访问并且执行所述同等地址固定映射的物理地址的调试指令,具体包括:
10、直接运行所述同等地址固定映射的物理地址内的固化代码。
11、当确定所述外部调试命令要求访问并且执行所述同等地址固定映射的物理地址内的自定义指令时,则获取所述固化代码中的自定义指令入口地址。
12、根据所述自定义指令入口地址运行所述同等地址固定映射的物理地址内的自定义指令。
13、其中,所述当确定所述外部调试命令要求访问并且执行所述同等地址固定映射的物理地址内的自定义指令时,则获取所述固化代码中的自定义指令入口地址,具体包括:
14、若所述外部调试命令不要求访问并且执行所述同等地址固定映射的物理地址内的自定义指令,则不进行所述调试处理内存区的调试管理。
15、其中,所述根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址,具体包括:
16、所述页表包括第一调试页表和至少一套标准页表,根据所述第一调试页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址。
17、根据编码信号切换所述第一调试页表和至少一套标准页表,所述编码信号包括第一编码信号和第二编码信号,将所述第一编码信号与所述调试页表进行绑定,将所述第二编码信号与所述标准页表进行绑定。
18、其中,所述根据所述外部调试命令访问并且执行所述同等地址固定映射的物理地址的调试指令,具体包括:
19、确定所述同等地址固定映射的物理地址处于地址区间0~debug_addr_end内,则发送所述第一编码信号,切换到所述第一调试页表,直接运行所述同等地址固定映射的物理地址内的固化代码。
20、确定所述外部调试命令要求访问并且执行所述同等地址固定映射的物理地址内的自定义指令时,则获取所述固化代码中的自定义指令入口地址。
21、根据所述自定义指令入口地址运行所述同等地址固定映射的物理地址内的自定义指令。
22、其中,所述确定所述同等地址固定映射的物理地址处于地址区间0~debug_addr_end内,则发送所述第一编码信号,切换到所述第一调试页表,直接运行所述同等地址固定映射的物理地址内的固化代码,具体包括:
23、若所述同等地址固定映射的物理地址处于地址区间0~debug_addr_end外,则发送所述第二编码信号,切换到所述至少一套标准页表,不进行所述调试处理内存区的调试管理。
24、其中,所述根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址,具体包括:
25、所述页表包括第二调试页表,根据所述第二调试页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址。
26、一种调试处理内存区的管理系统,所述系统包括:
27、获取模块,用于获取外部调试命令并发送访存地址,所述访存地址为调试处理内存区的虚拟地址。
28、地址转化模块,用于根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址。
29、调试模块,用于根据所述外部调试命令访问并且执行所述同等地址固定映射的物理地址的调试指令。
30、一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述方法的步骤。
31、采用本发明实施例,具有如下有益效果:
32、本发明根据页表在进行调试管理之前就对调试处理内存区的虚拟地址进行同等映射处理,使调试处理内存区中代码指令执行时跳转后的地址不会出错,保证执行结果的准确性。
1.一种调试处理内存区的管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种调试处理内存区的管理方法,其特征在于,所述根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址,具体包括:
3.根据权利要求2所述的一种调试处理内存区的管理方法,其特征在于,所述根据所述外部调试命令访问并且执行所述同等地址固定映射的物理地址的调试指令,具体包括:
4.根据权利要求3所述的一种调试处理内存区的管理方法,其特征在于,所述当确定所述外部调试命令要求访问并且执行所述同等地址固定映射的物理地址内的自定义指令时,则获取所述固化代码中的自定义指令入口地址,具体包括:
5.根据权利要求2所述的一种调试处理内存区的管理方法,其特征在于,所述根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址,具体包括:
6.根据权利要求5所述的一种调试处理内存区的管理方法,其特征在于,所述根据所述外部调试命令访问并且执行所述同等地址固定映射的物理地址的调试指令,具体包括:
7.根据权利要求6所述的一种调试处理内存区的管理方法,其特征在于,所述确定所述同等地址固定映射的物理地址处于地址区间0~debug_addr_end内,则发送所述第一编码信号,切换到所述第一调试页表,直接运行所述同等地址固定映射的物理地址内的固化代码,具体包括:
8.根据权利要求2所述的一种调试处理内存区的管理方法,其特征在于,所述根据页表将所述调试处理内存区的虚拟地址转化为同等地址固定映射的物理地址,具体包括:
9.一种调试处理内存区的管理系统,其特征在于,所述系统包括:
10.一种存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。