资料介绍
引言
随着电子产品功能日益增多、性能日益增强,低成本32位微处理器、多层PCB板被广泛应用,软件和开发团队的规模随之扩大,同时开发周期呈指数增长。因此,以往的开发方式越来越不适应项目开发的需要。目前,国内磁场检测仪器主要集中应用在工业用低频强磁场和通信用的高频弱磁场测量上,而中频强磁场测量仍是磁场测量领域的一个难题。基于嵌入式操作系统的中频强磁场的测量系统开发中,涉及到高速硬件电路设计、多层PCB板布线、32位微处理器编程、上位机软件编程等多项工作,因此,需要众多开发人员协同开发。
通过长期的实践发现,在项目开发中引入开源项目管理平台Redmine、嵌入式操作系统μC/OS-II、仿真软件Proteus和调试软件Bus Hou nd,能够有效地提升整个项目的协同开发能力和管理水平。采用协同开发管理模式,可以达到以下4方面的显著效果:提高嵌入式软件和硬件之间的协同开发效率;提高嵌入式软件各模块间的开发效率和开发质量;提高上位机和下位机软件的开发效率和开发质量;有效提高整个项目协同开发的管理水平。
1 磁场检测仪开发管理平台
项目管理的好坏关系到项目开发质量的高低,同时,对开发效率和开发质量也将产生重大的影响。目前市场上,基于Web的开源项目管理软件已经发展得很成熟,此类软件在高校的教学和研究,以及中小企业的项目开发管理中,都得到了广泛的应用。
现阶段,在磁场检测系统项目开发中,由于软硬件的开发复杂,开发人员众多且开发人员存在着开发能力参差不齐、流动性大等特点,加上项目的开发时间跨度大等原因,使得项目管理变得十分困难。经过笔者应用分析,从软件的成熟度、稳定性、流行性、社区发展情况,以及安装配置的简易性这几方面进行详细的分析比较,最终在Launchpad、Redmine和Trac这3个软件中,选择了Redmine。
在磁场检测系统的项目管理平台搭建中,首先,利用BitNami Redmine Stack提供的一键式安装包,安装好Redmine平台,然后把中频磁场检测系统开发团队的成员、任务(问题)、文档、讨论、Wiki、版本管理,以及各种形式的资源整合在此平台上,大家通过一起参与更新任务、更新文档等来推动项目的进度。同时,系统地利用时间线索和各种报表,动态显示项目的进度状态。
在项目中引入Redmine管理平台,界面如图1所示。起到了立竿见影的效果:
①开发团队中新加入的成员通过此平台,可以快速地了解项目的详细情况,从而能够快速地接手项目;
②团队中如有成员离开,其他成员可以快速地接手该成员原来负责的任务;
③相对于以往采用客户端TortoiseSVN访问SVN的方式,开发成员更容易接受Redmine提供的Web访问方式,来访问和操作SVN版本控制器;
④为团队成员的内部沟通和交流提供了高效的平台;
⑤根据项目的进展情况,可以及时地调整项目的进度,从而实现高效的动态管理。
2 嵌入式软件和硬件协同开发
Proteus可以实现原理图设计、PCB布板以及微处理器与外围电路的协同仿真。Proteus微处理器模型支持8051、PIC、MSP430、AVR、ARM 7和HC11等系列微处理器。其中,2011年推出的Proteus7.10版本,增加了对ARM Correx-M3系列处理器的支持。
电子产品从芯片的选型、电路设计、PCB布板到样板焊接调试,这中间一般需要几个月的时间,这段时间对整个项目开发来说,是非常关键的。在磁场检测仪样板制作的同时,嵌入式软件开发人员在Proteus中绘制基本原理图后,就可着手在Proteus的ARM Cortex-M3微处理器模型上编写程序。
由于采用Proteus和IAR联调,即在IAR集成开发环境中进行代码调试,运行和调试结果直接在Proteus中显示,因此不用等到样板制作完毕再开始嵌入式软件的调试,从而做到嵌入式软件和硬件的同步开发。
另外,相对于直接在样板上调试,Proteus更容易判断出某个功能不能实现的具体原因,是由于硬件的故障还是软件的编程问题引起的,从而避免了误将硬件故障认为是软件编程问题的情况发生,大大提高开发效率。另一方面,在磁场检测仪LCD显示驱动程序的调试中,利用Proteus提供的逻辑分析仪虚拟仪器测量LCD驱动时序,可以非常直观地调试LCD的驱动程序,快速地完成LCD驱动程序的编程和调试。
由于磁场检测仪中每一版本的PCB都只焊接制作了3块样板,大部分调试都在Proteus上完成。所以,用Proteus代替实际样板调试,可以很大程度地减少元件的购置,减少样板的制作;同时,也大大减少了JTAG仿真器、示波器、逻辑分析仪等调试设备的购置。为磁场检测系统开发节约大量的资金和宝贵的开发时间。
3 嵌入式软件各模块协同开发
3.1 引入嵌入式操作系统实现任务分解
现在,国内低端手机设计上广泛使用联发科技MTK的方案,将手机芯片和手机软件平台预先整合到一起。MTK的整套软件系统十分庞大且复杂,但其架构是引入Nucleus嵌入式操作系统,将手机软件分解成多个任务并行开发。
MTK使用了Nucleus实时操作系统,但在其上做了内核抽象层的封装,以适应最终生产厂商选择其他实时操作系统的需要(如选择替换为ThreadX)。Nucleus、ThreadX和μC/OS-II这3个嵌入式操作系统功能上很类似,但商用license是不一样的。其中μC/OS-II应用在市场上销售的产品,是需要购买license的;而针对高校的教学和研究,是免费的。这也是μC/OS-II广泛被高校教师和学生认知的一个重要原因,同时这也是我们优先采用μC/OS-II作为磁场检测仪的嵌入式操作系统的一个重要原因。
目前,ARM程序的规模一般都很大,需要多人协同开发。由于不带嵌人式操作系统的程序,仅依靠全局变量和函数传递信息,程序耦合度十分高,很难实现多人的协同开发。引入嵌入式操作系统后,各个任务间通过消息邮箱、消息队列或信号量同步,大大降低程序的耦合度,极大地提高团队协同开发的效率。
引入嵌入式操作系统后,一般将程序分成几个任务(线程),分别由专人负责。嵌入式软件开发流程中,首先是对电路板和嵌入式操作系统进行初始化,接着创建若干任务,剩下的工作就是编写每个任务或中断处理的程序代码。图2为磁场检测仪的中断和任务间的同步关系框架图。
随着电子产品功能日益增多、性能日益增强,低成本32位微处理器、多层PCB板被广泛应用,软件和开发团队的规模随之扩大,同时开发周期呈指数增长。因此,以往的开发方式越来越不适应项目开发的需要。目前,国内磁场检测仪器主要集中应用在工业用低频强磁场和通信用的高频弱磁场测量上,而中频强磁场测量仍是磁场测量领域的一个难题。基于嵌入式操作系统的中频强磁场的测量系统开发中,涉及到高速硬件电路设计、多层PCB板布线、32位微处理器编程、上位机软件编程等多项工作,因此,需要众多开发人员协同开发。
通过长期的实践发现,在项目开发中引入开源项目管理平台Redmine、嵌入式操作系统μC/OS-II、仿真软件Proteus和调试软件Bus Hou nd,能够有效地提升整个项目的协同开发能力和管理水平。采用协同开发管理模式,可以达到以下4方面的显著效果:提高嵌入式软件和硬件之间的协同开发效率;提高嵌入式软件各模块间的开发效率和开发质量;提高上位机和下位机软件的开发效率和开发质量;有效提高整个项目协同开发的管理水平。
1 磁场检测仪开发管理平台
项目管理的好坏关系到项目开发质量的高低,同时,对开发效率和开发质量也将产生重大的影响。目前市场上,基于Web的开源项目管理软件已经发展得很成熟,此类软件在高校的教学和研究,以及中小企业的项目开发管理中,都得到了广泛的应用。
现阶段,在磁场检测系统项目开发中,由于软硬件的开发复杂,开发人员众多且开发人员存在着开发能力参差不齐、流动性大等特点,加上项目的开发时间跨度大等原因,使得项目管理变得十分困难。经过笔者应用分析,从软件的成熟度、稳定性、流行性、社区发展情况,以及安装配置的简易性这几方面进行详细的分析比较,最终在Launchpad、Redmine和Trac这3个软件中,选择了Redmine。
在磁场检测系统的项目管理平台搭建中,首先,利用BitNami Redmine Stack提供的一键式安装包,安装好Redmine平台,然后把中频磁场检测系统开发团队的成员、任务(问题)、文档、讨论、Wiki、版本管理,以及各种形式的资源整合在此平台上,大家通过一起参与更新任务、更新文档等来推动项目的进度。同时,系统地利用时间线索和各种报表,动态显示项目的进度状态。
在项目中引入Redmine管理平台,界面如图1所示。起到了立竿见影的效果:
①开发团队中新加入的成员通过此平台,可以快速地了解项目的详细情况,从而能够快速地接手项目;
②团队中如有成员离开,其他成员可以快速地接手该成员原来负责的任务;
③相对于以往采用客户端TortoiseSVN访问SVN的方式,开发成员更容易接受Redmine提供的Web访问方式,来访问和操作SVN版本控制器;
④为团队成员的内部沟通和交流提供了高效的平台;
⑤根据项目的进展情况,可以及时地调整项目的进度,从而实现高效的动态管理。
2 嵌入式软件和硬件协同开发
Proteus可以实现原理图设计、PCB布板以及微处理器与外围电路的协同仿真。Proteus微处理器模型支持8051、PIC、MSP430、AVR、ARM 7和HC11等系列微处理器。其中,2011年推出的Proteus7.10版本,增加了对ARM Correx-M3系列处理器的支持。
电子产品从芯片的选型、电路设计、PCB布板到样板焊接调试,这中间一般需要几个月的时间,这段时间对整个项目开发来说,是非常关键的。在磁场检测仪样板制作的同时,嵌入式软件开发人员在Proteus中绘制基本原理图后,就可着手在Proteus的ARM Cortex-M3微处理器模型上编写程序。
由于采用Proteus和IAR联调,即在IAR集成开发环境中进行代码调试,运行和调试结果直接在Proteus中显示,因此不用等到样板制作完毕再开始嵌入式软件的调试,从而做到嵌入式软件和硬件的同步开发。
另外,相对于直接在样板上调试,Proteus更容易判断出某个功能不能实现的具体原因,是由于硬件的故障还是软件的编程问题引起的,从而避免了误将硬件故障认为是软件编程问题的情况发生,大大提高开发效率。另一方面,在磁场检测仪LCD显示驱动程序的调试中,利用Proteus提供的逻辑分析仪虚拟仪器测量LCD驱动时序,可以非常直观地调试LCD的驱动程序,快速地完成LCD驱动程序的编程和调试。
由于磁场检测仪中每一版本的PCB都只焊接制作了3块样板,大部分调试都在Proteus上完成。所以,用Proteus代替实际样板调试,可以很大程度地减少元件的购置,减少样板的制作;同时,也大大减少了JTAG仿真器、示波器、逻辑分析仪等调试设备的购置。为磁场检测系统开发节约大量的资金和宝贵的开发时间。
3 嵌入式软件各模块协同开发
3.1 引入嵌入式操作系统实现任务分解
现在,国内低端手机设计上广泛使用联发科技MTK的方案,将手机芯片和手机软件平台预先整合到一起。MTK的整套软件系统十分庞大且复杂,但其架构是引入Nucleus嵌入式操作系统,将手机软件分解成多个任务并行开发。
MTK使用了Nucleus实时操作系统,但在其上做了内核抽象层的封装,以适应最终生产厂商选择其他实时操作系统的需要(如选择替换为ThreadX)。Nucleus、ThreadX和μC/OS-II这3个嵌入式操作系统功能上很类似,但商用license是不一样的。其中μC/OS-II应用在市场上销售的产品,是需要购买license的;而针对高校的教学和研究,是免费的。这也是μC/OS-II广泛被高校教师和学生认知的一个重要原因,同时这也是我们优先采用μC/OS-II作为磁场检测仪的嵌入式操作系统的一个重要原因。
目前,ARM程序的规模一般都很大,需要多人协同开发。由于不带嵌人式操作系统的程序,仅依靠全局变量和函数传递信息,程序耦合度十分高,很难实现多人的协同开发。引入嵌入式操作系统后,各个任务间通过消息邮箱、消息队列或信号量同步,大大降低程序的耦合度,极大地提高团队协同开发的效率。
引入嵌入式操作系统后,一般将程序分成几个任务(线程),分别由专人负责。嵌入式软件开发流程中,首先是对电路板和嵌入式操作系统进行初始化,接着创建若干任务,剩下的工作就是编写每个任务或中断处理的程序代码。图2为磁场检测仪的中断和任务间的同步关系框架图。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- Type-c设计及PD相关软硬件实现详解 40次下载
- 米饭气味检测仪资料说明 11次下载
- 专业软硬件开发
- STM32学习笔记1——软硬件基础之keil5编程与GPIO开发
- 嵌入式ARM开发教程之ARM9微控制器LPC3180的软硬件平台的设计
- 基于FPGA芯片的软硬件平台的使用 20次下载
- 电磁智能平衡车控制系统的设计软硬件结构和开发流程论文 21次下载
- USB的串行通信软硬件设计 14次下载
- 基于USB的串行通信软硬件设计 127次下载
- 面向HDTV应用的音频解码软硬件协同设计
- 基于NI的软硬件开发标准的测试平台
- 基于EDA 的嵌入式系统软硬件划分方法
- 谷物品质快速检测仪关键部件的设计
- 基于单片机的板栗成分检测仪的开发
- 单片机测控系统的软硬件平台技术
- 美容仪气密性检测仪的使用方法 171次阅读
- 桌面式气密性检测仪的保养方法 151次阅读
- 什么是SPI锡膏检测仪? 748次阅读
- 带你了解气密性检测仪的优势 554次阅读
- KubeCASH:基于软硬件融合的容器管理平台 819次阅读
- 基于CW32单片机做的软硬件开源项目 893次阅读
- 软硬件融合的概念和内涵 1118次阅读
- 嘉楠科技开源最新一代K230芯片软硬件开发包简介 3719次阅读
- 基于MSP430系列单片机快速开发红外体温检测仪原型机 3942次阅读
- 蓄电池检测仪使用教程_蓄电池检测仪测量什么 2.8w次阅读
- 基于FPGA的交流电磁场检测仪的激励源设计 5279次阅读
- 引导滤波的软硬件协同加速器设计与实现 1424次阅读
- Board从入门到精通(五):软硬件协同设计 2108次阅读
- 基于FPGA的软硬件协同仿真加速技术 5077次阅读
- 基于嵌入式Linux流媒体播放器系统软硬件解决方案 2740次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多