嵌入式软件开发做什么
来源:互联网 发布:淘宝手机网站卖家版 编辑:程序博客网 时间:2024/06/02 19:12
当项目经理的时候,经常碰到来面试的技术同仁
只要有几年工作经验的哥们,简历都高大上牛x飞上天
如:
linux内核移植
Linux驱动开发,驱动框架优化
串口设备驱动开发,SPI等
这样的哥们来,我问了几句,十个里面有八个都是带水分的,其实他们无非就是写了几年应用层的代码而已。
为什么会这样呢?
国内嵌入式公司主要有两种: 偏底层芯片公司,偏应用层业务需求公司。
实际上大多数公司都是做应用层业务需求
比如做人脸识别打卡机的,做GPS导航的,做云终端设备的公司等
这类的公司,除非已经是非常大规模的,正常是几十号研发在运作。
人脸打卡,人脸识别模块是核心,但是硬件和软件是买的,公司可能制作c++,QT实现上班打卡业务的工作使用场景,数据传输,导出导入等相关编程
GPS导航的,GPS模块,核心驱动,Linux,WinCE的,都不需要此公司的开发者去做开发
云终端的,核心接入协议可能是买思杰的方案,也有可能买Vmware的方案,再不行的就搞个山寨的spice协议,rdp协议这些免费开源的。
以上几个产品,核心模块,买之,接口使用之,大多国外技术。
硬件方案,要么开发板生搬硬套要么外包给硬件厂商。
那这些公司的开发做什么呢?
如果产品UI是的是QT, 那就写大量的C++代码,各种好的软件框架,各种多线程,多进程配合。
如果UI是GTK,那就写大量的C代码,各种结构体来模拟面向对象的开发思想,当然也可以学习内核开发者写的牛x框架,比如学习输入子系统,设备驱动模型啊,binder驱动模型啊,将内核的编程思想灵活运用到应用层编程,写出稳定,拓展性极强的框架就是很牛的人物啦。
真正涉及到Linux底层开发的偏少,如果一个人真正深入掌握linux内核的进程管理,时间管理,内存管理,文件管理,各种驱动框架等,能在各种硬件平台做一个实时操作系统的,还懂裸机,写点启动代码来引导自己的操作系统,那就是大牛中的大牛。
回归到刚进入嵌入式世界探索的孩子们,其实你们目前的水平去分析uboot,分析linux内核源码,是一件很egg疼的事情
调用接口来实现多线程,来处理进程通信,来写socket编程都是难事,甚至还在纠结指针传参,纠结指针数组和数组指针,怎么能去看uboot,linux内核源码呢?
孩子们,做技术咱得一步一个脚印,不需要被培训机构设置的课程所困恼。
没错,uboot,内核是高级的技术,安卓Framework是犀利的技术,但是目前你还是回过头来问问自己,C和指针能看懂多少,甚至谭浩强的c程序设计 你掌握了没。
千万不要让未来要会的知识来把自己的嵌入式梦想给扼杀了。
当你觉得吃力很累的时候,记住哥哥说的,工作几年的嵌入式者很多还在写QT C++, GTK C 还在写多线程,写进程通信。只是他们多了点经验,多了点调试能力。
要慢慢让自己的C,C++扎实了,写了很多的应用层代码,你才能慢慢看懂Linux内核框架
要慢慢让自己的Java扎实了,才能懂得原理java和C之间可以互相调用着玩,才发现安卓底层和我们的Linux这么的和谐相通。
祝你成功。
微信: 18650711783
秋秋: 327022711
- 嵌入式软件开发做什么
- 嵌入式开发做什么
- 要个嵌入式开发板做什么?
- 不做软件开发做什么?困惑中。。。
- 普普通通二本大学毕业做嵌入式软件开发该何去何从
- 软件应该做什么
- 要做软件开发,买什么笔记本好
- 嵌入式软件开发—— 应聘嵌入式软件工程师需要准备些什么?
- 做什么开发赚钱
- 嵌入式软件开发流程
- 嵌入式软件开发测试
- 嵌入式软件开发流程
- 嵌入式软件开发流程
- 《专业嵌入式软件开发》
- 嵌入式软件开发笔试
- 嵌入式Linux软件开发
- 嵌入式软件开发书籍
- 关于嵌入式软件开发
- oracle函数(corr相关性系数)
- iOS设置圆角性能问题
- idf 实验室 古老的邮件编码
- 抽象类与接口杂记
- 寄存器版读正交编码器的值,测试成功
- 嵌入式软件开发做什么
- C语言二分查找法实现与细节
- 浅谈ANR及如何分析解决ANR(1)
- MAC 远程访问软件
- 浅谈ANR及如何分析解决ANR(2)
- tsung测试http的get和post方法配置
- GroupBy中如何对字符串字段合并
- C#实现服务器数据实时推送的功能的原理
- 增加Ueditor 字体