
文章目录1.理论:pcie(express快)是pci的升级也是intel提出。flash可像内存一样读,但不能像内存一样写,写flash要先发一些命令擦除和解锁才可写入数据1.1 非bridge设备:用IDSEL引脚选中物理设备目的是读取并设置256字节的配置寄存器,一个pci设备最多有8种功能(怎样选中某一种功能),每种功能都有256字节/个的配置寄存器(怎么选中功能里哪一个寄存器)1.2 bridge配置:桥才有bus,type1(消息类型)的bit0是1,type0的bit0是0枚举过程:系统需要给每一个PCIE设备进行BDF编号,因为pcie总线只接了一个设备,设备编号固定为02.设备驱动:0x1000 0000是基地址(BAR,枚举时分配的)3.pci控制器驱动:cpu_addr怎么转换为pci_addr(通过pcie controller内部寄存器配置)4.获取设备信息5.6.5.SSPRST1.理论:pcie(express快)是pci的升级也是intel提出。flash可像内存一样读,但不能像内存一样写,写flash要先发一些命令擦除和解锁才可写入数据cpu地址空间里,地址和数据是分开的。pcie地址空间里,地址和数据(AD总线)是复用的,使用frame信号分辨传输的地址还是数据。RAM-like像访问内存一样访问设备。1.1 非bridge设备:用IDSEL引脚选中物理设备目的是读取并设置256字节的配置寄存器,一个pci设备最多有8种功能(怎样选中某一种功能),每种功能都有256字节/个的配置寄存器(怎么选中功能里哪一个寄存器)如下第3步就是在AD[31:0]引脚上。如何访问桥后面设备:1.配置bridge(AD29选中IDSEL,读reg发现是桥,bus num即1写进配置寄存器),2.通过桥配置后面设备(1.2章节)。如下在pcie3.0规范手册里,type0是一般设备,type1是桥后面设备。步骤3是4个引脚:第一次configuration read(哪一类设备,设备id