前言
这个系列来一期嵌入式TDD实战,讲一下目前我嵌入式TDD开发的整个过程(不包括版本管理部分,虽然实际上我是用VCS来回顾之前的一步一步做了什么的),肯定不是最佳做法,还在不断改进中,算是给想学习类似开发方法的人提供一个实践的参考,入个门。
整个课程(姑且叫做课程吧)的主线就是记录了我通过TDD的方法开发 Flash芯片AT26DF的驱动模块 的整个过程,这个模块的当前版本已经发在之前的博文中:https://blog.youkuaiyun.com/lin_strong/article/details/90274561。
我们会从整个项目的基本配置讲起,搭建好开发环境,然后一起翻开芯片的手册,对驱动模块进行构思,构造mock对象;在非嵌入式的环境下进行大部分的开发;偶尔到嵌入式编译器下仿真一遍看看能否通过测试;一点点添加测试,不断重构模块并通过新的测试;最后实现一个简单的硬件测试,可以到实际硬件上进行自动化测试,验证模块的正确性。
配置及基础要求
开发环境配置
要跟着我一起动手做,电脑上最好先装好VS2012,这个,微软官网上搜一个下了装好就行,免费的。
然后我们还需要Unity以及其配套的Cmock,详细的可以移步http://www.throwtheswitch.org/。主要是Cmock的问题,为了使用Cmock自动生成mock代码,我们需要先装好Ruby。而这两个需要的最基础源码,我直接放在了开发环境中,所以主要是配置Cmock+Ruby并调通它的问题。
然后既然是嵌入式TDD,肯定得有嵌入式开发的环境,我们这里用到的是CodeWarrior v5.x,熟悉我的朋友肯定知道我主要用的芯片是MC9S12XEP100,所以给出的环境也是按照它来配的,所以要装CodeWarrior v5.x。
编程能力
编程能力要求不高,但起码得有C语言的基础,最好K&R整本都完整学习过,这样在看整个课程的过程中应该不会对我使用的一些关键字什么的产生疑问;主要我也没法事无巨细的每个小细节都解释过去,如果有不懂的地方可以下面留言。
另外,VS2012和CodeWarrior这两个开发环境最好都能稍微熟悉下,虽然我会手把手的教,但也没法保证所有细节都讲到。只能,尽可能详细吧。
另外,在开始课程之前可以先把Unity+Cmock的相关手册学一遍,应该不会花太多时间,我之前已经做好了翻译,这三个学完就好:
https://blog.youkuaiyun.com/lin_strong/article/details/84989534
https://blog.youkuaiyun.com/lin_strong/article/details/85053703
https://blog.youkuaiyun.com/lin_strong/article/details/84974842
起码要到能够使用给出的头文件生成出对应的mock文件。
如果上面这些搞不定。可能你还不适合开始这个课程。
开发环境介绍
我已经把我当前的工程开发测试框架上传提供下载https://download.youkuaiyun.com/download/lin_strong/11217430
目录结构

个人习惯是把所有 项目间共享的 模块都放在根目录下,单独放一个文件夹,这样就不需要每个工程保留一个拷贝。当然这也需要将模块写的足够的灵活,能够在不动源码的情况下

本文详细介绍了一套嵌入式测试驱动开发(TDD)环境的搭建与应用流程,包括使用VS2012、Unity、Cmock、CodeWarrior等工具进行开发与测试的具体操作,以及如何在非嵌入式和嵌入式环境下逐步构建和验证Flash芯片AT26DF的驱动模块。
最低0.47元/天 解锁文章
821

被折叠的 条评论
为什么被折叠?



