[发明专利]一种内存管理功能的测试方法和系统在审
申请号: | 201811318574.8 | 申请日: | 2018-11-07 |
公开(公告)号: | CN111159005A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 刘弋波;张庆 | 申请(专利权)人: | 珠海全志科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 齐洁茹 |
地址: | 519085 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 功能 测试 方法 系统 | ||
本发明公开了一种内存管理功能的测试方法和系统,所述系统包括:处理器、内存、内存管理单元和测试单元,所述测试单元,包括:用于存储虚拟地址的第一存储位置、用于存储测试数据的第二存储位置和第三存储位置;所述测试单元,用于在测试时,基于第一存储位置中存储的虚拟地址,访问内存管理单元,实现将第二存储位置存储的测试数据写入所述内存,或者,将从内存中读取的测试数据装载到第三存储位置;处理器,用于对测试单元写入或读取的测试数据进行校验。本发明不仅可以用于内存管理单元驱动的测试,在操作系统上运行出错后,对怀疑有问题的地址尝试用这种方式进行复现,帮助调式,提高开发效率。
技术领域
本发明涉及集成电路领域,尤其涉及一种内存管理功能的测试方法和系统。
背景技术
内存管理单元MMU(Memory management unit)用来将CPU或者设备访问内存命令里的虚拟地址映射成实际物理地址,用于CPU以外设备,比如显示引擎,ISP的MMU又被称为设备内存管理单元(IOMMU,Input/Output(Device)Memory management unit)或者系统内存管理单元(SYSMMU)。
但是MMU在使用的过程中不单纯是一个硬件的行为,它是一个软硬件高度协同配合的工作,因为涉及到操作系统(比如linux,Android)对内存空间的动态管理,比如buffer(缓存)空间的动态申请和释放。MMU的驱动主要是在内存空间动态管理的过程中,频繁进行页表的维护,比如页表的创建,销毁,更新。如果驱动本身未经过充分测试,可靠性差,集成到系统上运行时很容易出现问题,而且一旦发生问题调式起来很费时,也难以定位,毕竟在系统上复现现场也很困难。
目前暂未从公开途径看到行业内对MMU,特别是IOMMU有好的测试和调式方法,一般最多是出错时产生中断协助诊断,比如读取到无效页表,但是页表自身内容有无错误不能有效帮助定位。
所以,现在的MMU(包括IOMMU)设计只有一些出现类似页表无效等错误时报错的简单机制,很难协助对驱动进行高效的测试,在系统运行出错后也很难快速帮助定位。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种解决上述问题的内存管理功能的测试方法和系统,用以帮助软件开发人员对驱动进行完善的测试,找出可能的错误,在系统运行出错后也能协助进行快速定位,提高开发效率。
依据本发明实施例的一个方面,提供一种内存管理功能的测试方法,包括:处理器、内存、内存管理单元和测试单元;
所述测试单元,包括:用于存储虚拟地址的第一存储位置、用于存储测试数据的第二存储位置和第三存储位置;
所述测试单元,用于在测试时,基于所述第一存储位置中存储的虚拟地址,访问所述内存管理单元,实现将所述第二存储位置存储的测试数据写入所述内存,或者,将从所述内存中读取的测试数据装载到所述第三存储位置;
所述处理器,用于对所述测试单元写入或读取的测试数据进行校验。
可选地,本发明实施例中:
所述第一存储位置为:地址寄存器;
所述第二存储位置为:第一数据寄存器;
所述第三存储位置为:第二数据寄存器。
可选地,本发明实施例中:所述第一数据寄存器和第二数据寄存器为同一寄存器。
可选地,本发明实施例中,所述测试单元,还包括:
控制/状态寄存器,用于配置测试的读写属性、以及开始/结束的状态。
可选地,本发明实施例中,所述测试单元,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海全志科技股份有限公司,未经珠海全志科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811318574.8/2.html,转载请声明来源钻瓜专利网。