[C3Synapse] usability challenge
kuroneko
Posts: 3,623
The Good
- You get half a Meg of SRAM (primarily) for your C3.
- suffers from the Hydra effect, i.e. C3 VGA can't be used at the same time (minor issue)
- SPIN driver: doesn't compile, block read and fill are broken (fix is available at Jeff's place)
- PASM driver: block read/write and fill are broken, API makes alignment assumptions (but doesn't tell you)
- public driver interface is needlessly complicated (dummy parameters to always present a fixed number of them)
- reliability of the test program has to be questioned as it doesn't spot the broken drivers
Comments
The driver exports 4 basic functions, byte r/w and block r/w. The latter come without alignment restrictions (1n) and are therefore not the fastest implementations (2.5MB/s raw). However, you also get 4 extra commands (for direct mailbox usage) which enable 4n and 8n transfers (5MB/s and 10MB/s raw). 8n transfers require an extra cog.
clkfreq/8, "pulling a lonesock"
yeah. very nice code.
thanks to you for showing this. I love it.
I am again stealing with my eyes... Isn't PASM beautiful, sometimes?
Enjoy!
Mike