- 博客(14)
- 收藏
- 关注
原创 Broadwell-DE GPIO Lockdown Register
Grangeville 平台下有个寄存器可以对gpio进行锁住,不让系统进行修改,记录下此寄存器。此寄存器位于LPC Interface的pci寄存器中。代码:
2021-10-19 16:50:34 777
原创 X86 第一条CPU指令及BIOS Shadow
目录一、CPU第一条指令计算二、找到第一条指令所在位置三、第一条指令的内容四、BIOS Shadow一、CPU第一条指令计算开机时CPU进入实模式,8086以及80286的寻址方式为段寄存器左移4位+偏移地址(IP中的值)。第一条指令为FFFF0h,位于1M字节的往下第16个字节的地方。而到了80386,段寄存器由一个段选择子、基地址、长度和访问属性构成(80286就有了,不过是一个过渡阶段,还是以386为主,资料记载比较多),无论是在实模式还是在保护模式下,...
2021-09-05 12:56:34 2703 1
原创 UEFI 之 LoadImage探索
以上图片来自《UEFI原理与编程》LoadImage实现的功能将EFI文件加载放到内存中,创建一个image handle 插入到Handle链表中去,并且安装EFI_LOADED_IMAGE_PROTOCOL到这个image handle上。gBS->LoadImage是一个函数指针,它实际指向CoreLoadImage函数。位于MdeModulePkg\Core\Dxe\Image\Image.c// Loads an EFI image into memory and ...
2021-08-15 23:22:24 2077
原创 DDR 内存基础知识(2)- DDR预取
对预取概念理解之前,先来复习下DDR颗粒位宽的概念。上一篇文章说了,一个Memory Array中由行地址和列地址的交叉选中一个位,若两个Array叠加在一起,就同时选中了两个Bit,位宽是X2。若四个Array叠加到一起,就能够同时选中四个Bit,位宽则是X4。也就是说,对一个X4位宽的DDR 颗粒,如果给出行地址和列地址,就会同时输出4个Bit到DQ数据线上。进入DDR时代之后,就有了prefetch技术,DDR1是两位预取(2-bit Prefetch)有的公司则贴切的称之为2-n Prefetc
2021-07-31 22:49:06 9851 10
原创 获取TPM的VID以及DID
一、TCG PC Client Platform TPM Profile Specification for TPM 2.0:https://trustedcomputinggroup.org/wp-content/uploads/PC-Client-Specific-Platform-TPM-Profile-for-TPM-2p0-v1p04_r0p37_pub-1.pdf在UEFI Shell下使用mm指令去读取:二、TCG Vender ID(VID):https://
2021-07-23 15:24:51 679
原创 I210 链路速度修改不生效问题定位
背景:Broadwell-DE I210 <------->Switch (Auto Negotiation-- ON, Max support speed –100Mbps)问题描述:无论在BIOS Setup下以及使用Lanconf工具修改I210的速度,最终都是自协商模式,修改不成功。1.在BIOS Setup下修改,不生效2.使用lanconf工具修改,不生效LANCONF tool-->Intel (R) I210 Gigabit Network ...
2021-07-21 16:40:52 2799 2
原创 Denverton 平台SMBIOS的Type 17内存信息位宽显示有误
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes,
2021-06-11 14:38:57 1189 2
原创 Denverton C3000 看门狗复位功能验证
Denverton C3000 TCO功能验证①清除General Control寄存器中的No Reboot位。②往TCO_TMR寄存器第0-9位写入计时值。③清除TCO1_CNT寄存器中的第11位TCO_TMR_HALT。④往TCO_RLD寄存器中的第0-9位TCO_RLD写入任意值,重装计时。第①步:a.访问GC寄存器,其Host Memory Space为SBREG_BAR + 0xCF0000 + Ch。b.查找SBREG_BAR,其位于Bus:0 Devi..
2021-04-29 15:58:02 926
原创 Intel Turbo Boost (睿频)技术简介
Intel Turbo Boost Technology英特尔睿频加速技术(Intel Turbo Boost Technology)是英特尔2012年起应用在酷睿 ™处理器的独有功能。当开启睿频加速之后,CPU会根据当前的任务量动态改变处理器时钟频率(主频),从而在执行重任务时发挥最大的性能,轻任务时发挥最大节能优势。在CPU中的PCU(Power Control Unit,功耗控制单元)可以监控CPU的功耗。当应用负载提高时,PCU可以为系统睿频提供...
2021-04-18 12:31:55 11809
原创 DDR3 SPD修改记录
需求背景:DDR3 内存颗粒由原来的 2Gb*9(其中 1 颗为 ECC 颗粒)替换为三星 和镁光的 4Gb*9(此项目的内存颗粒是直接焊在主板上,Processor:Intel Silvermont Atom Processor, Chipset:Avoton SoC)参考镁光提供的SPD修改后,发给工厂离线烧录,测试发现还有以下2个问题需要修改:①为了使用一个SPDimage兼容三星和镁光,将厂家信息去掉(第117-118个字节)。②将第12...
2021-04-17 12:40:19 2401 1
原创 BIOS重启寄存器探讨(soft reset,hard reset,full reset)
BIOS 重启的相关操作Bit1: 设置0 ---当RST_CPU 从0变为1,通过触发INIT#16个PCI clocks产生soft reset 设置1 ---当RST_CPU 从0变为1,通过触发PLTRST#和SUS_STAT#至少1毫秒产生hard reset Bit2: 见Bit1中描述。 Bit3: Full ...
2021-04-04 11:30:27 3721
原创 DDR 内存基础知识(1)
DDR SDRAM---- Double Date Rate Synchronous Dynamic Random Access MemoryRAM随机访问内存----任意访问一个内存地址,其访问时间是一样的。(在RAM产生之前是,是顺序访问存储器,像以前的磁带,现在的硬盘也是顺序访问的,但访问速度快上很多)Dynamic 与其对应的是 Static ---- 保存一个比特位,SRAM 需要用到4-6个晶体管,而DRAM只需要一个电容(10^(-14)F)以及一个晶体管。由于电容中保持...
2021-03-21 10:52:31 1589
原创 访问PCIE配置空间
访问PCIE配置空间①IO方式访问(CF8h/CFCh两个IO端口)address = BIT31 | ((Bus & 0xFF) << 16) | ((Dev & 0x1F) << 11) | ((Fun & 0x7) << 8) | (Reg & 0xfffffffc);将0xE0000000h写入PCIE B:0 D:0 F:0 Reg:0x60(一般情况下基地址寄存器位于此PCIE设备配置空间...
2021-03-18 16:27:35 1892 6
转载 I2C(smbus、pmbus)、SPI
https://blog.csdn.net/panzhenjie/article/details/51702058欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准...
2019-11-13 13:55:32 502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人