对于嵌入式 ARM 初学者而言, 学习过程中心中一定会有各种各样的疑虑和困惑, 比如:
1,ARM 和嵌入式是什么关系?
2,ARM 工程师的前景如何?
3, 企业对 ARM 工程师的技能要求有哪些?
4, 学 ARM 需要什么基础, 要学习多长时间?
5, 学 ARM7 还是 ARM9, 如何选择?
6, 搭载的操作系统如何选择?
7, 如何学习?
在此, 小编针对这些问题提提自己的看法, 以期待对初学者有所帮助, 能在学习的道路上少走些弯路.
01
嵌入式前景广阔, 就业渠道多, 无疑是当前最有发展前途的行业. 特别是随着消费电子的智能化, 5G 的快速发展等等, 嵌入式更显重要. 如果你想从事该领域, 或者成为该领域的工程师, 你就会发现要掌握的东西实在太多.
万事开头难, 想进入该领域你得找个合适的切入点. 面对百花齐放的嵌入式, 切入点有很多, 我建议你量力而行.
嵌入式大体上可以划分为: 硬件和软件两部分. 想从事嵌入式硬件的, 推荐你从 ARM7 开始; 想从事嵌入式软件的, 推荐你从 uCOS-II 嵌入式操作系统开始.
面对 "ARM7+uCOS-II" 方案, 可能有些人会问 "ARM9+Linux" 方案是否也适合初学者, 针对这个问题, 我谈谈自己的看法:
1
ARM7 比起 ARM9, 更适合初学者学习. 和 ARM7 相比, 应该说 ARM9 在性能方面有很大提高, 但 ARM9 更适合作为产品开发平台, 并不适合初学者用于学习. 主要原因如下:
从硬件设计方面, ARM7 主频在 100MHz 以内, 学生完全可以掌握其设计技术, 而 ARM9 在 200-600MHz 左右, 属高速设计, 至少有 3 年以上经验的硬件工程师才可能进行设计, 一般学生很难掌握.
从硬件设计方面, ARM7 主频在 100MHz 以内, 学生完全可以掌握其设计技术, 而 ARM9 在 200-600MHz 左右, 属高速设计, 至少有 3 年以上经验的硬件工程师才可能进行设计, 一般学生很难掌握.
而 ARM9 是系统集成度更高的 SOC, 适合跑 WinCE,Linux 等高级操作系统, 用于教学是 "大马拉小车", 这样造成学生在设计时往往不会关注资源, 成本, 可靠性的限制, 就如同用一台 PC 进行教学一样, 无法体现嵌入式教学的特点.
从应用方面, ARM7 芯片价格比 ARM9 低的, 而且 ARM7 芯片是目前嵌入式产品市场的主流, 很多手机等产品都是基于 ARM7 的, 占到市场份额的 90% 以上; 采用 ARM7 就如同目前单片机开发与教学绝大多数采用 51 体系一样, ARM7 就是 32 位微处理器领域的 51, 有着持久的生命力.
2
至于操作系统的选择, ucos 比起 Linux, 更适合初学者学习. ucos 内核精简, 代码不长, 且相关书籍和学习资源相当丰富, 非常适合初学者学习.
学习 ucos 可以很快地熟悉嵌入式操作系统的核心内容, 比如: 内核是如何工作的, 任务如何创建, 任务间如何通信, 内存如何管理等内容.
经过一段时间的学习, 可以真正理解嵌入式操作系统, 对后期的学习和使用很有帮助. Linux 代码庞大, 且操作复杂, 不利于初学者学习.
学习 Linux 是一项长期且复杂的工作, 要掌握的东西很多, 比如: Linux 常用命令, Linux 操作系统知识, Linux 下的编程与交叉编译技术, Linux 的驱动程序编写等等.
上面的每个知识点花一门课去讲授都不为过, 把这么多内容都放在一起去理解, 很难保证学习质量.
总之, 观察了很多采用 "ARM9+Linux" 方案进行学习的学者, 都经历了一段漫长而又痛苦的过程.
对于初学者而言, 采用这种方案的话, 基本上是 "不识庐山真面目, 只缘身在此山中".
02
平地起高楼, 基础要打牢. 很多学者有这样的心理:"要学我就要学最新最好的, 要学就要学那种一学即能用的知识", 这种急功近利的想法是不对. ARM 如何学习? 我这里提两点意见:
1, 切记万事万物的发展都有其客观规律, 违背其规律就是揠苗助长, 最终达不到你的预期效果.
2, 学习新事物也是一样, 有其客观规律, 比如: 先易后难的启动规律, 阶段性进步的螺旋式规律.
掌握这些规律后, 你就知道, 学习是需要由易到难, 分阶段进行的.
我认识很多朋友, 一开始涉及嵌入式就在那倒腾着 ARM9 和 Linux. 可付出的努力并未收到良好的
来源: http://www.bubuko.com/infodetail-3506464.html