Go to file
Gustavo Henrique Santos Souza de Miranda 86e13c1c32 Add unit tests for writing order, bus values, bank, initial_clear and OPL mode; fix OPL register address 2026-06-05 03:14:05 -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 Refine write_bus timing: position data within the CS / WR window using datasheet intervals 2026-06-04 21:06:50 -03:00
Tests Add unit tests for writing order, bus values, bank, initial_clear and OPL mode; fix OPL register address 2026-06-05 03:14:05 -03:00
cmake Initial Commit 2026-04-28 20:15:35 -03:00
.gitignore Add Doxygen Configuration to generate documentation and also update the gitignore to exclude Docs folder generated by the Doxygen 2026-06-03 18:25:41 -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
Doxyfile Add Doxygen Configuration to generate documentation and also update the gitignore to exclude Docs folder generated by the Doxygen 2026-06-03 18:25:41 -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).