- 博客(6)
- 收藏
- 关注
原创 代码中设备的扫描和Driver Binding的关系
代码中设备的扫描和Driver Binding的关系主板上大部分外设都是挂在控制器或桥上,这些控制器都挂在PCI下。如上图,USB设备就通过USB总线挂在EHCI下面,在代码中,每一个设备对应一个handle,PCI Bus先扫描BUS0上的PCI设备,扫描到一个设备,就在它的handle下install PciIoProtocol和DevicePath,这样它的配置空间就可以用了。gBS->ConnectController调用Driver Binding函数遍历所有PCI设备,匹配class
2021-03-29 14:53:55
639
1
原创 读《对中国文化的布罗代尔式考证》再感
夜里睡不着,翻看以前看过的书籍,发现观后感,随即再读一遍文章。旧文新读,因亲身经历,感触颇深。文章以人和驴做同样大小的功——拉粪,驴所消耗的成本远不及人这个话题引入,探讨了中华文化和其他国家文化的区别。都是以人为本,但中华文化崇尚吃苦耐劳,其他国家追求无限人身自由和快乐。对于“吃苦耐劳”,我一直觉得它完全正确,也曾因我不如妈妈口中能吃苦而沮丧。而我的妈妈就是典型中华传统文化的继承者,明明有洗衣机,却怕浪费电手洗;一生的梦想就是建个房子享受,但房子建好后,仍起早摸黑工作,全年无休。我一直给她算一笔账,她现..
2021-03-03 17:22:51
1189
4
原创 对PCIE设备访问及其配置空间的一点理解
讲讲对PCIE总线协议的一点理解吧。感觉每一年又会多一点理解,但不懂得地方仍很多。PCI总线是拓扑结构,PCI总线从0开始,不超过31。如下图,挂在总线0,即Bus 0上的为根(root)设备,下面还挂设备的则为桥(Bridge),不再挂设备的即为设备(Device)。挂在桥下的设备总线号必然大于桥的总线号,下图中,PCI桥片1位Bus 0,PCI设备11为bus 1,PCI设备31为Bus 3。所以PCI桥片1的从属总线是1-3。挂在PCI总线上的所有桥或设备都有特定的编号,即为Bus,Device
2021-02-26 11:35:56
3329
4
原创 客制化VBIOS
除去标准VBIOS里存在的一些分辨率,我们有时候需要根据客户的特殊屏设置对应DTD Timings,以实现屏的点亮。屏参如上图,即HA:1024, VA:600HBL:320 VBL:35clk:5120(10kHz)转化为十六进制HA:400h, VA:258hHBL:140h VBL:23hclk:1400h(10kHz)根据下图DTD Timings的规范,可以得到下二图的结果如果遇到显示不全,则可设置实际显示参数,根据Active area填写实
2021-02-20 15:21:23
1780
原创 EC读取风扇转速并在BIOS中显示
EC读取风扇转速并在BIOS中显示一、理论:由下图可知,FAN_TACH是侦测PIN,FANPWM1是控制PIN,FAN_TACH与GPJ3相连。由IT8528的规格是可知,该引脚作复用功能TACH1B用,可侦测风扇转速。且转速放在F2TLRR和F2TMRR中转速计算公式其中fs = FreqEC / 128;而FreEC 为9.2 x 10^6 Hz其中q为2吧配置好以下寄存器,即可侦测到风扇转速。1、GPIOJ3配成ALT,让它自动选择功能2、GRC5的bit1写1
2021-02-05 14:00:00
5186
9
原创 访问SMBus设备
使用SMBus访问温度传感器,并控制smart Fan首先聊聊SMBus的访问方法硬件上:两条线SMBus Clock和Data信号当clock信号为高时data信号才有效,data信号下降,意味着Start。data信号上升,意味着Stop。开始后会发送九位,包括八位数据,一个应答位,如下图,从示波器上可以看到(蓝为clock,黄为data),可以看到发送的为01011100,第9为应答位为高,即NACK,设备无响应。最后为stop。这样就可以通过示波器知道SMBus设备是否响应。软件上
2021-02-05 11:27:40
2097
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人