特色

招聘信息(更新Ampere Computing职位 4月12日)

1.AMD BIOS 的一个职位,具体要求在以下页面:

http://www.lab-z.com/amd-bios/

2.Ampere Computing 的一个职位 ,要求在以下页面可以看到:

3. GRL 的一个职位

硬件测试工程师

Position Description:

1. Singal Integrety Test on High/Low-Speed data signals using Oscilloscope, Networking Analyzer, BERT

2. Strictly execute validation tes[......]

阅读全文

Kabylake PCH UART 测试工具 UEFI Shell 版

在 KablyLake/AmberLake的PCH上存在着3个UART,默认情况下使用 UART2(第三个UART,INTEL RVP上使用的就是这个Port作为UEFI Debug Log 输出)。为此,编写一个 UEFI Shell Application 能够让三个 UART 分别发送 “This is PCH UART0/1/2”。在通过串口连接出去的机器上可以收到。这样能够方便的确认硬件连接以及配置是否工作正常。

运行结果:

工具下载(无 SourceCode):

[......]

阅读全文

ESP32 S2 进一步测试

春节这几天趁着有空再进一步研究了一下 ESP32 S2 的 USB 玩法。线路连接方法和之前介绍的相同【参考1】,特别注意,这次没有连接 ESP32S2 的5V和 USB 端口的5V,  这是防止 USB 端口上的5V和板子上的5V不同导致的电流倒灌。首先测试 HID的例子:

烧写代码后设备管理器中可以看到多出的 HID 设备。

我手上的开发板是ESP32-S2-Saola-1R,引脚入下图:

调试方法:

这样,可以在 Arduino 串口监视器中看到 Debug 信息,比如插入时有如下信息:

接下来研究一下 MSD (MassSto[......]

阅读全文

常见 X86 平台TPM 相关缩写介绍

之前看到过很多人用一些词组来证明中文的简洁和高效,比如:人们看到“炮闩”,通过“闩”就能猜到它的用途。这让我想起最近网上的一个笑话:“老师在群里发消息说明天开始一元二次方程。有家长问。能不能一元三次?打个折?” 缺少必要知识,就无法理解“元”的含义。 “一元二次方程” 的英文名是“quadratic equation with one unknown”,从上面大抵能看明白这个方程中有一个未知数以及它的二次方。所以,懂和不懂是取决于知识的储备和语言文字并没有太多关系。

缩写原始词组解释ACMAuthenticated Code Module用于验证当前密钥之类的模块,放在 BIOS 中的,[......]

阅读全文

Step to UEFI (231)直接修改 ROM 中的版本号

某些情况下,我们需要在没有源代码的情况下需要对BIOS ROM 进行直接修改。本文就以修改 OVMF.FD 为例介绍这个过程。

首先介绍一下这次修改的目标,使用下面的命令生成 Debug Log:

其中有下面这样一个错误:

我们的目标就是通过修改 OVMF.FD 来去掉这个错误。

使用 UEFITool 打开 OVMF.FD ,使用搜索功能查找错误字符串,可以看到是位于 SecMain 中。这个文件没有压缩,对于我们搜索来说会很方便。

为了研究代码,还需要使用这个工具将SecMain 释放出来:

释放出来的文件是以  “MZ”开头的[......]

阅读全文

做一个 USB 提醒器

对于现在的电脑来说,USB是外部通讯的不二选择,通过这个接口可以引出键盘鼠标等等外部设备。这次尝试使用国产的 CH55X 系列单片机来做一个 USB 提醒器,通过这个设备能够做到LED 发光提示还有蜂鸣器声音提示。

首先介绍一下 CH55X 系列芯片是南京沁心(WCH)出品的带有USB功能的系列单片机【参考1】,提起这家公司的名称大多数人会感到陌生,但是如果提起CH340/CH341芯片大家都会非常熟悉,这款低成本的USB串口转换芯片就是这家公司的产品。这次设计用到的 CH552 和 CH551/CH554 是同一个系列。他们主要的差别是:CH551 是最低端的,工作频率是 24Mhz,[......]

阅读全文

FireBeetle 直接放声(DAC篇)

声音,是物体振动产生的,通常情况下通过空气将震动传递到耳朵我们就能听到了声音。常见的喇叭就是一种将电能转换为机械能的器件。

FireBeetle 核心是 ESP32-WROOM-32D, 主控频率高达240Mhz, Flash Rom 有 16MB。这里介绍一种直接通过它来播放声音的方法。用这种方法可以直接通过喇叭来播放音乐,但是因为 ESP32 输出功率有限,直接推动喇叭产生的声音很小。为此,这里使用“Gravity: 带功放喇叭模块”来实现更大的声音输出。

基本原理是将数据存储在 FireBeetle 的Flash 上,然后通过 ESP32 的DAC 直接输出之。

具[......]

阅读全文

FireBeetle 直接放音(PWM篇)

前面介绍了FireBeetle 通过 DAC 来播放音频,除此之外,还可以使用 PWM 方式来播放音频。

关于 PWM动力老男孩在“Arduino系列教程之 – PWM的秘密(上)”【参考1】有介绍,对于我们来说,能用到的就是下面这一段:

PWM是用占空比不同的方波,来模拟“模拟输出”的一种方式。靠,这个太拗口了,简而言之就是电脑只会输出0和1,那么想输出0.5怎么办呢?于是输出01010101….,平均之后的效果就是0.5了。早这么说就了然了嘛。

比如,当前最高电压是5V,如果输出50%的PWM信号,可以当作 2.5V 的信号输出。对于 ESP32来说,有对 PWM 的[......]

阅读全文