如何在 Linux 上模拟内存 I/O 设备以进行单元测试?
我正在为嵌入式部署的一些源代码编写单元测试。
该代码正在访问特定的地址空间以与芯片进行通信。
- 我想在 Linux 上对这段代码进行单元测试(UT)。
- 单元测试必须能够在没有人为干预的情况下运行。
- 我需要以普通用户身份运行 UT。
- 必须被测试的代码必须完全是在目标系统上运行的源代码。
关于如何解决这个问题的任何想法?
普通用户能否以某种方式告诉 MMU 必须在特定地址进行特定的内存分配。或者说一个数据块必须在一个特定的内存区域?
据我了解:
无法使用 sigsegv;因为从处理程序返回后,将再次调用相同的内存访问代码并再次失败。(或者偶然内存区域实际上可能有有效数据,只是不是我想要的)
谢谢
亨利