打印
[技术讨论]

嵌入式有什么值得学习的软硬件技术

[复制链接]
1850|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
晓代码|  楼主 | 2021-8-25 15:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对嵌入式系统工程师及嵌入式硬件工程师而言,2020年是振奋人心的一年。随着物联网应用的普及,MCU市场将再次繁荣。因此,市场上对嵌入式系统工程师人才的需求也将出现新高。这些都是底层编程领域中即将出现的趋势。
先搞清楚什么是嵌入式
我们已经习惯了使用强大的计算能力来处理机器学习,那么嵌入式是这样的吗?
一般的机器学习工程师很少考虑计算资源。而且他们也很少关心内存的使用情况。为什么?因为这些硬件都很便宜,甚至是你的手机都拥有相当不错的CPU和大量内存。
你已经很久没有过聚会拍照时发现自己手机上的存储不够的情况了吧?想象一下,你使用的是只有256KB闪存的TrueTouch感应控制器。没错,只有 256KB。而且由于固件占用了一部分, 因此你不能完全使用这点存储。算下来,你能使用的也就是大约100KB。回头再看看你的上一个模型的大小。可能比这个大多了。
有意思吧?我们来继续看。
当听到“嵌入式设备”时你会想起什么?记住脑海中出现的第一印象。
嵌入式设备可以是任何电动机械,甚至是微波炉和洗衣机
没错,你答对了!
如今,几乎所有的电气设备都是嵌入式的。这些设备内部可能拥有一个或多个控制器来负责每个功能:触摸感应、发动机状态监控等。
这是一种特殊的开发套件,简称迷你计算机,专门为运行机器学习模型而开发。它非常强大,而且非常酷。
但似乎有些不对。
我有很多朋友都在做一些很棒的硬件业余项目。通常他们会使用Arduino或 STM32。
那么,接下来请考虑这样一个问题:“这些设备有多少用在了生产级别的产品中?”
答案:微乎其微
想一想家中有多少电气设备,然后再想想汽车中包含的大量控制器,以及工作上用到的安保系统,等等。
每个设备都有一个控制器。通常,这些控制器都是微型,且超级便宜。
祝你好运,欢迎来到“嵌入式AI”的世界。
重点:真正的嵌入式世界,由资源极其有限的 1-2 美元芯片组成。而生产级别的产品使用的就是这种芯片。
2020年软硬件有什么值得学习的新技术
编程语言
当我们谈及编写围绕硬件层运行的代码时,最常提起的就是C语言。25年前,当我们从汇编语言过渡到C语言时,整个过程非常缓慢,且需求很高。如果你想进入嵌入式编程领域,那么2020年C以及C++仍然是你应该重点学习的编程语言。
如果你想尝试嵌入式编程,那么可以从下面几个方面着手:
https://www.learn-c.org/
Learn-c.org 是 Ron Reiter 的私人项目。虽然这个项目与嵌入式或硬件的关系不大,但作为C语言入门还是很不错的。
买个微处理器
就我个人而言,实际操作才是最佳的学习途径。所以,你也可以买一个微处理器,实际接触硬件,亲眼看到实际结果才是你最应该做的事情。
阅读书籍和文档
阅读书籍和文档是最关键的学习方式。你可以根据自己选择的方向(嵌入式系统、固件开发、驱动程序开发等),选择相应的书籍。
除了C/C++之外,该领域没有真正占据实际市场份额的编程语言,但是下面的新起之秀值得关注。
硬件
除了编程语言之外,硬件设计方面也有一些有趣的趋势。小编想提及的第一件事情是:RISC-V。
RISC-V 是一种开源硬件指令集体系结构。它基于精简指令集计算机原理,即所谓的 RISC。与 Arm 相比,制造商不需要支付许可费用即可使用 RISC-V。
面向服务器和消费者的硬件大多采用了x86硬件。我认为 RISC-V 不会很快在这部分市场中赢得份额,但是它有可能应用于其他几个市场。路由器和交换机等嵌入式设备以及智能手机制造商或物联网设备都可能切换到 RISC-V 架构。
现在市场已有 RISC-V 的电路板,虽然价格仍然偏高,但值得关注。
除了这些还要学什么?
1、打好嵌入式编程的基础
这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。
特别是C语言中对指针的理解和应用。这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。
当然,现在讲求的是软硬结合的时代,除了C语言最好还会这些东西:
看懂电路图
看懂芯片手册
有编写,移植驱动的能力
懂内核的实现机制
懂C语言,C++, JAVA等

使用特权

评论回复

相关帖子

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

本版积分规则

2

主题

2

帖子

0

粉丝