需要一些想法,以便使用gdb和半主机在Cortex-M4上自动化片上测试

时间:2019-06-06 16:24:11

标签: gdb cortex-m openocd

我正在开发需要大量测试的安全关键软件。目标处理器Cortex-M4具有用于应用程序的丰富资源,但是单元和集成测试(如果进行了汇总)将比板上的FLASH / RAM大得多。它们被设计为从gdb运行,​​同时使用半主机卸载测试结果。所需要的是一种使测试自动化的方法,以便可以在无需每次测试的人工干预的情况下运行测试。

使用OpenOCD和Segger调试器前端,测试程序可以从Eclipse正常运行。这些要求每次测试配置,然后手动启动测试。将有30-50个测试程序,因此对于连续集成或简单的批处理运行而言,这实际上并不可行。

我一直在寻找实现此目的的可能方法。有一些棘手的问题需要考虑。第一个是支持输出的半主机。这使用断点系统从主机获取I / O。在这种用法中,在主机上打开了几个文件来记录日志。另一个问题是结束正在测试的程序并加载下一个程序。退出main()时,程序可能需要花费很长时间才能运行并陷入无限循环。开发平台是Windows 10。

我拥有的两个基本想法是使用cygwin的gdb客户端库创建自定义程序或使用OpenOCD。通过多个测试运行可以在应用程序内部或从Makefile中完成。

问题:半主机是否在gdb客户端或服务器中完成?

所以...寻找一些建议或经验,以在Win10中创建我作为自定义gdb客户端的图片。

0 个答案:

没有答案