出品 | CSDN(ID:CSDNnews)
以下为译文:
2020 年对于嵌入式系统和硬件程序员来说将是激动人心的一年。 因为在服务器和台式机领域,Intel将发布新的Whitley/Ice Lake芯片组,AMD即将发布新的Ryzen处理器,RISC-V将受到更多关注。 与此同时,英特尔确认苹果的台式机和 MacBooks 系列将改用 Arm CPU。
随着物联网应用的普及,MCU市场将再次蓬勃发展。 因此,市场对嵌入式系统工程师人才的需求将出现新高。 这些都是低级编程领域即将出现的趋势。
编程语言
当我们谈论编写围绕硬件层运行的代码时,最常提到的是 C 语言。 25 年前,当我们从汇编语言过渡到 C 语言时,整个过程进展缓慢且需求量很大。 如果你想进入嵌入式编程领域,那么C和C++依然是你2020年应该重点学习的编程语言。
如果想尝试嵌入式编程,可以从以下几个方面入手:
Learn-c.org 是 Ron Reiter 的私人项目。 这个项目虽然和嵌入式或者硬件关系不大,但是作为C语言的入门还是很不错的。
就我而言,实践操作是最好的学习方式。 所以,你也可以买个微处理器,实际去摸一下硬件,亲眼看看实际效果才是最重要的。 您可以购买像 Arduino 这样的流行处理器,然后从一个小项目开始,真正了解硬件的工作原理。
阅读书籍和文献是最关键的学习方式。 可以根据自己选择的方向(嵌入式系统、固件开发、驱动开发等)选择相应的书籍。
除了 C/C++ 之外,还没有真正在这个领域占有真正市场份额的编程语言,但后面的后起之秀值得关注。
锈
今年我一定会把学习Rust提上日程。 有传言说 Rust 是从 C 发展而来的,Rust 将在很多应用领域广泛替代 C。 Rust 在嵌入式领域的发展非常迅速。 如果我们比较 StackOverflow 站点上关于 C、Rust 和 Assembly 的问题,我们可以看到 2019 年关于 Rust 的问题数量超过了 Assembly,而 C 在过去几年中略有下降。
Rust 比 C 有几个优势,其中最大的优势之一是内存安全。 Medium 网站上有很多关于 Rust 的文章,你可以阅读 Rust 的所有优点。 此外,Rust 可以在许多微控制器上运行,在这个 GitHub 存储库 ( ) 中编译了大量信息。
如果您想学习 Rust,那么我强烈建议您访问 Rust 主页 ( )。 该站点提供了广泛的入门文档和教程。 《The Rust Programming Language》一书也是一个很好的起点。 Rust 网站有专门的嵌入式说明 ( ) 可以帮助您了解嵌入式设备上的 Rust 编程。
高朗
戈朗? 戈朗! Golang 这种编程语言的潜力超乎你的想象。 目前,它主要运行在用户空间,可以作为Ruby等后端语言的替代品,或者由于其良好的多处理器支持,作为用户空间的应用程序。
不过,我相信Golang会慢慢进入底层编程。 目前已应用于固件开发,用于开发bootloader。 随着嵌入式设备上RAM、ROM和Flash的容量越来越大,未来也有可能在嵌入式设备上运行Golang。 Golang 绝对值得每一位嵌入式系统程序员尝试,对于那些希望参与固件开发的人来说是必须的。
硬件
除了编程语言,硬件设计也有一些有趣的趋势。 首先要提的是:RISC-V。
精简指令集
RISC-V 是一种开源硬件指令集架构。 它基于精简指令集计算机的原理,即所谓的 RISC。 与 Arm 不同,制造商无需支付许可费即可使用 RISC-V。
服务器和消费者的大部分硬件都使用 x86 硬件。 我认为 RISC-V 不会很快在这部分市场中获得份额,但它有可能应用于其他几个市场。 路由器和交换机等嵌入式设备以及智能手机制造商或物联网设备可能会转向 RISC-V 架构。
现在市场上有RISC-V电路板。 虽然价格仍然偏高,但值得关注。 例如,现在我桌上的是 SiFive HiFive Board。
大.小
最后想说说big.LITTLE架构。 最初它是由ARM发明的。 其原理是将低功耗处理器 (LITTLE) 与功能强大的高功耗 (big) 处理器相结合。 一次只有 LITTLE 或 big 的一侧处于活动状态。 这种架构应该能更好地适应当今的动态计算需求。
这不是一个新想法,ARM 在 2011 年就提出了这个建议。但似乎其他制造商也渴望尝试 big.LITTLE。 英特尔2019年预览的英特尔Lakefield异构处理器采用了big.LITTLE架构。
原文链接: