在开发UEFI过程中,会经常遇到开发调试问题、开发技巧等。
我开一篇UEFI相关的持续更新的博客记录一下,如果有你刚好遇到的UEFI问题 那就更好了。

  • UEFI中添加.S汇编文件
    这个只需要在.inf文件中添加如下代码即可
[Sources.AARCH64]sha256-armv8.S  [Sources.ARM]sha256-armv8.S

假设你想在UEFI代码中调中.S中的代码,比如我这里想要调用sha256_block_data_order函数,extern一下,然后就可以调用了。

extern void sha256_block_data_order(uint32_t state[8], const uint8_t *data,size_t num_blocks);
  • 在UEFI中编译遇到两个.h头文件重复定义 问题解决
    比如一个.c中引用了两个不同的.h头文件,但是两个.h头文件中又都typedef了相同的内容,编译会报错。
    我的解决办法是添加一个SIZET_宏,在两个typedef的地方都加上这个宏的判断,这样就不会编译报错了。
#ifndef SIZET_
typedef unsigned long size_t;
#define SIZET_
#endif
  • UEFI中增加静态库.a文件
    如果想在模块中引用ARM64构架的libxxx.a文件,可以在.inf配置文件中添加如下code
[BuildOptions.AARCH64]GCC:*_*_AARCH64_CC_FLAGS  = $(PLATFORM_EXTRA_FLAGS)GCC:*_*_AARCH64_DLINK2_FLAGS  = $(WORKSPACE)/yourpath/libxxx.a
  • UEFI中如何通过SMC指令与ATF交互数据
    发送数据给ATF,我这里带了四个参数。
ARM_SMC_ARGS ArmSmcArgs;
ZeroMem (&ArmSmcArgs, sizeof (ARM_SMC_ARGS));ArmSmcArgs.Arg0 = yourcode; //指定一个ATF中唯一的识别码即可
ArmSmcArgs.Arg1 = 1;
ArmSmcArgs.Arg2 = 2;
ArmSmcArgs.Arg3 = 3;
ArmSmcArgs.Arg4 = 4;ArmCallSmc (&ArmSmcArgs);

接收从ATF中返回的数据,ArmSmcArgs.Arg0、ArmSmcArgs.Arg1、ArmSmcArgs.Arg2、ArmSmcArgs.Arg3是分别返回的参数值。

  ARM_SMC_ARGS ArmSmcArgs;ZeroMem (&ArmSmcArgs, sizeof (ARM_SMC_ARGS));ArmSmcArgs.Arg0 = yourcode; //ATF中定义的唯一识别码ArmCallSmc (&ArmSmcArgs);

持续更新中。。。

UEFI开发编程汇总 (持续更新)相关推荐

  1. 【教程汇总+持续更新】Unity游戏开发从入门到入坟

    新的一年,本该在年前整理的年终总结被拖到了年后开工.去年大量时间投入在Catlike教程的翻译上,截止目前位置,教程的进度已经完全追平原作者. 去年还有一部分是断断续续的更新SLG实战教程,但遗憾的是 ...

  2. iOS精品资源汇总(持续更新)

    文章目录 引言 I.iOS自定义视图相关热门资源 1.1 <用户协议及隐私政策>弹框 1.2 电子签名 1.3 商品详情页 1.4 上传图片视图的封装[支持删除和添加] 1.5 查看风险商 ...

  3. 【帆软报表】使用技巧及常见问题汇总-持续更新

    [帆软报表]使用技巧及常见问题汇总-持续更新 1.重复与冻结设置,做用:冻结区域 模板-重复与冻结设置 2.单元格有效小数设置 选中单元格-格式-数字-#0.00 3.图表中有效小数设置 图表属性表- ...

  4. Telegram Android源码问题汇总 持续更新

    libtgvoip目录为空 git clone下来的工程中带有submodule时,submodule的内容没有下载下来,执行如下命令 cd Telegram git submodule update ...

  5. 吉大计算机专硕报录比,22考研院校报录比汇总(持续更新)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 22考研院校报录比汇总(持续更新) 每个考研的小伙伴最关心的就是你所报考学校的报录比,因为这直接关系到你报考院校的难易程度,从中可以看出各高校的整体录取情 ...

  6. Unity学习知识和链接汇总-持续更新

    Unity学习知识和链接汇总-持续更新 Unity Scripting Reference- https://docs.unity3d.com/Manual/index.html gitee http ...

  7. Java开发专家阿里P6-P7面试题大全及答案汇总(持续更新)

    一.CPU100%问题如何快速定位 答案 1.执行top -c ,显示进程运行信息列表   键入P (大写p),进程按照CPU使用率排序 2.找到最耗CPU的线程   top -Hp 10765 ,显 ...

  8. 软件编程学习网站汇总——持续更新中

    持续更新各种国内外关于编程语言学习及讨论的网站,有时间我会添加介绍,不过相信很多网站你们都熟悉了,喜欢的可以收藏,我也留着等以后需要的时候翻阅. 若链接有错误,提醒我下,我来改正.有其他好的站也可以推 ...

  9. unity ui框架_[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了

    ----------------塔防(更新中),作者重写了基础篇(下方目录为:1.1(新) 基础)目前还在持续连载了5篇,因为不多我们更新完就能追到原作者的进度了------------------- ...

  10. 一些前端开发大牛【持续更新】

    一.人物介绍 蒋长浩博士 Facebook 介绍:蒋长浩,1976年出生,祖籍湖南,获清华大学计算机本硕学位.伊利诺伊大学(UIUC)博士学位,在卡耐基梅隆大学(CMU).谷歌公司从事过"普 ...

最新文章

  1. 200页!分享珍藏很久的Python学习知识手册(附链接)
  2. oracle tabs作用,Oracle 中 table 函数的应用浅析
  3. 《PIC微控制器项目设计:C语言》一第2章 mikroC Pro for PIC编程语言
  4. AspNet MVC2 学习笔记
  5. paypal添加香港招商银行指南
  6. ethereum(以太坊)(二)--合约中属性和行为的访问权限
  7. 慕课版软件质量保证与测试(第一章.课后作业)
  8. 竞拍系统c语言,C++版扫拍卖源代码,非程序,这下不会删帖吧?
  9. devops学习(三) K8环境部署jenkins
  10. 华为理工女,8年熬出头......
  11. 把基础打牢了,将来就可以触类旁通,行行都可以写出精彩
  12. 知乎大V推荐!如何在面试中通过工厂模式来给自己加分?圆我大厂梦!
  13. IDEA搭建POI导入导出Excel入门版
  14. Scala——面向对象和函数式编程语言
  15. 被国人误解了千年的七句话
  16. dbz-ui试用体验(connecting mysql...)
  17. 循环结构习题:公式求π值
  18. Android PowerManager 进入屏保、睡眠的过程梳理
  19. 华南理工大学珠海学院计算机,慕了!盘点那些有“私家游泳池”的广东高校!考上就算捡到啦!...
  20. [渝粤教育] 西南科技大学 财务管理与分析 在线考试复习资料(3)

热门文章

  1. ABAP 身份证校验的函数
  2. Educational Codeforces Round 97 (Rated for Div. 2)
  3. Android 十大布局
  4. 简单电路实践——电路与二进制运算
  5. 香港恒生银行App下载
  6. R语言数据可视化-条形图
  7. STM32F103 - 延迟函数 -unfinished -unfinished-unfinished
  8. 汉子转五笔SQL脚本函数
  9. A Generalization of Transformer Networks to Graphs
  10. 蘑菇街交易平台 数据库架构演进历程