学习嵌入式系统最重要的事情是什么?
0 1638
0
该提问暂无详细描述
收藏
2021-01-17 13:18 更新 蝈蝈 •  224
共 1 个回答
高赞 时间
0

如果你打算成为嵌入式系统程序员,那么我假设你已经知道如何编程。最好是C语言,因为C语言足够简单,如果你已经掌握另一种语言,就可以很快使用C语言。

使用嵌入式系统的最大区别在于,你是处于底层的硬件方面。理想情况下,你对电子学有一些兴趣,并且知道如何阅读原理图。

然而,最重要的一件事是能够阅读和理解复杂的数据表。

你将要使用的PCB上的每项硬件都有一个相关的数据表。有些只有几页长。但是有些,特别是那些带有数十个外设的微控制器,会很长-很长。

我目前正在为称为ATSAME70Q21或简称E70的32位ARM处理器编写设备驱动程序。该部分的“数据表”长2212页。目录只有十一页。它有62章,其中大部分专门针对芯片上的特定外设,例如WDT,RTC,I2C,I2S,TC,UART,PWM,DAC,ADC等。

让我们考虑一下我目前正在使用的I2S(IC间声音控制器)接口。有框图:

main-qimg-a0394198d55bc23d662ea2e8a8d95bcc

时序图:

main-qimg-8710c4d48238cf7031812100dbfd7c79

寄存器图:

main-qimg-5de5e8b978ed0696fc2338b3ed8f7293

加上很多很多的说明性文字——一共 26页只为了一个外围设备。

你必须喜欢阅读这些东西,否则你不能嵌入式系统开发人员。如果幸运的话,你的妈妈或爸爸晚上读这些给你听,而不是就读睡前的故事,这样你就可以对未来的工作有所帮助。

较简单的8位微控制器的数据表可能会更短,但各个部分的内容仍可能非常复杂。例如,以6引脚PIC10F200为例,其成本仅为40美分左右。看起来很简单,数据表只有88页:

但是这是8位PIC10F200内部的比较器的示意图:

main-qimg-9337810564c49bd201841e09401cb186

即使这样也不是那么简单,例如互斥的OR等等。

收藏
2021-01-17 14:02 更新 我爱喝牛奶G •  2074