几款常见播放器的功耗比较

最近看到实验室有测试功耗的设备,于是进行了一下几款常见播放器的功耗比较。

先说说试验设备,用的是下面这款设备

测试结果如下:

可以看到,Windows 自带播放器表现最好。表现最差的是 QQPlayer 和 AiQiyi。产生的原因可能是 Windows 和硬件结合紧密[......]

阅读全文

Step to UEFI (182)UEFI 下计算 Checksum 的最简单方法

BaseLib 提供了一些计算CheckSum 的函数,用这些可以让我们方便的计算一些协议要求的校验码。

下面编写一个简单的例子:

运行结果:

使用在线 CRC32 计算工具【参考1】来验证,结果一致。

上述函数源代码可以在 \MdePkg\Libra[......]

阅读全文

Arduino 心率带测试

目前市面上能够测量心率的设备很多。有腕带腕表式的,也有夹在耳朵或者手指末端的。从准确性上来说,腕带式的容易松动因此没有胸带式的准确。同时,胸带式的对于运动统计来说也是最好的选择。

前一段入手了三根心率带和一个接收模块。其中的心率带是带有编码的,因此在接收端可以很容易的区分数据来源。当然,与之对[......]

阅读全文

Step to UEFI (181)GetTime 研究

最近在编写一个需要随机生成数值的代码,使用之前的 rand 函数【参考1】发现每次生成的随机数是相同的,忽然意识到这是因为代码里面的随机种子是固定值导致的,如果使用当前时间作为随机种子那么每次生成的数值将会是不同的。

可以使用 Runtime Service 中的 GetTime 来取得时间作[......]

阅读全文

Step to UEFI (183)SetJump() 和LongJump()

单纯的函数调用从动作上来说,Call 指令可以看作保存寄存器压栈外加 JMP 的过程(复杂的说调用 Call 会有有实模式,保护模式, Near/Far,gated等等差别,在 IA32 手册上描述足有8页之多)。因此,可以使用压栈保存寄存器外加一个跳转来实现。在 UEFI 中可以通过SetJump[......]

阅读全文

批处理请求管理员权限

当我们使用 RW Everything 这样的软件时,会自动请求管理员权限。

相比之下,我们使用批处理文件调用FITW 刷写 BIOS工具的时候不会出现这样的提示,又忘记使用管理员权限打开 CMD 窗口,这样会导致执行失败。最近看到了一个好用的批处理,可以在批处理文件中直接像 RW
这样来[......]

阅读全文