UDK2018-Minnowboard / CdePkg
This UDK2018-Minnowboard introduces the CdePkg and the CdeValidationPkg to the UEFI/Tianocore open source community.
UDK2018-Minnowboard is the Git-Super-Project in the UDK2018-MinnowBoard project to build the MinnowBoard UEFI BIOS. It contains the edk2-vUDK2018 as a Git-Sub-Project. edk2-vUDK2018 can also be used stand alone in Emulation Mode (Nt32Pkg) (NOTE: In emulation mode timing calulation assumes to run a 1GHz platform).
The MinnowBoard familiy is an open source Personal Computer hardware originally created by a company called ADI Engineering, that now belongs to Silicom
Intel provides binary modules and maintains the build environment to get the MinnowBoard running with the open source UEFI BIOS Tianocore\EDK2
The MinnowBoard is the only free available hardware/PC platform to get UEFI Tianocore BIOS running.
UDK2018-MinnowBoard is the Git-Super-Project to build the MinnowBoard UEFI BIOS and demonstrates CdePkg and CdeValidationPkg on real hardware.
-
The main aspect is, to introduce the CdePkg and the CdeValidationPkg to the UEFI/Tianocore open source community.
-
get the MinnowBoard and the EDK2 Emulation (Nt32Pkg) running with the latest released UDK2018 and the latest Visual Studio VS2019 build environment
-
use OpenSSL_1_1_0-stable in the component CryptoPkg\Library\OpensslLib
CdePkg is considered an improvement over traditional UEFI BIOS development, since it introduces
- stable, precise, chipset (ACPI timer) independent C library conform
clock()
for POST and UEFI Shell in millisecond resolution - unlimited (buffer less)
printf()
-family andscanf()
-family implementation - Standard C conform format specifiers for
printf()
-family andscanf()
-family - a library, which satisfies all the Microsoft C compiler intrinsic requirements with one and the same library (C++ not supported)
- Hosted Environment instead of Freestanding Environment for POST driver
This improvements shall enable UEFI and modernFW to provide a Standard C interface for any "C"-(open)source-based extention.
NOTE: Visual Studio is here only used for editing the project. The build process is still pure EDK! (the startup error message of VS2017/VS2019 can be ignored)
-
install a build machine according to https://github.com/KilianKegel/HowTo-setup-an-UEFI-Development-PC#howto-setup-an-uefi-development-pc
-
clone the UDK2018-MinnowBoard project
--recursive
i. git.exe clone --progress --recursive -v "https://github.com/KilianKegel/UDK2018-MinnowBoard.git" "A:\UDK2018-MinnowBoard"
or
ii. right click to open the context menu -> Git clone
The given MinnowBoard SourceCode tree is extended by files and directories shown below:
root | subdir | subsubdir | annotation |
---|---|---|---|
<DIR> UDK2018-MinnowBoard |
.. |
@link | |
bldDBG.bat |
batch to build the MinnowBoard BIOS in DEBUG mode @link | ||
bldREL.bat |
batch to build the MinnowBoard BIOS in RELEASE mode @link | ||
launch2019.bat |
start the VS2019 MinnowBoard build environment@link | ||
launch2017.bat |
start the VS2019 MinnowBoard build environment@link | ||
UDK2018-MinnowBoard.sln |
Visual Studio Solution to edit only the entire source tree @link | ||
<DIR> edk2 |
.. |
GIT-subproject @link | |
bldDBG.bat |
batch to build the EDK2 emulation (Nt32Pkg) BIOS in DEBUG mode @link | ||
CdePkg.sln |
Visual Studio solution to edit/build CdePkg @link |
||
CdeValidationPkg.sln |
Visual Studio solution to edit/build CdeValidationPkg @link |
||
edk2-vUDK2018.sln |
Visual Studio solution to edit/only CdeValidationPkg @link |
||
launch2019.bat |
start the VS2019 EDK2 emulation (Nt32Pkg) build environment@link | ||
launch2017.bat |
start the VS2017 EDK2 emulation (Nt32Pkg) build environment@link | ||
<DIR> CdePkg |
CdePkg C Development Environment Package@link | ||
<DIR> CdeValidationPkg |
CdeValidationPkg C Development Environment Package@link |
-
To build the EDK emulation:
edk2\launch2019.bat
to setup EDK2 / emulation (Nt32Pkg) build environment
rd /s /q build
in theedk2
directory to clean previous EDK2 / emulation build
bldDBG.BAT
(Debug)orto start the build process in the EDK2 directorybldREL.BAT
(Release)
start DBG
to start the UEFI BIOS EMULATION -
To build the MinnowBoard:
.\launch2019.bat
to setup MinnowBoard (Vlv2TbltDevicePkg
) build environment
rd /s /q build
in the.\
directory to clean previousVlv2TbltDevicePkg
build
bldREL.BAT
(Release) orbldDBG.BAT
(Debug) to start the build process in the.\
directory
If a DediProg is connected to the system, the BIOS is automatically updated in the target system MinnowBoard
NOTE: EDKEmulation build and MinnowBoard build CAN NOT be used alternating in the same command box.
UDK2018-MinnowBoard is the Git-Superproject UDK2018-MinnowBoard to build the MinnowBoard UEFI BIOS.
It includes the edk2 which is the Git-Subproject edk2-vUDK2018, that in turn includes the Cde-directories as GIT-Subproject CdePkg and GIT-Subproject CdeValidationPkg.
related project | annotation |
---|---|
Torito C Library | C Library for UEFI Shell only. All projects below are built on or derived from Torito C Library |
Visual ANSI C for UEFI Shell | Visual Studio for UEFI Shell for beginners. |
Visual DOS Tools for UEFI Shell | more command implementation |
Visual HWTools for UEFI Shell | HWTools: PCI- and GPIOSpy for Baytrail. MemSpy for all. |
UDK2018-Minnowboard | Gets the MinnowBoard running with the latest released EDK sourcecode and demonstrates CdePkg on real hardware |
edk2-UDK2018 | Gets the Emulation (Nt32Pkg) running with the latest released EDK sourcecode and demonstrates CdePkg on the Windows Desktop |
CdePkg | Torito C Library redone for UEFI POST usage |
CdeValidationPkg | Unit tests for CdePkg |
MinnowBoard | Official MinnowBoard web presence |
- fixed 20190830:
Capsule doesn't work. - before BIOS build previous CdePkg build and FV files has to be deleted manually (clrCdePkgBuild.bat)
- add IASL version check
- add PYTHON version check
- add NASM version check
- add Dediprog flash update
- BIOS binary
- CdeValPkg branch merge
- add OpenSSL_1_1_0-stable to CryptoPkg\Library\OpensslLib
- improved build and startup batches
- BIOS binary
- convert EDK2 directory to submodule, to demonstrate CdePkg separated from entire MinnowBoard environment
- update EDK2 to 20190828/OpenSSL
- integrate Release 1.01 Firmware Download (Aug 2019) from https://firmware.intel.com/projects/minnowboard-max
- place CDE*.SLN solution files into EDK2 directory, to be able to use Visual Studio solutions EDK2 directory without MinnowBoard build environment
- improve CdeValidationPkg
- add validation driver/executables for all
ctype.h
- andwctype.h
-related functions: (ctypeALLPei, ctypeALLDxe, wctypeALLPei, wctypeALLDxe) - remove previously used single function test drivers
- WinNTx86-64 (Microsoft C Library)
- WinNTx86-64 (Torito C Library)
- add all CTYPE.H() -functions to PEI post phase
- add all CTYPE.H-functions for DXE
- add clockPei()
- initial version of branch CdeValPkg
- add MFNBAR as bare/naked parameter for CDEMOFINE macro
- add clockDxe commandline to CdeLoadOptions.h
- update CdeSrcPkg/b81394c620206ebbc300216652cd43d7f4ac94e3
- add initial PEI Support, rudimentary functional range
- BIOS binary
- add VS2019 support (for both MinnowBoard- and Emulationbuild)
- removed CdePkg from main tree
- add submodules CdePkg and CdeSrcPkg
- BIOS binary
- CdePkg: initial revision - standard C Library and standard headerfile usage
- enable emulation build and debug
- improve MinnowBoard build
- added missing files from UDK2017 to build MinnowBoard in UDK2018
- fixed: build MinnowBoard
- downloaded the entire source code (see HowTo)
- configured as a VS2017 solution - just for editing the source
- not able to build