On Fri, 31 Jan 2014, Jeff Mitchell wrote:
# Excellent and many thanks! This will be enormously useful!
.. and it was; I was able to get an order of magnitude increase in
processing with this trick.
The DMA problem is still quite a nuisance though; there is other
work to be done.. and just toggling a GPIO pin causes VGA image distortion
by colliding with the DMA. I can toggle a GPIO or read a GPIO during
hsync, or vsync/vblank period. But if some other device sends something to
the stm32, and theres an interupt on the gpio pin to catch it, I'm going
ot have image distortion just to check the gpio values. (The interupt
itself is okay.)
I can try to do trickery such as receive the pin interupt, set a
volatile flag, and then in the next hsync pull in the gpio state. This
works, but then limits you to receiving only about 30,000 hits per second
which is really not all that high (if you're streaming data between chips,
via bitbang .. or don't want to miss the incoming data before it changes
again; could maybe do i2c/etc, but the chips I'm talking to don't do
any of that.. so I'd have to drop in an avr8 or stm8 or shift register
chain or something, to serialize the incoming requests or change its
protocol.. ugh!)
Next up.. check the ref guide to see if possibly some GPIOs are on
different buses relative to RAM, or anything like that; with lucky
choices, is it possible to read/write a GPIO without getting in the way of
DMA2 hitting GPIO and RAM.. otherwise, up to serious timing games :/
Fun fun fun :)
jeff
--
If everyone would put barbecue sauce on their food, there would be no war.
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends. Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
libopencm3-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libopencm3-devel