嵌入式的开发领域有哪些?
嵌入式软件工程师一般都在开发什么?
推荐答案
同学你好!嵌入式的开发领域非常广泛。从飞机大炮到智能马桶,都有嵌入式的专业术语。如果把嵌入式工程师的软件开发再细分的话,其实是一件大事。大多数公司满足应用层业务需求;比如做人脸识别打卡机的公司,做GPS导航的公司,做云终端设备的公司。这样的公司,除非已经非常大,否则通常会有几十家研发机构在运作。人脸打卡,人脸识别模块是核心,但是硬件和软件都是外购的。公司可制作C++、QT实现冲压业务、数据传输、导出导入等相关编程的工作使用场景。
GPS导航、GPS模块、核心驱动、Linux、WinCE,不需要本公司的开发人员进行开发。
对于云终端来说,核心接入协议可能是Citrix的解决方案,也可能是Vmware的解决方案。如果它不起作用,山寨 spice 协议和 rdp 协议是免费和开源的。
以上产品,核心模块,都是接口购买使用的,大部分是国外技术。
对于硬件方案,要么开发板外包,要么外包给硬件厂商。
那么这些公司是怎么发展的呢?
如果产品UI是QT,那就写很多C++代码,各种好的软件框架,各种多线程、多进程的协作。
如果UI是GTK,那就写很多C代码和各种结构来模拟面向对象的开发思路。当然你也可以学习内核开发者写的牛X框架,比如学习输入子系统、设备驱动模型、binder驱动模型,灵活地将内核的编程思想应用到应用层编程中,编写一个稳定且高度可扩展的框架是一个非常好的特性。
涉及Linux底层开发的内容真的很少。如果真的对Linux内核的进程管理、时间管理、内存管理、文件管理、各种驱动框架等有深入的了解,就可以在各种硬件平台上制作一个实时操作系统。也懂裸机,写一些启动代码来启动自己的操作系统,就是牛人中的大牛。
回到刚刚进入嵌入式世界的小朋友们去探索,其实以你现在的水平去分析uboot和Linux内核源码是一件很痛苦的事情。
很难调用接口实现多线程,处理进程通信,写socket编程,甚至还在为指针参数传递,指针数组和数组指针苦苦挣扎,怎么看uboot,linux内核源码?
嵌入式的开发领域就介绍到这,一步一步做技术,很多学生会被培训机构开设的课程所困扰。可能连C和指针,C编程都不太懂。还有一个大话题。不管怎样,只要我们有扎实的基础。进一步探索Linux内核框架。