一、基础知识
-
各种外设有各自的控制器。例如GPIO控制器可控制GPIO输入输出,UART 控制器可以控制不同脉冲的产生 等。而CPU的作用是向各种控制器写入数据,CPU是通过地址线区别不同的外设控制器的;
(可以理解为CPU与外界的连接时地址线和数据线,地址线用来选择寄存器,数据写用来写入或读取数据); -
CPU 通过内存控制器控制内存;CPU将地址发送给内存控制器,内存控制器根据地址选择不同的内存(系统中有很多类的内存,如Nor Flash, SDRAM 等,这些都是根据地址区别的);之后再传输数据;
(再次强调:CPU只是发送地址信号和数据信号,具体功能的实现是由各模块的控制器实现的; -
一般而言,CPU发出的信号不会直接输出到片外(给的是各种外设的控制器),但是对于内存类设备,CPU的地址线可以到片外储存器;内存类设备:(Nor Flash, 网卡,SDRAM等)。(NAND Flash不是内存)
-
内存类芯片都有与CPU直接相连的单独的地址线和数据线;CPU 发出的地址和数据直接传递给片外芯片;内存控制器根据CPU发送的地址自动选定片选信号nGCSx;
-
各种外设寄存器和内存属于CPU统一编址。CPU可以通过NAND