kagurazakakotori / ubmp-cn Goto Github PK
View Code? Open in Web Editor NEWフルスクラッチで作る!UEFIベアメタルプログラミング 中文版
Home Page: https://kagurazakakotori.github.io/ubmp-cn
フルスクラッチで作る!UEFIベアメタルプログラミング 中文版
Home Page: https://kagurazakakotori.github.io/ubmp-cn
I find MSVC link command could use option /SUBSYSTEM:EFI_APPLICATION to generate UEFI application. I think this could be a option for toolchain when OS is Windows.
虽然我读到这本书的时候,我已经对 UEFI 应用程序开发有了一定程度的了解,但这本书的确很适合作为参考资料
当然看了译者写的一段话,我倒是挺有感触的。EDK II 编译起来的确是个麻烦事,尤其是用 MSVC 工具链编译 MdeModulePkg 的 arm 和 arm64 目标,我最后是通过和 Microsoft 开源的 Project Mu 的相关源码包进行杂交而搞定的;gnu-efi 我也看过,虽然是很轻量,但是里面定义的接口我却觉得只够写个 OS 启动加载器。
鉴于 EDK II 编译和使用很麻烦且不方便把那套基于 ini 的编译配置的编译系统集成入其他项目,而且 gnu-efi 对于 UEFI 规范和 UEFI 规范支持的包括 ACPI 等其他工业规范的定义非常不完整;于是我基于 EDK II 的 MdePkg 进行了裁剪以做一个方便集成入其他项目的开发包。
我的开发包只保留了 UEFI 规范、UEFI Shell 规范和它们支持的工业规范的定义头文件;然后自己基于这些头文件实现了 C 标准库里面的一些基本类型定义(实现的那一部分倒是算是符合 C11);当然作为 Visual Studio 的忠实用户我也算很好的对 Visual Studio 进行了适配,直接在 IDE 里面就能顺利编译;为了证明其的实用性,我用其适配了 LVGL 这个不怎么依赖 C 标准库函数的库且可以用键盘和鼠标进行操作并做成了例子。倒是为了研究如何使用鼠标滚轮的问题,虽然没有灵感,但也是读到了这本书的缘由。
我提到的那个开发包的源代码仓库在 https://github.com/ProjectMile/Mile.Uefi
,虽然文档还没写(最近会写的),但是编译体验应该是比较舒服的,毕竟我也实现了连续集成,总之希望我捣鼓的开发包能够帮助到一部分相关人士吧。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.