Is anyone else using AI for embedded work? I have mad amazing gains the last 3 weeks on a very complex project.
It's a two part system with an I/O module and a Head unit with a touchscreen. Both units have an STM32 as well as an ESP32-S3.
The STM32's are for the real heavy lifting. An STM32G474 and an STM32H743. They will do all of the collection and displaying of rider information. The ESP32's on each unit will act as a link between the two, but also as programmers of the STM32's.
One of the things that has been bouncing around in my head for at least 2-1/2 years was how to get the STM32H743 to keep the display going during the flashing process. I knew it could probably be done doing a custom RAM based bootloader. I have never written a bootloader in my life. So, to say this was something I was afraid of digging into is an understatement.
I want the display to inform the user as the flashing process happens. I don't want it to simply have a blank screen during the maybe 15-20 minute process. So I explained to CodeX what I wanted to do. I had already made the screen work and it was able to use that example to build a RAM bases transport that used the factory bootloader to load he custom bootloader into RAM. This takes maybe 2-3 seconds that the screen has no way displaying anything, but after that the ESP32 has full commands to paint anything on the screen. Text, lines even images. It also has full use of the touch panel.
I was expecting this to take me months to sort it all out. Even three weeks would have been great. CodeX had it running in like 10 minutes for the first working version. Now mind you it's actually the PC that I tested it with and programming the STM32H743, but the RAM bases bootloader was part of that test. I probably have less than 6 hours total now into that function.
Now that it's proven to work I had it create the programming side on the ESP32-S3. It crunched for 30 minutes. I'll test that in the next few days.