ARM开发比51开发高级吗—嵌入式就业技能分类

本文探讨了嵌入式开发中ARM与51的区别,指出两者在体系编程、内核、驱动和应用方面的异同,并强调了技能分类的重要性。ARM通常具备MMU,适合运行Linux等复杂系统,而51更适合简单产品。但嵌入式软件工程师的核心技能在很多方面是平台无关的,不应过分强调平台高低。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   初学者往往都会认为ARM开发比51开发高级,但事实是这样吗?本篇文章就基于嵌入式开发领域的知识点分类的视觉来谈谈。 本文也代表作者对嵌入式领域的大体见解。

 

1.     体系编程方面

CPU体系代表的是某类CPU家族的体系特性,如ARM体系、MIPS体系、X86体系,而嵌入式开发工程师一般是针对集成各种模块的SOC进行编程。因此这里的体系既包括CPU体系,也包括SOC编程。体系编程应该说是嵌入式领域最基本也是最通用的编程技术要求了。所有嵌入式软件工程师都是从体系编程开始的,如ARM体系编程、MIPS体系编程、51体系编程。

嵌入式体系编程区别于PC(X86)编程的最大特点是,嵌入式的中断控制由工程师自己把握,甚至每行代码都由工程师把握。中断、时钟、GPIO和寻址方式是体系编程的基础。这些模块在所有CPU体系中都存在,不管是ARM,还是51。从系统设计来看,ARM和51在很多模块的核心设计理念上都是一致的,要到芯片的寄存器级才体现出不同。当然设计水平和寄存器的多少、CPU字长、流水线等等都最终影响CPU/SOC的性能和功耗。但对于一般的嵌入式工程师来说,他们面对的体系编程,在原理上可以说都是一致的。

接下来就谈谈不同的地方,ARM一般我们认为是高级处理器,事实上ARM也有进入控制器市场,如热销的STM32。而51仅是控制器。很多初学者认为ARM是认为ARM只代表高级处理器了。高级处理器比控制器性能优越,一般集成功能也比较丰富,如音视频编解码、协处理器等等,但在软件开发来看,本人认为处理器和控制器最大的区别在于高级处理器有MMU(内存管理单元),而控制器没有,或者说它只有固定映射。MMU是通过操作系统如LINUX运行的必备要求,而MMU也意味着系统会配备较为丰富的内存资源,可以支持LINUX等复杂操作系统。在其他方面,处理器和控制器在原理上都是一致的。

 

2.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值