Go to file
Gustavo Henrique Santos Souza de Miranda ec589d929a Update the timing for the delays and also create the Write method on the HAL to choreograph the writing process in the YMF262 and create the Set_OPL_Mode , and also created the YMF262-Types.hpp to hold types used by the YMF262 2026-06-03 14:13:50 -03:00
Core Configure YMF262 parallel bus GPIO and fix PLL settings 2026-04-29 01:43:00 -03:00
Drivers Initial Commit 2026-04-28 20:15:35 -03:00
Lib/YMF262-HAL Update the timing for the delays and also create the Write method on the HAL to choreograph the writing process in the YMF262 and create the Set_OPL_Mode , and also created the YMF262-Types.hpp to hold types used by the YMF262 2026-06-03 14:13:50 -03:00
Tests Create write unit test to check the proper choreography and delays, and add CMakeLists.txt for compiling the unit tests 2026-06-03 12:25:03 -03:00
cmake Initial Commit 2026-04-28 20:15:35 -03:00
.gitignore Updated the gitignore to properly ignore the build folder 2026-06-03 02:10:52 -03:00
.mxproject Started Adding Template on YMF262 HAL to allow GPIO Manipulation thru policies 2026-06-01 20:01:49 -03:00
CMakeLists.txt Start Implenting the YMF262 HAL layer 2026-04-29 22:55:41 -03:00
CMakePresets.json Initial Commit 2026-04-28 20:15:35 -03:00
README.md Update README.md with testing instructions and some grammar improvements 2026-06-03 12:32:22 -03:00
STM32F722XX_FLASH.ld Initial Commit 2026-04-28 20:15:35 -03:00
YMF262_Devboard_Firmware.ioc Configure YMF262 parallel bus GPIO and fix PLL settings 2026-04-29 01:43:00 -03:00
startup_stm32f722xx.s Initial Commit 2026-04-28 20:15:35 -03:00

README.md

YMF-262 Firmware for Nucleo F722ZE Board and STM32F7 MCU

Building

To build a Flashable .elf file issue the following commands:

  • Debug:

    cmake --preset Debug && cmake --build --preset Debug

  • Release:

    cmake --preset Release && cmake --build --preset Release

Flashing:

To flash the .elf file please issue the following command:

openocd -f interface/stlink.cfg -f target/stm32f7x.cfg -c "program YMF262_Devboard_Firmware.elf verify reset exit"

Testing

The HAL logic is unit-tested on the host (x86) using GoogleTest, with a FakeGpio mock that records the GPIO operations instead of touching hardware. This verifies the YMF262 write choreography (two-cycle address/data sequence and timing) without needing the physical chip.

To build and run the tests:

	cmake -B build
	cmake --build build
	./build/run_tests```

GoogleTest is fetched automatically via CMake FetchContent on the first configure (requires internet).