- make-uefi-iso.sh: UEFI ISO image builder - test_boot.S, test_boot.ld: test boot assembly and linker script - eim_config.toml: EIM (External Interface Module) configuration - edk2-ovmf RPM for UEFI firmware - GAP_ANALYSIS_PIKEOS_PARITY.md: PikeOS parity gap analysis
16 lines
544 B
C
16 lines
544 B
C
#include <stdint.h>
|
|
static void uart_putc(char c) {
|
|
volatile uint32_t* uart = (volatile uint32_t*)0x40004000;
|
|
while (uart[1] & 1);
|
|
uart[0] = c;
|
|
}
|
|
static void uart_puts(const char* s) { while (*s) uart_putc(*s++); }
|
|
void Reset_Handler(void) {
|
|
*(volatile uint32_t*)0xE000ED88 |= (0xF << 20);
|
|
volatile uint32_t* uart = (volatile uint32_t*)0x40004000;
|
|
uart[2] = 0x03;
|
|
uart_puts("MPS2 UART OK\n");
|
|
for(;;);
|
|
}
|
|
__attribute__((section(".isr_vector")))
|
|
const uint32_t vectors[] = { 0x20080000, (uint32_t)Reset_Handler };
|