flash: add virtual flash bank driver

This adds a virtual flash bank driver that allows virtual banks to
be defined that refer to an existing flash bank.

For example the real address for bank0 on the pic32 is 0x1fc00000
but the user program will either be in kseg0 (0xbfc00000) or
kseg1 (0x9fc00000).
This also means that gdb will be aware of all the read only flash
addresses.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
This commit is contained in:
Spencer Oliver
2010-05-24 11:41:50 +01:00
parent ef72484b78
commit 5319ccd7eb
4 changed files with 268 additions and 1 deletions

View File

@@ -4672,6 +4672,26 @@ the flash clock.
@end deffn
@end deffn
@deffn {Flash Driver} virtual
This is a special driver that maps a previously defined bank to another
address. All bank settings will be copied from the master physical bank.
The @var{virtual} driver defines one mandatory parameters,
@itemize
@item @var{master_bank} The bank that this virtual address refers to.
@end itemize
So in the following example addresses 0xbfc00000 and 0x9fc00000 refer to
the flash bank defined at address 0x1fc00000. Any cmds executed on
the virtual banks are actually performed on the physical banks.
@example
flash bank $_FLASHNAME pic32mx 0x1fc00000 0 0 0 $_TARGETNAME
flash bank vbank0 virtual 0xbfc00000 0 0 0 $_TARGETNAME $_FLASHNAME
flash bank vbank1 virtual 0x9fc00000 0 0 0 $_TARGETNAME $_FLASHNAME
@end example
@end deffn
@subsection str9xpec driver
@cindex str9xpec