aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/tmpa910.cfg
diff options
context:
space:
mode:
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>2012-02-13 01:18:24 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2012-02-23 14:02:23 +0000
commit813f4a5411af9a397d6e9bbc682a43738b06baeb (patch)
treed14449fb1e16db15003091b11d86dd12fcbc0a85 /tcl/target/tmpa910.cfg
parentf0ef9960b6f4caacc69c4a839e6b759e8c6a9b82 (diff)
target: rewrite working area allocator
The existing allocator couldn't reuse a freed allocation if the sizes didn't match exactly. That led to problems when for example a flash write routine had allocated all of the working area to speed up operation. A subsequent verify pass couldn't allocate space for the checksum algorithm even though all previous allocations had been freed. This allocator is marginally more complex, but solves the above problem by splitting larger free areas to fulfill smaller requests and by merging released areas into adjacent free areas. An initial free area, covering the entire specified address range, is set up on first allocation, and all allocations are split off from (and ultimately merged into) that one. It can also easily be adapted to support several disjoint working areas for the same target, by setting up several initial free areas and slightly modifying the merge code. Change-Id: I6faaf9801312bb19a4fa4474694a0cd1c6e0ab54 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/445 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'tcl/target/tmpa910.cfg')
0 files changed, 0 insertions, 0 deletions