协同开发模式在磁场检测仪开发中的应用
3.2 引入版本控制器实现代码合并
引入嵌入式操作系统后,每个嵌入式软件开发人员只需负责一个或若干任务。通过引入源代码控制软件,可以实现嵌入式软件代码的整合和集中备份。其中,SVN是BitNami Redmine Stack一键式安装模式中默认安装的版本控制器。通过SVN的使用,开发人员每天回到实验室,
通过SVN更新整个项目代码,然后用Source Insight开始一天的代码编写工作。下班前,使用IAR编译平台进行代码编译,确认没有编译错误后,再把自己修改过的代码上传到SVN中。上传代码时,SVN会自动检测代码是否存在冲突(如果两个或多个开发人员都改动了某一文件的同一地方,SVN会提示存在冲突)。如果存在冲突,开发人员可根据实际需要,协调解决冲突。
引入SVN后,每次代码上传到SVN后都会自动更新生成一个版本号。当磁场检测仪的嵌入式软件各模块联调出现新问题时,通过比较类软件(如beyond compare),比较两个版本代码之间的差别,很多时候能够快速找出问题的关键所在。
4 下位机和上位机的协同开发
Bus Hound可以用来分析USB总线数据协议、捕获I/O动作等。同时,也可以传送用户编写的命令,实现对下位机的控制和调试。虽然上位机软件还没有完成,但定义好上位机和下位机的通信协议后,可以用Bus Hound模拟上位机软件接收下位机软件发送的USB数据,或发送USB数据给下位机软件,从而实现上位机和下位机软件的并行开发。
在磁场检测仪中,使用南京沁恒电子有限公司生产的CH375作为USB主控芯片,实现ARM和上位机的USB通信。实际编程中,使用了CH375的3个端点,端点0用于控制传输,实现USB设备的枚举;端点2 IN用于USB数据从下位机到PC的Bulk传输(一次最多64字节);端点2 OUT用于USB数据从PC到下位机的Bulk传输(一次最多64字节)。Bus Hound接收32字节磁场测量数据如图3所示,利用Bus Hound控制CH373的USB端点2OUT,分32次控制接收下位机回传1 KB的磁场点采集信号数据,最终通过PC的中频磁场分析软件实现中频磁场的单点、平面和空间的磁场模拟分布显示。
另外,端点1 IN用于USB数据从下位机到PC的中断传输,端点2 OUT用于USB数据从PC到下位机的BULK传输(一次最多8字节)。在磁场检测仪嵌入式软件的调试中,利用端点1 IN发送调试指令和接收调试数据。
结语
Redmine、Proteus、μC/OS-II、SVN和Bus Hound的使用,提高了磁场检测系统的开发效率和开发质量,为磁场检测系统高效、高质量地完成开发任务提供了坚实的基础。在实际使用该协同开发模式中,高校或中小企业可以根据自身的实际需要进行改动,如μC/OS-II换成μCl inux等其他嵌入式操作系统,SVN换成GIT等其他版本管理器,Proteus换成SkyEye等其他仿真平台。最终,有效提高了高校研究生课程的教学效果以及高校和企业的项目开发效率和开发质量。
Redmine Proteus 嵌入式操作系统 SVN 协同开发 相关文章:
- 基于PROTEUS技术的ARM7显示系统设计与仿真实现(11-22)
- 单片机虚拟试验箱设计与研究(03-08)
- 基于PROTEUS软件的数字电压表印刷电路板设计(05-01)
- 基于51单片机的数字电压表仿真设计(05-29)
- Proteus在单片机教学和科技制作中的应用与实践(03-02)
- Proteus软件仿真与Keil的单片机系统设计(09-08)