首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

单片机软硬之争解决方案

2013-01-08 来源:读书人网 【读书人网(Reader8.cn):综合教育门户网站】
单片机软硬之争引子:单片机系统是非常典型的软硬结合的系统对软件和硬件能力的要求很平均软件上,你会得自

单片机软硬之争
引子:单片机系统是非常典型的软硬结合的系统

软件和硬件能力的要求很平均

软件上,你会得自己处理协议、组织控制逻辑甚至加密解密等

硬件上,你们会用运放调整信号、设计合适的电源稳定的驱动电路等

在开发管理上,常见的有以下两种模式:

一:大家一起完成系统架构,然后软件硬件独立分开,在框架设计时约定接口。分别测试,最后系统联调。

二:由一高手(通常是老工程师)归纳好所有结构框架,组织下面几个单片机工程师(可能各有所长)逐步构建系统。

这两种模式各有优势和不足,你们采取的是哪种?

执行效果怎么样?说说您的感受,也为这个看似简单到不需要管理(其实更需要管理)的行业积累一点你的经验
[解决办法]
单片机就是一个人搞定,软硬通吃。不存在团队放入问题。
执行效果很好,常见于中小规模的公司。

[解决办法]
技术传承是很大的问题
[解决办法]
看你管理的规模,

如果规模大,可以学习一下华为 中兴 这样的团队;

如果规模小,小公司,都是1-2个牛人工程师,1个人一个项目搞定
[解决办法]
版主今天那么有空,呵呵,自己搞个帖子。
小公司的话,很多都是自己负责项目的,特别是单片机项目,说难谈不上,大不了就说它复杂。毕竟代码量不会太多。外围的电路也不会太多,就算很多,也是模块式的,很多都已经是成熟的模块,网上电路图一大把。我公司就是小公司,所有的压力都自己扛。

不过,有点规模的公司我就不清楚了,呵呵。

假如真的要二选一的话,我选第一个。
这两种方式的区别就在系统架构上面。软硬件人员协商,考虑到的东西会比较周全吧,毕竟三个臭皮匠顶一个诸葛亮啊,前提是他们有相关的经验,呵呵!
[解决办法]
这是个纠结的问题
我还是一菜鸟·~ 先学为主
[解决办法]
技术的积累和传承很重要~~
[解决办法]
现在是一个人软件和硬件都做!希望使用第一种!
[解决办法]
一个团队 最好是软硬件方面人才都有吧,但是现在 现实是要一个人丛PCB 搞到 程序部分比较多
[解决办法]
"一:大家一起完成系统架构,然后软件硬件独立分开,在框架设计时约定接口。分别测试,最后系统联调。"
虽然是“一起”,但还得有主次之分。主要是指遇到分歧怎么办?必须有人能拿主意。一旦确定后坚决执行。所以,第二种比较理想。由高人总体负责结构,然后分而治之。这样一来也比较容易控制进度,毕竟高人的经验多,对开发时间的掌握比较准确。
[解决办法]
纠结中..这是个很复杂的问题,自从单片机系统出来后这个问题就一直困扰着各方人士.
以上为个人瞎说!
回贴,捞分,示以存在!
[解决办法]
新人想学什么,跟着感觉走最好,看自己喜好什么,就做什么,呵呵,

世间上,没有两全其美的东西吧,呵呵,这个问题就正如用C好还是用汇编好?只有具体到什么公司,什么环境下,什么情况下,才有个取舍的定夺,呵呵,,个人愚见!
[解决办法]

引用:
引用:
这样的高人不好找,而且,咱周边的高手呢,有很多都是专家型的到管理上不一定能体现出水平

第一种:这个存在很大的问题是成员间的通信,《人月神话》里就对这个问题做出了很好的解答,但是,这样的构建成本和风险对于小公司来说相对是比较低的,它不怕人走,当然集体跳槽那没办法。能保证一定的人才积累,随着公司的成长,有可能会慢慢熬出一两个高手。这将迎来团队的春天!

其实,我个人比较认同第二种方案,也是典型的外科手术团队的形式(手术团队不需要太多的外科医生(牛人、高手),有且仅有一个就够了,然后给他配备相应的护士和麻醉师等辅助其工作,让他专心设计同时助手们也能得到提高和成长),现在大多数老板也都采用这种方案,只不过他们都习惯性的只要一个牛人,然后,把它当成一神牛,一人拉着公司项目的重车。让一牛X的医生一个人去完成一例手术!这显然比较荒唐,可是我们单片机工程师很多人每天都在做着这样的事。呵呵(所有依据来自《人月神话》)

《人月神话》开始我是想提及一下的,不过感觉在单片机论坛提还是稍微有点太“虚空”,不实在。
实际项目中,根据我的经验,还是比较喜欢软硬分开,但二者都对对方的内容有相当的了解,然后由一个人主导制定总体方案,然后分头开发,最终合并调试。这样都可以发挥自己的长处,毕竟软硬都强的牛人太可遇而不可求。
[解决办法]
不知道楼主说的单片机的软都要做哪些工作?  我认为单片机的软实际上也是硬。
[解决办法]
软硬件通吃
[解决办法]
学习了,硬件啊,一直是我的软肋……
[解决办法]
我觉得实际上并没有这么为难。
在立项的时候自然有这么一个人出来规划,要不谁是总负责的呢?
这个人软件或硬件均可,因为都是大概念得问题,不涉及到细节。譬如,需要有哪些功能,需要多大的存储,用什么样的存储,是支持彩屏还是黑白屏,要不要USB通讯等等,这是个总体上的规划,有较多经验的人就可以规划出来。
而作为硬件工程师,我的目标就是作出开发板/demo板,然后试跑demo程序(软件工程师做的)以验证基本的功能,然后就可以交给软件工程师了。
至于什么协议之类的问题,不关我硬件工程师的事,我只需要保证电路参数合格就可以。
软件工程师在实现的过程中,如果确实发现了难以解决的问题,就会和硬件工程师沟通。其实验证硬件只需基本的驱动程序就可以,所以跟软件其实也没太大关系的。


总的来说,软硬基本上是可以分开的。

[解决办法]
如果是大规模应用,譬如开发游戏的、大量应用程序的,软件工程师就会分成做BSP的和做应用程序的,后者机会完全看不到硬件这一层了。

[解决办法]
如果是做小规模应用,譬如什么电子锁啊,门控的终端啊,软硬一个人也是很正常的事。

[解决办法]

引用:
引用:

不知道楼主说的单片机的软都要做哪些工作? 我认为单片机的软实际上也是硬。


通信协议实现过没?人机接口界面实现过没?各种不同的控制逻辑实现过没?

这都是硬不起来的,嘿嘿

什么通信协议? 难道单片机要实现类似基于TCP的复杂协议?
什么人机接口界面? 单片机能够驱动的顶多是灰度点阵液晶吧? 界面应该不会太复杂。
控制逻辑就更简单了。
起码我至今没用单片机做过多少复杂的软件,完全是很硬件相关的,几千行代码都可以由硬件工程师搞定。
[解决办法]
如果楼主用ARM-M3,7,9等,那另当别论了。