这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [讨论]嵌入式系统无头设备的应用开发和调试

共3条 1/1 1 跳转至

[讨论]嵌入式系统无头设备的应用开发和调试

菜鸟
2007-04-04 05:33:22     打赏

各位大虾:

好!

如果您觉得我提出的问题很好笑, 请一定要原谅我的愚昧无知。。。但也请您一定要赐教。

本人从事嵌入式单板开发,对于应用程序开发没有过多的研究。所以见笑了。

做嵌入式系统,以uCOS-II、嵌入式Linux、QNX、VxWorks等作为操作系统的设备来讲,多为无头设备(也就是说没有显示器、键盘等为配套,但99%的都有串口,50%以上的还有1到2个网口,30%左右的带有文件系统存储设备如FLASH、CF、SD等)。

一般来讲,这样的系统开发流程大致为主要器件选型、原理图、PCB、操作系统和驱动、固件、应用程序,(当然中间有测试过程),然后就进入市场了。

而系统软件开发所采用的编程语言一般是少量汇编和大量C语言,也有用C++甚至Ada、Java的。

这些设备通常被设计成可应用于各种各样的系统中,有的做控制、有的做通讯、有的做监控等等。。。。。所以,运行在这些设备上的应用程序,通常不是那种“一搞好就再也不要动了”的那种,我们经常需要根据应用要求来编写一个应用程序,而且多数也不是那种批量会很大很大的,这个设备被不断应用到某个特定的系统中,发挥它的作用。

在论坛中,我觉得,因为各种应用环境千差万别,且专业性太强,所以很少人讨论怎样在这样性质的设备上开发应用程序。所以,我提出这个议题的目的就是:不仅要讨论“怎样把嵌入式设备做好”,还要讨论“怎样把嵌入式设备用好”--应用程序的开发。

按我所了解的来说(我了解太少了),通行做法可大致分为两种:

其一,直接采用C语言进行应用程序开发。

其二,运用某种中间件(多为可视化开发界面,比如软件PLC产品ControlBuilder、ISaGRAF等,虚拟仪器的LabView等、仿真的Matlab等、UML的Rhapsody等),基于这种中间件进行应用开发。

此两种做法本人都做过,现在谈谈个人看法:

直接使用C/C++进行应用程序开发:

优点:开发起来熟门熟路,代码运行效率高,准确、稳定。无需文件系统等硬件资源,适用于价格敏感的系统。

缺点:应用程序调试较为麻烦,对开发人员要求高,而且对于商业操作系统来说,每个开发人员必须有一个可用的开发环境(主要是编译器)许可,代码维护麻烦、售后人员现场服务麻烦(不能指望他们有与开发人员一样的技术水平(他们熟悉更多的产品,但对某样产品不一定非常精通),而且系统不支持软件调试器调试的话,还得为他们每人准备一个硬件调试器)。这些缺点会随着应用程序的变大以及产品应用增多而更加突出。

基于某种中间件进行应用程序开发:

优点:基本与直接使用C语言开发相对,调试方便(可视化,通常基于以太网和串口,可以在线监视运行状态,还可以做仿真、测试等程序),对现场做设备维护服务的人员要求不那么高,通常不需要专用调试设备。

缺点:代码效率不如C语言那么高,不一定有C语言那么稳定,通常需要更多的硬件资源,比如存储系统等。而且,这些中间件软件通常是要付费的,买了才能用,价格有些还非常吓人。

基于以上分析,两种方式各有利弊,难于权衡。。。。。

所以,我提出这个议题想向大侠们请教几个问题:

您在使用什么样的方式进行应用程序开发?有何感受?

有没有较好的应用程序开发的途径和方法,请赐教?

您有没有想过自己写一个结合二者特点的开发调试工具,或者知道有这种工具?

谢谢了。

yaopg



[align=right][color=#000066][此贴子已经被作者于2007-4-3 22:15:12编辑过][/color][/align]



关键词: 讨论     嵌入式     系统     无头     设备     应用开发     调试         

菜鸟
2007-04-04 21:52:00     打赏
2楼

没人有兴趣。


院士
2007-04-04 21:58:00     打赏
3楼

写的很好~~

设精!!


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]