一些情况下,我们需要得知操作消耗的时间,比如:通过硬盘读写操作耗费的时间能够计算出硬盘的速度。针对这个问题,之前有过研究,例如:GetTime 研究【参考1】、EADK clock()【参考2】。这里再次进行研究。
首先,在MdePkg\Include\Library\TimerLib.h给出[......]
一些情况下,我们需要得知操作消耗的时间,比如:通过硬盘读写操作耗费的时间能够计算出硬盘的速度。针对这个问题,之前有过研究,例如:GetTime 研究【参考1】、EADK clock()【参考2】。这里再次进行研究。
首先,在MdePkg\Include\Library\TimerLib.h给出[......]
大部分JPEG 工具都可以指定图片的压缩质量,从0-100 。但是有时候我们需要一个绝对的数值,比如:500KB 的照片我们期望压缩到40KB。经过努力找到了一个这样的开源工具,在
https://github.com/tjko/jpegoptim
命令行方式工作,比如,我找了一副3.3[......]
最近打算用 EDK2 202308 编写 UEFI Application,忽然发现无法找到 AppPkg,于是花点时间研究这个问题。这个问题在“VS2019 EDK202008 下的 Libc 编译”【参考1】有提及。具体来说 EDK2 在edk2-stable201903 tag升级到edk2-[......]
和现在的GUI不同,在 Dos 的时代,使用 ASCII 字符同样能够绘制精美的窗口,这种被称作“CUI”。 Turbo Pascal 7.0 就是典型的代表,它基于Turbo Vision来实现的。
最近看到了一个开源的 Turbo Vision项目,让这套界面在 Windows[......]
有些项目是通过 CMAKE 来实现的,我们可以通过在根目录下CMakeLists.txt文件添加
set(CMAKE_VERBOSE_MAKEFILE ON) 的方法打开显示,这样就可以看到具体使用的编译命令。例如:
上述方法来自 https://zhuanlan.zhihu.com[......]
CH9350 提供了控制键盘LED(就是 Caps Lock、Scroll Lock、 Num Lock) 的方法。不过非常遗憾的是对应的 DataSheet 语言不详,查阅了网上资料【参考1】【参考2】之后我感觉CH9350 可能是不断升级,所以这部分不是很确定。
最终经过实验,我手上的可以[......]
官方的 sd_card_example_main.c 代码,在末尾添加如下代码:
一段是从 m 目录下读取从 0000.jpg 到 0100.jpg ;另外一段是读取从0扇区开始的 100个64KB 扇区。最终运行结果如下:
前者花了 1789ms 读取 1.5MB 的内容;后[......]
HEST: Hardware Error Source Table
用于报告系统平台能够产生的错误来源。比如,对于 X86 架构的 MCE和CMC,以及PCIe AER, OS 能够处理的 MSI 和 PCI INTs 错误。
The HEST table enables host fi[......]
最近接触到了 TinyCC (https://bellard.org/tcc/), 这是一个小巧的、开源、编译速度快的C编译器。
在 https://github.com/andreiw/tinycc/tree/mob 这里,有一个基于 TinyCC 支持编译UEFI Application的[......]