- 博客(18)
- 资源 (2)
- 收藏
- 关注
转载 谈谈C语言中函数定义/声明冲突时的处理
首先,本文中讨论的例子采用C语言,而非C++语言。使用示例分析这个问题:例子1[cpp] view plaincopyprint?#include void hello(int a); void hello(int a, int b); void hello(int a) { printf("hello, %d\n", a);
2012-12-11 09:09:30 9762
原创 SPI Flash Parts
Related Files $(EFI_SOURCE)\$(PROJECT_FAMILY)\$(PROJECT_NAME)\Common.dsc $(EFI_SOURCE)\Library\RuntimeDxe\FdSupportLib\FdSupportLib.inf $(EFI_SOURCE)\Library\RuntimeDxe\FdSupportLib\FdSupport
2012-11-23 14:59:33 1265
原创 How to implement an UEFI Shell Application
1.在$(EFI_SOURCE)\Application\Shell下创建一个文档HelloWorld,包括: C header file (HelloWorld.h) C source file (HelloWorld.c) A component description HelloWorld.inf fileHelloWorld.i
2012-11-21 14:36:36 1860 1
原创 Shell环境下增加Internal Command
1.在$(EFI_SOURCE)\Application\shell\下建立一个文件,命名为Hello 包括Hello.c、Hello.h、Hellostrings.uni2.在$(EFI_SOURCE)\Application\shell\Shell.inf orShellFull.inf中的【sources.common】添加 Hello\He
2012-11-21 13:48:39 1852
原创 修改开机LOGO
有两种方法:一种是通过EzH20工具,另一种是在代码中更改加载的Logo. 1.EzH20工具(1)把编译生成的*.fd文件加载到EzH20中(2)在工具的logo选项中选择要加载的logo(3)保存修改的*.fd(4)把修改的*.fd文件合成bin文件,下到DEMO板上2.在\Platform\Generic\Logo\InsydeBoot下修改*.bmp为要更改的l
2012-11-05 22:43:09 1303
原创 Add option ROM
• Step1: Create folder for new option ROM: including 3 components 1.makefile.new 2.OptionRombin file 3.INF fileexample:$(PROJECT_FAMILY)\$(PROJECT_NAME)\B
2012-10-10 09:11:46 1203
转载 UEFI HOB
转自:http://blog.csdn.net/celiaqianhj/article/details/6799799 HOB:Hand-off Block在PEI的执行过程中,PEI Phase提供了一种简单的机制来为数据存储分配内存,这个数据存储区被称为HOBs。这个数据存储区的基本内容为Hand-off Block,即HOB。在内存中,连续存在的HOBs对PEI
2012-09-17 20:29:05 816
转载 CONTAINING_RECORD IN EFI
转自:http://blog.csdn.net/hgf1011/article/details/4635888CONTAINING_RECORD IN EFI EFI BIOS几乎全部用C完成,它几乎将C语言的各种技巧发挥到了极致。C的精髓泰半是指针,另外宏也是非常值得称道的。程序员对于宏的评价可谓褒贬不一,有人说它是万恶之源,有人则赞其为一把利刃。我个人觉得运用之妙,存乎一心,宏不是
2012-09-17 16:28:06 920 1
转载 UEFI Images
转自http://blog.csdn.net/celiaqianhj/article/details/67630711. 什么是UEFI Images?UEFI Images是UEFI定义的、包含可执行代码的一类文件,最显著的特征是包含一个用来定义这段可执行代码格式的PE/COFF header,这个header定义了Processor Type和Image Type。(Microso
2012-09-17 14:45:21 676
转载 如何理解c和c++的复杂声明
转自:百度文库曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++ 声明。 我们将从天天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C ++声明的“右左法则”。 需要
2012-09-17 10:10:02 600
转载 深入理解C语言指针的奥秘
转自: http://blog.csdn.net/maokor/article/details/241102 深入理解C语言指针的奥秘 指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存
2012-09-17 09:59:40 759
转载 硬断点和软断点的区别
转自macrossdzh硬断点--break point软断点--assert 简单的解释:硬件断点:硬断点需要硬件寄存器提供支持,断点的数目受Embedded ICE中的Watchpoint数目的限制,但是可以在任何地方设置断点。软件断点:软件断点通过在运行起来的程序中设置特征值实现,其数目不受限制,但是一般情况下软件断点只能在可写的存储器的地址中设置(比如:RAM),而
2012-09-15 16:49:51 1135
转载 UEFI BIOS ROM文件格式
转自CeliaQianhj 1. FD (Firmware Device)整个BIOS ROM 就是一个FD,即Firmware Device。2. FV (Firmware Volume)整个BIOS ROM 又被分成多个小的逻辑区块,这就是FV,即Firmware Volume。每个Firmware Volume Image包括 Header 和 FFS Image,
2012-09-15 09:25:39 2543
转载 UEFI Boot Flow 系列之BDS
转自CeliaQianhjBDS: Boot Device Select BDS阶段的任务:1. Initialize console devices base on the ConIn, ConOut and StdErr environment variables.2. Attempt to load all drivers listed in the Driver####
2012-09-15 09:19:01 1090
转载 UEFI Boot Flow系列之DXE
转自CeliaQianhjDXE: Driver Execution Environment为什么要有DXE Phase?大部分系统的初始化工作都是在DXE 阶段实现的。DXE Phase由以下几部分组成:1. DXE Core (DXE Foundation) 产生一组Boot Services, Runtime Services, DXE Services。 由
2012-09-15 09:17:44 1796
转载 UEFI Boot Flow 系列之PEI
转自CeliaQianhjPEI:Pre-EFI Initialization为什么要有PEI Phase?1. ROM空间的问题,所有的Code都没有压缩2. Memory还没有初始化3. Chipset没有初始化PEI Phase的特性:1. 在ROM上执行2. 都是没有被压缩的代码3. PEI Core与硬体没有关联PEI Phase的任务:1.
2012-09-15 09:07:50 1162
转载 UEFI Boot Flow 系列之SEC
转自CeliaQianhj 为什么要有SEC Phase?1. 需要用汇编语言来完成C无法处理的工作,如C语言无法处理CPU的特殊寄存器(MSR,MTRR,CRX)。2. C语言需要Memory当成Stack来处理Local 变数,而刚开机Memory还没有被初始化,还不可用,所以需要CAR(Cache As Ram)的初始化。3. 让CPU进入Protected Mode(F
2012-09-15 09:04:21 1108
转载 UEFI Boot Flow 系列之概述
转自CeliaQianhj有图有真相:1. SEC Phase (Security)开机之后,系统开始执行第一条指令,此时就已经进入了SEC阶段。这时的Memory还没有被初始化,还不可用,所以这一阶段最主要的工作就是建立一些临时的Memory,它可以是处理器的Cache,或是system Static RAM(SRAM)。并且使CPU进入Protect Mode。 另外,SE
2012-09-15 09:00:11 1270
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人