2 个回答
-
| 2017-10-16 14:44:01 广告
实名反对~
看见评论中一边倒的情况,忍不住来说两句。
先抛开题主的问题,我就简单举个例子。
为紧跟潮流,产品中要用到USB接口的4G模块,Linux可能只需要简单配置下,驱动都是现成的。
而我们需要:
1、需要移植TCP/IP协议栈,这个有LWIP还好说。
2、需要自己实现USB复合设备驱动,做linux 的可能熟悉USB那一套驱动,但有几个需要自己读USB协议来实现一遍。
3、PPP拨号,linux下只需移植过来配置下参数,这里得自己实现它与ucos的接口,甚至拉来PPP协议一个一个字节对每个流程的数据。
4、要加个4G转wifi功能,linux下的NAT转发只是一条指令,而这里需要修改lwip源码来支持双网卡。
5、以上都是驱动层要做的,应用层自己做socket管理,自己实现FTP协议来做软件升级等就不说了。
这只是一个模块的开发,再换个角度,怎么保证整个系统的稳定性?
1、ucos已经开了二十多个任务,这些任务的运行情况怎么样,怎么监控管理?
修改ucos源码,做任务管理器。
2、产品中有数百个参数供用户修改设置以满足不同的功能,这种关键参数的修改配置,怎么做能靠谱?
没有数据库,要用数据库思想基于flash实现一套简单的数据库功能。
3、用户不同,功能不同,外部配件不同,一套代码怎么管理 ?
结合宏机制,用批处理实现Makefile做一套自动化编译功能。
等等。。。
这是上家公司团队其中一个人做的事情,他也不是科班出身,但我不相信,不懂模块化,不懂事件驱动能做出很好的产品。
一定程度上,我认同题主说的他们代码不规范,他们没有互联网行业的完善的开发流程,我有时也看不过去,也经常提。
但是要看到这些是锦上添花而不是根本。
他们不懂单元测试不意味着他们不懂测试。他们没学过操作系统课程也不意味着他们完全不懂操作系统。很可能这些理论你是课堂上学习,而他们是在实践中吸收。最近在聊他们想兼容两个主芯片,用软件描述硬件,我一听这不就是DTS的思想嘛。
做单片机很大的特点就是什么都要自己干,很多别人拿来就用的东西都得自己实现。从这个角度讲单片机开发还是有难度的。
当然任何一个成熟的产品,十几万代码,必然有烂的,我们干嘛要看烂的呢,我们要向好的学习,不是嘛→_→本问答由jxk提供
-
| 2017-10-16 14:39:19 广告
模电数电就够他们折腾的了,哪有时间啊本问答由jxk提供
更多
- 仙桃小规模代理记账去哪里办
- 29
- 3
- 海北小规模代理记账代办联系方式
- 17
- 3
- 成都注册公司去哪里办
- 55
- 3
- 蚌埠公司注销代办联系方式
- 24
- 3
- 临汾公司注册营业执照流程是什么
- 76
- 3
- 商用燃气灶可以加装熄火保护吗?
- 17
- 3
- 鹤岗公司注销流程是什么
- 97
- 3
- 攀枝花注册公司流程是什么
- 4
- 3
- 和田小规模代理记账去哪里办
- 31
- 3
- 鸡西小规模代理记账代办联系方式
- 80
- 3