I got the project skeleton working pretty fast, but don't expect that to continue. I've forgotten a lot of stuff. But I'll get up to speed eventually.
This time around I have a much clearer idea of what will and won't work. It's a question of translating that into code.
I will start with some nitty gritty low level stuff. Like DMA-enabled memcpy() and memset().