上一篇给出了GetCurDir的方法,不过这样玩多多少少看起来让人觉得不够简洁。于是又在EDK2 ShellPkg中翻了一下,在\ShellPkg\Include\Library\ShellLib.h 中有定义 ShellGetCurrentDir 函数
/** Retreives th[......]
上一篇给出了GetCurDir的方法,不过这样玩多多少少看起来让人觉得不够简洁。于是又在EDK2 ShellPkg中翻了一下,在\ShellPkg\Include\Library\ShellLib.h 中有定义 ShellGetCurrentDir 函数
/** Retreives th[......]
翻看 Shell Specification【参考 1】,发现上面介绍了一个Shell下取得当前目录的函数
看起来这个函数很简单,于是动手写程序。注意到 \ShellPkg\Library\UefiShellLib\UefiShellLib.c 中有声明,于是直接 extern EFI[......]
研究一下如何 RESETSYSTEM,直接使用 RUNTIMESERVICES 是很好的选择。首先是查看资料 UEFI 2.4 是不二的选择。
7.5.1 Reset System
具体参数解释:EFI_RESET_TYPE 有: EfiResetCold,EfiResetWarm,[......]
之前的文章【参考1】,提出了一个问题:为什么 CLIB 下面收到的参数 IN
char
**Argv 实际上是一个 Unicode ?
为了回答这个问题,还要在代码中寻找答案。同样,追踪一下当我们使用 CLIB 的时候,编译过程中程序被添加了什么。分析方法和之前的类似,我们最终得到下面这个结果[......]
前面一篇介绍了 ConOut 的换行,然后问题就来了:为什么 Print 的String不需要 \n \r 呢?
这里继续分析:
首先看一下ClsTest.map
0001:0000006d _DebugAssert 000002cd f[......]
前面的一篇文章遇到了奇怪的问题,字符串输出看起来很不规整。于是研究一下为什么。
首先,试试 Application 是否也会有这样的显示问题,修改程序如下
#include <Uefi.h> #include <Library/UefiLib.h> #incl[......]
DHT11 是一款温度湿度传感器。具体可以看【参考1】。参考中使用的是单独的元件,而我使用的是做好的模块,因此不需要额外的电阻。
硬件方面,只有三根线,GND VCC 和OUT。 对照参考中的程序,很容易上手。
下面的代码也是参考中的代码,只是修改了一下波特率为 9600[......]
两年前,再次学习单片机,此次入手的单片机比它的爹妈强多了。不仅把rs232接口用usb硬连接到pc而且直接写其rom!(本人不是硬件专业人士先进东西见的少)。琢磨着做个啥当学习目标呢,做个pc控制的小车吧。首先得解决mcu对数据的处理,恩,定义个包头aa55加个数据长度字0xh加个命令字0xh,再加[......]
研究一下:UEFI APP 在编译的时候会加入什么头。
使用上一次的示例程序 ClrTest。稍微修改一下,去掉清屏的调用以便我们能看清结果:
#include <Uefi.h> #include <Library/UefiLib.h> #include <[......]