stm32f1x: use async algorithm in flash programming routine
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sun, 31 Jul 2011 08:31:56 +0000 (10:31 +0200)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sat, 8 Oct 2011 22:00:53 +0000 (00:00 +0200)
commit92b14f8ca96e87715697be74a08907595a7d4dcb
tree171df0cdabd6fb976f30f9f340ac9105a68dc894
parenta147563ac1e96e3dbe56770a9f958a7b47cc0fc8
stm32f1x: use async algorithm in flash programming routine

Let the target algorithm be running in the background and buffer data
continuously through a FIFO. This reduces or removes the effect of latency
because only a very small number of queue executions needs to be done per
buffer fill. Previously, the many repeated target state changes, register
accesses (really inefficient) and algorithm uploads caused the flash
programming to be latency bound in many cases. Now it should scale better
with increased throughput.

Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
contrib/loaders/flash/stm32f1x.S [moved from contrib/loaders/flash/stm32x.S with 51% similarity]
src/flash/nor/stm32f1x.c