今天答主就从个人的研发经历出发,与答主以及对嵌入式开发感兴趣的朋友一起来看看。 Linux嵌入式开发和MCU嵌入式开发的区别经常被提及。
第一:两个对应的细分开发位置不同。
由于嵌入式技术涉及领域广泛,因此不同的细分领域有不同的相应的发展定位。 不同的开发岗位有完全不同的技术能力要求和岗位职责。 受访者根据其个人嵌入式开发经验整理了以下狭义的嵌入式软件开发工作清单。
第二:对应的轴承硬件单位不同。
前面提到,嵌入式微控制器开发的成果需要运行在微控制器(MCU)的硬件单元上。 至于提问者提到的Linux嵌入式开发,最终的程序需要SOC芯片的支持才能完成嵌入式功能。 MCU和SOC有什么区别? 回答者已经对自己之前的回答进行了总结和整理。 朋友们可以去下面的解答链接查看。 这里不再重复。
第三:开发涉及的操作系统不同。
前面提到,SOC和MCU的硬件特性不同,决定了两者支持的可执行操作系统也不同。 由于SOC拥有更完善的硬件功能、更强大的核心处理器,并且有MMU等内存功能的支持,很容易运行Linux、vxworks等操作系统; 而MCU,虽然很多核心也是arm架构,但是由于其处理能力有限、存储空间限制等因素,只能运行ucos、freertos等一些小型实时操作系统。
第四:开发用途和涉及的技术栈不同。
从第一个区别我们可以看出,嵌入式Linux和嵌入式MCU的工作职责不同,对应的技术栈也肯定不同。 恰好,在之前的回答中,受访者对嵌入式开发各个岗位的技能要求进行了梳理和总结。 回答者和感兴趣的朋友可以到当时的回答链接查看。