You must be into the design by now. Whatever process you are using is of interest to me.
The first thing that I did in design was to create a block diagram so that I could visualize the data movement, then look for the places where time is critical or where the manipulation is complex. Given that it is desired to do as much in C as possible, the ability of the processor to meet the time requirements is the next point. One project I worked on was to define a set of adapters to attach various devices to a micro-controller. Management had been sold on the concept that any logic function could be programmed, which is true. However just because it CAN does NOT IMPLY that should. If and only if it meets timing, then it should.
If you generate any C code that you can share with me, I will appreciate it very much. My project is a new kind of embedded processor that is designed to execute C code very fast.
In order to evaluate, I need more test cases.
Wishing you great success. Know you are up to here in busy, so thanks for your time!
Karl
By the way, this design phase is the most important although I'm afraid there's not enough emphasis.