7000应用开发技巧:模拟设备驱动(Mocking).docx
《7000应用开发技巧:模拟设备驱动(Mocking).docx》由会员分享,可在线阅读,更多相关《7000应用开发技巧:模拟设备驱动(Mocking).docx(3页珍藏版)》请在第一文库网上搜索。
1、7000应用开发技巧:模拟设备驱动(MoCking)Nei1Johnson-首席顾问-XtremeEDASohei1Sa1ehian-助理研究员-卡尔加里大学模拟(MOCking)是嵌入式系统开中用于单元测试和测试驱动的一种技术。模拟的好处在于通过删除不相关的从属代码,它允许开发者很容易地隔离和单元测试其中一部分代码。在嵌入式系统中,这些从属代码可能被当作由设备驱动和硬件运行的功能集合而存在。在这篇博客中,我们将讨论关于模拟设备驱动和硬件以及使用Goog1eTest和Goog1eMock来测试应用程序代码。在我们的例子中,目标硬件是Zynq-7000SOC的ZecIBoard。之所以挑选Zed
2、bOarc1是因为它有大量拥窟和很多简便可用的参考设计。不过其不足是,一板难求!一由于需求量大,这块开发板的运送时间超过2个月。不过目标硬件送达延迟对嵌入式开发者来说是个普遍问题。没有目标硬件,嵌入式开发者通常只有两种选择:a)等待,或b)在没有硬件的情况下开发并测试高质量应用我们的选择是不等待:-)我们的应用是一个视频演示平台。在这个平台上,ZynqSoC中ARMCorte-A9MPCoreCPU上运行的软件创建一系列视频帧,将它们通过由XiIinXIP核组建的硬件流水线传输到HDM1视频输出。我们的目的就是通过模拟设备驱动来写入和测试整个应用程序。然后,当收到ZedBoard后,我们就可以
3、用真正的设备驱动来重新部署我们的应用了。模拟设备驱动功能我们选择一个对我们单元测试很好的粒度(granu1arity)水平,因此我们能够从一系列很小的步骤开始建立和测试我们的应用程序,每一步测试完毕后再进行下一步。例如,软件功能是用xiic.中的XiiJDynInit()函数对目标硬件I2C控制器基地址进行适当的初始化。为了模拟像Xiic-DynInitO这样的设备驱动程序,我们的应用包含赛灵思设备驱动头文件xiij1.h,正如你通常做的一样。然后我们新建我们自己的该函数实现的存根来代行从IibXi1a中链接真正的设备驱动代码。这存根始于空的实现体,由此我们可以流水清除Makefi1e然后bu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 7000 应用 开发 技巧 模拟 设备 驱动 Mocking
