打印
[开发资料]

ARM嵌入式应该这样学

[复制链接]
66|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LOVEEVER|  楼主 | 2024-9-13 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、ARM、DSP等主控难吗?

ARM 、DSP等,其实也属于单片机一类,只不过它的内核牛X一点而已,但是,假如你就单单让他作为一种普通的单片机来用,那说明你不会用。

首先说ARM芯片吧,它的内核就是ARM内核,它的主频高很多,普通的都有几百M。CPU缓存大,分有很多级的流水处理线,这样大大提高了CPU利用率。这种IC的资源足以让一个嵌入式操作系统正常跑起来,WINCE, LINUX, UCOS 等等,一个操作系统移植到里面去,跑起来,然后就自己利用操作系统的接口写一些应用软件,就可以直接控制其强大的外设了。当然了,这中间还有另外一种工程师在工作,就是嵌入式驱动工程师,他是专门针对硬件接口写驱动的,封出来的接口就给上层的人使用,这种工作有点类似搞单片机的。很多人想从搞软件直接搞ARM,那么我的建议的是,除非你能力很强大,可以直接搞ARM,否则的话,先学单片机,再学ARM吧。

DSP,中文名叫数字处理器,看它的名字就知道了,它就是用来处理数据的,他的数据处理能力,比ARM强大的多,一般来说接口没有ARM丰富,它的接口都是有针对性的,快速的存储,快速的访问,这都是为了快速的处理数据而作准备的。它的主频也是几百M,DMA就肯定有的了。一般来说,图片处理,视频处理,网络数据处理等等多是用DSP的。就是因为它是用来做数据处理,那么精通DSP的人,一定要精通各种数据处理的算法,什么傅里叶等等,假如你将DSP看做一款MCU来搞,那太浪费了,100块的东西当几块钱的来用。要用好它,物尽其用,那真的很难,要精通算法才行。


2、嵌入式软件是什么?

嵌入式软件分为嵌入式操作系统软件,嵌入式应用软件。大部分的嵌入式软件都寄宿在ARM内核的芯片上,三星,飞利浦等等都有ARM内核的IC,做计算机软件的人,很容易的就转做嵌入式软件,但是要做嵌入式驱动软件的话,就有点难了,因为这个涉及到硬件接口,一般都是搞单片机的人转过去做的。这几年,这个东西很火,用在数码产品,比如MID,掌上电脑等。现在刚毕业进来的应届毕业生都懂linux了,那个压力啊可想而知,想逃避竞争的人,不用想了。

嵌入式一直冠以高门槛的名号,相较于软件开发逊色的起步薪资也被网友调侃“饿肚子”。热情投入嵌入式的人比比皆是,无可奈何转入产品经理或技术型销售的也比肩继踵。嵌入式工程师到底有没有前途?

的确,由于嵌入式代码量相对纯软导致起步工资低,但行业大牛的工资也非常可观。另外以长远目光来看,嵌入式渗透消费电子、安全安防、汽车电子、医疗电子、电信等等各个行业的计算机领域,而每年也约有40万的人才缺口。今年机器学习(ML)话题大热,Arm也推出神经网络机器学习软件 Arm NN,可在基于Arm的高能效平台上轻松构建和运行机器学习应用程序,未来嵌入式行业也将不断革新,嵌入式市场有所可期。

据知乎某15年从业人员看,对于嵌入式不必悲观,也切莫盲目乐观,不同时期不同人对前途的定义是不同的。他表示,影响前途发展的因素包括平台、人脉、目标与机遇,有了更多的项目经验才有立足的机会,有广阔的人脉关键时刻才会有人拉一把,有了目标才能专注一个方向不断发展。另外,他还表示,切莫钻技术“牛角尖”,管理岗能爬就爬,错过机会,错过年龄,追悔莫及也无济于事。

还有网友表示,世上不只平均收入排名第一的行业从业人员可以高质量的生活,排名第二、第三、第四等等从业人员都有高质量的生活,而在排名榜单上光鲜亮丽的从业人员也未必过得大红大紫。任何行业都与机遇、环境都有关,再好的行业也有混不下去的人,再差的行业也有人闷声赚大钱。另外,时间在变,世事也在变,前几年大热的公务员,现在也逐渐被人嫌弃。所以在浓厚的兴趣使然下,才有可能成功。

另外,嵌入式这个鱼塘也有搅浑水般的存在,据了解,某知乎er最近面试的十几个平均工作年龄超三年的硬件工程师,居然搞不清楚三级管mos管,甚至连三个脚的名字都可以搞错,高低电平这种基础知识也搞不清楚,令人意外的是,这种水平的人开口要价也基本10K+。高的并不是门槛,高的是可以踏踏实实干好这一件事。

嵌入式工程师的的终点只有一个,就是真正的技术专家。

嵌入式技术大体上可分为编程语言,内核技术,操作系统,总线接口,系统集成。其实细心的可以发现,在 CSDN的论坛分区上就已经体现了,除了系统集成只是在嵌入式系统大区里面体现了下,其他的都有明确的板块对应关系。但是学习之路并非如此学习,而是分为几个层次,据该工程师多年对业内的观察,将嵌入式工程师的技术范围分成下面几个等级:

1.初级:8051或其他单片机,UCOS,I2C,SPI,UART。汇编和C能力一般,系统集成能力弱。

2.中级:在初级的基础上,ARM/MIPS,其他一些RTOS并了解Linux,SDIO,USB。汇编和C能力不错,有一定系统集成能力。

3.高级:主要是对中级的进阶,这一个层面已经不在于掌握具体的技术,而是掌握当前流行技术中的基本思想和构成方式,所以任何流行的技术,对于这一阶段来说,都是手到擒来的。而由于掌握了所有技术的原理,系统集成能力也是超强。

对于初级和中级,都有明确的标杆,在此阶段,工程师还是在入行阶段,评判标准往往是掌握了什么技术,而学技术的最高境界是需要掌握了技术的构成和模式。拿个很简单的例子来说,所有的接口技术,其实都可以归纳为几个要点,单工还是双工、如何发起传输、如何应答、如何报错、如何纠错、如何在其基本传输之上建立高级的应用。只要掌握这些,接口技术便不攻自破。

使用特权

评论回复
沙发
jf101| | 2024-9-17 21:18 | 只看该作者
由低级到高级需要循序渐进

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

272

主题

1841

帖子

4

粉丝