![]() |
1
2
不,微控制器数据表描述了不属于ARM核心的外围设备。 "Technical Reference Manual" (TRM, DDI0484) 而且不太详细 "Device Generic User Guide" (DGUG, DUI0662) . |
![]() |
2
2
Atmel想要制造一个MCU,所以他们要么创建、重用或者购买一个处理器,他们至少有一个或者更多的处理器是他们的IP,但是他们选择购买其他人的IP。现在,他们想围绕它包装一些逻辑,他们可以使用一些自己的ip或购买一些。每个主要模块都是一个新的讨论。他们是白手起家生产自己的uart,还是采用多年前创建的uart并重新使用,还是购买uart。他们是否从零开始制造ADC,他们是否使用多年前制造的ADC并使用它,他们是否从某人那里购买ADC设计并使用它。对设计中的每个主要或次要块重复上述步骤。就像本田生产汽车一样,他们要自己生产什么零件,要买什么零件,这和他们几年前的设计有关系吗,或者卡车大小的车和紧凑型车,他们都有四个轮子,一个发动机和一些座椅,在某些情况下,可能共享某些组件,而其他组件则完全不兼容。但这是同一个故事,我们做一个座位,使用一个我们已经有,买一个。我们是做后视镜,还是用以前设计的后视镜,还是从别人那里买的。后视镜的决定可能与座椅的决定无关。 注册它只是一个术语,一个你用来写/存储信息的东西。uart有寄存器使其工作。处理器通常有寄存器使其工作。ADC通常有寄存器使其工作。将这些块视为可分离的。
ADC是一种逻辑块,有时可编程,有时不可编程。转换器本身通常不是。但是,当在一个芯片中使用时,不仅仅是模数转换,还有一个额外的逻辑块包裹在模数转换器周围,使其可编程,这个逻辑块将有某种接口总线,它是一个从。它是由芯片供应商连接到一个总线主总线,在某种程度上可以编程的ADC做一些事情。
基于处理器的芯片只是带有座椅、发动机和车轮的汽车,它们的设计来源于某个地方,然后使用来自某个人(无论是否在家)的更多IP相互连接。 对于这些芯片中的任何一个,每个IP blob都有uart文档、adc文档和处理器核心文档。有时,许可协议阻止芯片供应商发布文档,您必须以某种形式从他们那里获得某种板支持包或SDK中的驱动程序,从atmel到intel再到zilog,您都听说过无数这样的芯片供应商的例子。同样地,也有许可协议或通用实践来指导芯片供应商将要记录哪些部件,以及如何记录哪些部件,哪些部件不记录。所以一般来说,但不总是当你有一个专门的手臂或MIPS核心作为设计的一部分。处理器文档通常应该是由处理器供应商提供的,因此ARM、MIPS等。uart、ADC和其他一些内部或购买的IP通常都在芯片供应商文档中。理想情况下,芯片供应商在各种ip规则中创建了地址空间,因此芯片供应商通常会记录每个逻辑blob在处理器地址空间中的位置,然后您可以查看该逻辑blob的文档,以了解各个控制接口、寄存器或内存映射内存的作用。不总是正确的,虽然与uart的esp,你有时会发现这是一个16550兼容,你必须找到一个16550文件从别人和连接点自己。例如,raspberry pi包括其他外设,他们基本上说这只是arm购买的blob,或者这里有一个blob,我们不会向您展示它的工作原理(但是我们发布了它的linux驱动程序,如果您迫切需要,您可以从中进行反向工程)。
至于它从芯片供应商那里得到多少文件,芯片供应商是非常多的,并且随着时间的推移,系列或产品线是特定的。一些芯片供应商和一些客户喜欢在一个文档中设计特定的内容,通常称为数据表。引脚、电气设备等,以及其他文件包括uart寄存器规格等。有些设计重用相同的核心组件。如果你有一个通用异步收发器,那么这里是寄存器规范,我们所有的通用异步收发器都是一样的。所以所有的芯片外围设备都会有一本手册,也许处理器或者处理器内核本身也在一本单独的手册里。在这种设计方案的某些情况下,外设(如果存在)总是位于同一地址,或者不在同一地址。我在想的是,你可以在数据表和地址图中找到电路板设计的内容,但是程序员的其他信息都在家庭参考手册中,所以你至少需要这两个文档。 当然,也有一些供应商要么把制作带有漏洞的坏文档作为可悲的习惯,要么故意不提供没有保密协议的文档,因为担心竞争对手可能会制作一个克隆,或者仅仅是该公司的一个习惯。有时那些封闭式的公司做得很好,有时这会给他们带来痛苦。Broadcom和allwinner似乎做得很好,allwinner文档往往会被芯片供应商留下来,我猜他们不会受到惩罚,但其他公司可能会因此受到财务或其他惩罚。一切都在法律协议中。 有一些perpherals只有一两个设计,每个人都买它,尽管没有文档记录,但查看linux/unix驱动程序可以发现每个人都使用相同的IP。
一般来说,ARM的东西不在芯片供应商的东西里,所以你不会在那里找到它。有时(很少)芯片供应商会全部或部分地重新发布arm文档。最好直接从手臂上拿。在cortex-m的情况下,核心上的arm外围设备位于固定/众所周知的地址。对于cortex-a和旧的arm11、arm10、arm9……芯片供应商在为该产品设计的地址空间中绑定了一个外设基址,而arm内部外设(如果有的话)就是基于这个基址。因此,您可以找到两个产品,可能来自不同的供应商,具有相同的核心,但内存映射的外设在不同的地址,因为这个原因(在各种arm内核的技术参考手册中)。 |