MCU门槛低,入门容易, 但是灵活,其实对工程师的软硬件功底要求更高, 随着半导体的飞速发展,MCU能实现很多匪夷所思匪夷所思的功能,比如,使用GPIO模拟1个串口,使用DMA配合任意GPIO来实现PWM输出,使用PWM来模拟声音输出, 这些都需要非凡的技巧与天马行空的想象力才能实现的。MCU发展较为分散,就从RTOS来讲,我随口就能讲也5个RTOS,尤其是最近几年,新RTOS一个接一个出,用我的话来说就是阿猫阿狗都出来做RTOS了;虽然这些RTOS都大同小异,但是它毕竟分散了所有开发者的力量,没有积累出一个统一的知识库,造成的结果是为了丰富自己RTOS的组件,不少RTOS直接把linux里的一些软件资源移植到它自己的RTOS上,
但这些在嵌入式linux里面,应该不敢想象,平台给你提供了几个串口,你就只能用几个,如果平台没有声卡,那就无法发出来声音。如果要改,理论上也是可以的,但是改动的东西就多了去了。正是因为linux下编程的通用性,造成了linux下编程相对规范,linux下发展出的软件知识点多如牛毛,看起来也很复杂,但是这是在相对规范的环境下积累下来的知识点,很多知识点是前人的智慧的结晶,所以嵌入式linux对工程师的庞大的linux知识面要求高,同时加上linux入门较高,所以给人的感觉linux难。
这也形成了linux工程师比MCU工程师高一等的错觉。
可以说MCU与APU相比,各人侧重点,
|