UEFI: Difference between revisions

18 bytes added ,  2 years ago
Fix EDK2 link
[unchecked revision][unchecked revision]
(Refactor POSIX-UEFI section to not reflect bias)
(Fix EDK2 link)
Line 60:
Legacy bootloaders can be developed in any environment that can generate flat binary images: NASM, GCC, etc. UEFI applications can be developed in any language that can be compiled and linked into a [[PE]] executable file and supports the calling convention used to access functions established in memory by the UEFI firmware. In practice this means one of two development environments: Intel's TianoCore EDK2, GNU-EFI or POSIX-UEFI.
 
[[TianoCoreEDK2]] is a large, and complex, yet feature filled environment with its own build system. It can be configured to use GCC, MinGW, Microsoft Visual C++, etc. as a cross-compiler. Not only can it be used to compile UEFI applications, but it can also be used to compile UEFI firmware to be flashed to a BIOS ROM.
 
[[GNU-EFI]] is a set of libraries and headers for compiling UEFI applications with a system's native GCC (does not work with LLVM CLang). It can't be used to compile UEFI firmware. Since it's just a couple of libraries against which a UEFI application can be linked, it is much easier to use than TianoCore.
Anonymous user