Primitives

I am doing a major overhaul of the graphic system to increase flexibility and performance. So far the primitives are being worked on and the image below shows the number of microseconds it takes to draw the supported primitives. As seen, draw a filled circle and text is the slowest primitives. That text is slow Läs mer…

Next HW version

As always, times flies amazingly fast, and days quickly becomes weeks and even months. But even if the blog is rather silent a lot have happened in the background. The next hardware version is ready and I am currently working through each part to make sure it works as intended. So far I have found Läs mer…

Vibration motor

Quite early in the project, I decided to have a vibration motor in the game console. The reason is to add an extra dimension when playing: As a player you can see the explosion or car crash, hear it but when you also feel it, it gives you a deeper feeling of the game (or Läs mer…

QUAD SPI (again)

After many hours of struggling to get the quad spi flash to work again, I finally made a breakthrough yesterday. It turned out that I cannot feed to quad spi block with 480 MHz. I’m not sure why, but my guess is that it loads the AXI bus completely and causing the whole MCU to Läs mer…

Debouncing

A common problem when dealing with switches and electronics is how to handle the contact bouncing. When you press the switch, there will be due to the mechanical design of the switch, a short bouncing of the switch before it stabilizes. It depends on how you read of the switch but normally this will lead Läs mer…

Memories

The MCU I am using, STM32H745IG, has a lot of memories, both as in size but also as type. To start, it has two independent flash banks. Each bank is 1 Mbyte and can store both code and data. The first flash bank (starting at address 0x800000) is used by the Cortex-M7 and the second Läs mer…

QUADSPI and performance pII

After reviewing my settings, I did see a major flaw. I used a prescaler of 1. One might think that it means the clock frequency is divided by 1, ie. the clock frequency to the external flash is the same as the one set by the main frequency in the MCU. But this is not Läs mer…

QUADSPI and performance

To store all that graphics used in the games, I added an external flash memory, MX25L512 which has 64 Mb and a QUADSPI interface. I knew that an external flash would be slower to read from than using the internal flash but I was not sure how much slower it would be. I did a Läs mer…