BIOS / UEFI
UEFI 04: File Loader từ EFI System Partition
Đọc file từ EFI System Partition trong UEFI application: protocol chain LoadedImage → SimpleFileSystem → OpenVolume → Open → Read, file size query và in nội dung ra UEFI Shell.
Không chỉ là lý thuyết - nơi ghi lại thiết kế, coding, debug. Và những bài học rút ra từ các project thực tế. More than theory - design, coding, debugging notes. And lessons learned from real firmware projects. 理論だけでなく、設計・実装・デバッグを記録します。 実際のプロジェクトから得た学びを整理します。
Lọc theo category
Lọc theo ngôn ngữ
BIOS / UEFI
Đọc file từ EFI System Partition trong UEFI application: protocol chain LoadedImage → SimpleFileSystem → OpenVolume → Open → Read, file size query và in nội dung ra UEFI Shell.
BIOS / UEFI
Dùng LocateHandleBuffer và ProtocolsPerHandle để liệt kê toàn bộ Handle Database trên QEMU/OVMF: 163 handle, 100 protocol được nhận dạng từ lookup table 10 GUID phổ biến.
BIOS / UEFI
Gọi GetMemoryMap để đọc và in toàn bộ memory descriptor trên QEMU/OVMF: 120 entries, 206 MB EfiConventionalMemory, two-call pattern và tại sao AllocatePool thay đổi MapSize.
BIOS / UEFI
DXE driver cài BejHelloProtocol, UEFI app locate và gọi. Khác biệt driver vs application, InstallProtocolInterface, LocateProtocol và tại sao GUID là địa chỉ duy nhất.
BIOS / UEFI
UEFI application đầu tiên với EDK2: cấu trúc BejPkg package, build HelloUefi.efi và chạy trong UEFI Shell trên QEMU/OVMF. Ghi lại lỗi thật gặp với EDK2 phiên bản mới.
STM32
Keypad 4x4 matrix trên STM32G0B1RE: quét bằng BSRR/IDR trực tiếp, TIM6 5ms, debounce 2 mẫu, event queue và chính sách simultaneous-error cho ma trận không diode.
STM32
Project thực nghiệm FreeRTOS skeleton trên STM32G0B1RE, kiểm tra task timing 10 ms/100 ms, event queue, UART log mutex, monitor task và queue full policy bằng log thật.
STM32
Python tool giao tiếp với USB composite device STM32G0: CLI smoke test 4 vendor commands qua EP0 và GUI test tổng hợp HID, CDC log, vendor bulk dump trên một màn hình.
STM32
Project EEPROM emulation trên STM32G0B1RE dùng Flash Bank 2, append-only record, two-page transfer, CRC và fault injection bằng software reset.
STM32
Case study xây dựng bootloader A/B cho STM32G0B1RE, hỗ trợ cập nhật firmware qua UART, xác thực packet CRC32, metadata pending/confirmed và rollback.
STM32
Project thực nghiệm UART logger non-blocking trên STM32G0B1RE, so sánh blocking transmit với UART DMA + Ring Buffer và drop counter.