0
如果你打算成为嵌入式系统程序员,那么我假设你已经知道如何编程。最好是C语言,因为C语言足够简单,如果你已经掌握另一种语言,就可以很快使用C语言。
使用嵌入式系统的最大区别在于,你是处于底层的硬件方面。理想情况下,你对电子学有一些兴趣,并且知道如何阅读原理图。
然而,最重要的一件事是能够阅读和理解复杂的数据表。
你将要使用的PCB上的每项硬件都有一个相关的数据表。有些只有几页长。但是有些,特别是那些带有数十个外设的微控制器,会很长-很长。
我目前正在为称为ATSAME70Q21或简称E70的32位ARM处理器编写设备驱动程序。该部分的“数据表”长2212页。目录只有十一页。它有62章,其中大部分专门针对芯片上的特定外设,例如WDT,RTC,I2C,I2S,TC,UART,PWM,DAC,ADC等。
让我们考虑一下我目前正在使用的I2S(IC间声音控制器)接口。有框图:
时序图:
寄存器图:
加上很多很多的说明性文字——一共 26页只为了一个外围设备。
你必须喜欢阅读这些东西,否则你不能嵌入式系统开发人员。如果幸运的话,你的妈妈或爸爸晚上读这些给你听,而不是就读睡前的故事,这样你就可以对未来的工作有所帮助。
较简单的8位微控制器的数据表可能会更短,但各个部分的内容仍可能非常复杂。例如,以6引脚PIC10F200为例,其成本仅为40美分左右。看起来很简单,数据表只有88页:
但是这是8位PIC10F200内部的比较器的示意图:
即使这样也不是那么简单,例如互斥的OR等等。
收藏