对于内存管理知识而言,MMU基本原理是这类知识的基础,需要掌握。
认识 Linux 内核中的双向环形链表
如何编写一个简单的内核模块?
对 ARM 指令 WFI,WFE 的粗浅理解
ARM 具有 WFI
和 WFE
两个指令,都可以让 SOC
进入低功耗模式,但在使用时有些注意的地方。
参考链接:
如何编写一个旋转编码器的驱动?
- kernel 版本:v5.4
- 参考文档: /Documentation/input/devices/rotary-encoder.rst
分析 Linux kernel 中编码器驱动的实现,从而应用到单片机上。
此处所指的旋转编码器,是用手拧的那种编码器。
如何分析一个算法?
我们在编写一段代码时,在需要其频繁运行或处理一大堆数据时,总会有一些疑问:
- 这段代码的单次运行时间有多长,能否再优化?
- 这段代码会占用多少内存,是否会触发 Stack overflow 或 Out of memory?
如果仅仅是凭感觉来估算,真实解决往往是大相径庭,我们需要科学方法来量化代码的时间及空间复杂度。
实际上,代码的准确执行时间是无法计算的,这根据运行的软硬件环境都有关系。 但是不管环境如何,其趋势是可预测的。
如何绘制 smith chart?
Smith chart 对于射频领域的重要性不言而喻,但我们应该如何通过 CPU 将其绘制出来呢?
在 win10 中编译 KDE Qt5.15
Qt 5.15 是 Qt5 系列的最后一个 LTS,但是在 Qt 5.15.2 之后,需要付费用户才能获取其官方源码了。
而 KDE 是基于 Qt5 开发的,所以他们宣布以开源的方式继续维护 5.15 分支,直到 KDE 切换到 Qt6 分支。
这对于我们普通用户来讲就是福音了,我们可以编译 KDE 维护的 5.15 。
C++ Core Guidelines:接口
通过阅读 CppCoreGuidelines 来理解现代 c++ 编码规范,同时也是对 Effective C++,Effective Modern C++,C++ Concurrency in Action 的温习。