推荐 Toshiba 的一款 NVME

最近在 CML-V 的 RVP 上测试 MS Stress,开始使用 Samsung 的一款,后来发现总会有 fail 的情况发生(大约是 2/5 )。后来换了 Toshiba 的KXG6AZNVT02 这款(PCIE NVME M.2接口),首先感觉是速度明显变快(这个应该和容量有关系,这款是 1T 容量的);轻松跑了一晚上(30s idle, 15 min sleep ),50次都 Pass。

如果你在测试Stress 的时候遇到 fail 的情况不妨找这款进行实验,或者说多换几个NVME硬盘试试看。

[......]

阅读全文

3.3V Arduino Proi Micro 的使用和维修

市面上最常见的 Arduino Pro Micro 是5V的,除此之外还有一种是 3.3V的,他们之间的区别除了电压之外还有主频不同,5V版本是16MHz,3.3V的是8Mhz。

前一段我入手了一个3.3V版本的,主要目标是给 USB Host Mini 使用。拿到手之后错误的使用了 Leonardo进行上传,马上板子就变砖了。所以,这里特别强调必须使用LilyPad USB 编译上传!

讲完了使用下面讲如何恢复,找出了 USBTinyISP(极客工坊出品的)。

接线顺序:

USBTinyISPPro Micro 3.3V1.MISOD14.MISO2.V[......]

阅读全文

控制 Tinker 上面的 LED 实现呼吸灯

这里做一个简单的实验:上电之后让 ThinkerNode NB-IoT上的 LED 实现红色的呼吸灯效果,按下 Set键之后切换为绿色呼吸灯。

硬件方面:

1. ThinkerNode NB-IoT 上面的 LED 是一个 WS2812B,可以实现任意的颜色

2.板子上的 SET按钮是接在 D3 Pin上的,按下时拉低。

RGB_LED.Breathing() 是设置一次呼吸灯效果的函数,设置一次之后是一个周期,意思是运行一次会实现一个完整的亮灭周期,如果想持续亮灭,那么需要定时运行这个函数。根据上面的资料编写如下代码:

[......]

阅读全文

Windows 下替换 ACPI Table补遗

之前介绍过 Windows 下替换 ACPI Table 的方法【参考1】,该方法可以替换 DSDT,但是最近工作中遇到需要修改的ACPI内容并不在 DSDT中,而是存放在 SSDT 中的情况,同时一个系统中还会有多个 SSDT。

打开注册表,在 Computer\HKEY_LOCAL_MACHINE\HARDWARE\ACPI  查找你需要的SSDT:

当然你可以先用 RW Everything 查看 ACPI Table 更加直观,SSDT 有很多个,彼此的 Signature 是相同的但是OEM Table ID 是不同的字符串:

确定你要修改的SSD[......]

阅读全文

Can't include "nasm.inc" error

最近在使用 EDK201903 的时候遇到了一个奇怪的问题, 错误信息如下:

ScanMem32Wrapper.c
c:\buildbs\stable201903\Build\NT32X64\DEBUG_VS2015x86\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\LongJump.iii:22: fatal: unable to open include file `Nasm.inc'
NMAKE : fatal error U1077: 'C:\nasm\nasm.EXE' : return code '0x1'
Stop.

具体代码[......]

阅读全文

GC9A01 Porting 到 Adafriut GFX

前面介绍了直接驱动 GC9A01 的方法,最近花了点时间将代码 Porting 到 Adafruit_GFX 库上,这样用户可以直接调用库函数来实现在屏幕上的绘制。

下面的测试代码和之前的 ILI9341  库中的graphicstest内容相同,可以方便的进行参考:

测试视频:

完整的代码和库文件下载:

[......]

阅读全文

C2061 错误

最近在研究段代码的时候遇到了一个奇怪的问题,经过简化,错误可以用下面的代码表示:

编译错误是 C2061:

有兴趣的朋友可以先看一下代码猜测一下原因。

经过研究,出现问题是原因是上面的定义出现错误,应该是定义为一种类型,实际上只是定于了一个变量,修改为下面这种就能够通过编译并且正常工作了。

参考:

1. https://blog.csdn.net/wangjun_huster/article/details/60480192 type struct 和struct的区别

[......]

阅读全文

ESP32 俄罗斯方块游戏机

最近使用 ESP32 做的一个俄罗斯方块游戏机,是立创的一个比赛的项目。具体代码在 https://diy.szlcsc.com/p/Zoologist/ji-yuesp32-di-e-luo-si-fang-kuai-you-hu-ji

话说 ESP32 真的很强大,价格也不贵,这样下去完全可以取代Uno(最新的一款 ESP32 支持 USB Device可以实现很多有趣的功能)

另外,研究了一下 Wordpress 插入 Bilibili 网站视频的方法(直接插入会使得视频画面很小),代码如下【参考1】:

上述方法来自:https://www.yunyiya[......]

阅读全文

UEFI Tips: EDK2 Stable202002

前一段试验了新出的 EDK2 Stable202002 版本,可以在 https://github.com/tianocore/edk2/releases/tag/edk2-stable202002 看到,有如下的更新:

New Features

推荐一本书《深入浅出SSD:固态存储核心技术、原理与实战》

最近比较忙,暂时没时间继续研究 UEFI编程,另外业余时间在琢磨如何制作一个双机共享(UEFI Shell 和 Windows)文件的小东西,这样能够极大方便在实体机上测试 UEFI Application。

偶然看到《深入浅出SSD:固态存储核心技术、原理与实战》这本书,感觉内容深入浅出非常适合需要了解SSD相关知识的人士。特别是 “第8章 SSD电源管理” 和当前的 Modern Standby 有很大关系(我忽然觉得未来有一天支持 S3可能会成为某个笔记本的卖点)。推荐有兴趣的朋友阅读此书。

版权信息
赞誉
推荐序一
推荐序二
前言
第1章 SSD综述
1.1 引子
1.2 SSD vs[......]

阅读全文