【CSDN 编者按】2020年,在嵌入式系统及硬件领域里有哪些新趋势呢?本文作者从软硬件两大点出发,详细介绍其中的新技术发展趋势,对于嵌入式系统工程师的你绝不可错过的干货知识。
作者 | Christian Walter,固件开发
译者 | 弯月,责编 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
以下为译文:
对嵌入式系统及硬件程序员而言,2020年将是振奋人心的一年。因为在服务器和台式机领域内,英特尔将发布新的 Whitley/Ice Lake 芯片组,AMD 即将发布新的 Ryzen 处理器,而 RISC-V 将吸引更多人的目光,同时英特尔证实苹果的台式机及 MacBooks 产品线将转而使用 Arm CPU。
随着物联网应用的普及,MCU市场将再次繁荣。因此,市场上对嵌入式系统工程师人才的需求也将出现新高。这些都是底层编程领域中即将出现的趋势。
编程语言
当我们谈及编写围绕硬件层运行的代码时,最常提起的就是C语言。25年前,当我们从汇编语言过渡到C语言时,整个过程非常缓慢,且需求很高。如果你想进入嵌入式编程领域,那么2020年C以及C++仍然是你应该重点学习的编程语言。
如果你想尝试嵌入式编程,那么可以从下面几个方面着手:
语言入门还是很不错的。
买个微处理器就我个人而言,实际操作才是最佳的学习途径。所以,你也可以买一个微处理器,实际接触硬件,亲眼看到实际结果才是你最应该做的事情。你可以购买 Arduino 等流行的处理器,然后从一个小项目开始,真正了解硬件的工作原理。
阅读书籍和文档阅读书籍和文档是最关键的学习方式。你可以根据自己选择的方向(嵌入式系统、固件开发、驱动程序开发等),选择相应的书籍。
除了C/C++之外,该领域没有真正占据实际市场份额的编程语言,但是下面的新起之秀值得关注。
Rust
今年我一定要把学习 Rust 提上日程。有传言说 Rust 是从C发展而来的,Rust 将在很多应用领域广泛取代C。Rust 在嵌入式领域的发展非常迅速。如果我们比较 StackOverflow 网站上有关C、Rust 和 Assembly 的提问,就可以看到2019年有关 Rust 的问题数超过了 Assembly,而C在过去几年中略有下降。
相对于C,Rust 有几大优势,最大的优势之一就在于内存的安全性。Medium 网站上有很多关于 Rust 的文章,你可以通过阅读了解 Rust 的所有优势。此外,Rust 可以在许多微控制器上运行,这个 GitHub 代码库中汇总了大量信息()。
如果你想学习 Rust,那么我强烈建议你访问 Rust 主页( 编程。
Golang
Golang?Golang!Golang 这种编程语言的潜力也超过了你的想象。目前,它主要运行在用户空间,可以替代 Ruby 等后端语言,或用作用户空间的应用程序,因为它拥有良好的多处理器支持。
不过,我相信 Golang 会慢慢进入底层的编程。目前,它已应用在固件开发中,用于开发引导程序。随着嵌入式设备上的 RAM、ROM 和 Flash 的容量不断增大,将来也有可能在嵌入式设备上运行 Golang。 对于每位嵌入式系统程序员来说,Golang 绝对值得一试,而希望参与固件开发的人则必须学习 Golang。
硬件
除了编程语言之外,硬件设计方面也有一些有趣的趋势。我想提及的第一件事情是:RISC-V。
RISC-V
RISC-V 是一种开源硬件指令集体系结构。它基于精简指令集计算机原理,即所谓的 RISC。与 Arm 相比,制造商不需要支付许可费用即可使用 RISC-V。
面向服务器和消费者的硬件大多采用了x86硬件。我认为 RISC-V 不会很快在这部分市场中赢得份额,但是它有可能应用于其他几个市场。路由器和交换机等嵌入式设备以及智能手机制造商或物联网设备都可能切换到 RISC-V 架构。
现在市场已有 RISC-V 的电路板,虽然价格仍然偏高,但值得关注。例如,眼前我的办公桌上的这块就是 SiFive HiFive Board。
big.LITTLE
最后我想谈谈 big.LITTLE 架构。最初它是由 ARM 发明的。原理是将低功耗的处理器(LITTLE)与功能强大、高功耗的(big)处理器相结合。同一时间内, LITTLE 或 big 只有一侧处于活动状态。这种架构应该能够更好地适应当今的动态计算需求。
这并不是一个新想法,ARM 于2011年就提出了此项建议。但是似乎其他制造商也对 big.LITTLE 跃跃欲试。英特尔于2019年预览的英特尔 Lakefield 异构处理器就采用了 big.LITTLE 架构。
原文链接:
本文为 CSDN 翻译,转载请注明来源出处。