Welcome to my website!
This project explores Memory-Mapped I/O (MMIO) interfaces, a fundamental concept in embedded systems. I implemented a custom MMIO system connecting an STM32 microcontroller to a GOWIN FPGA, allowing the microcontroller to directly read push buttons and control LEDs on the FPGA through memory access operations.
The project demonstrates how standard memory read/write operations can be used to interact with external hardware, bridging the gap between software and hardware interfaces in embedded system design.
Memory-Mapped I/O is a technique where hardware devices are mapped to specific memory addresses, allowing the CPU to communicate with peripherals using standard memory access instructions.
In this project:
Memory-Mapped I/O allows peripherals to be accessed through memory addresses
The implementation involves both hardware design (Verilog HDL) and software (C code) components: