summaryrefslogtreecommitdiff
path: root/src/flash/nor/tcl.c
Commit message (Collapse)AuthorAgeFilesLines
* NOR: add optional "flash erase_address" sector paddingDavid Brownell2010-01-131-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a NOR flash mechanism where erase_address ranges can be padded out to sector boundaries, triggering a diagnostic: > flash erase_address 0x0001f980 16 address range 0x0001f980 .. 0x0001f98f is not sector-aligned Command handler execution failed in procedure 'flash' called at file "command.c", line 647 called at file "command.c", line 361 > > flash erase_address pad 0x0001f980 16 Adding extra erase range, 0x0001f800 to 0x0001f97f Adding extra erase range, 0x0001f990 to 0x0001fbff erased address 0x0001f980 (length 16) in 0.095975s (0.163 kb/s) > This addresses what would otherwise be something of a functional regression. An earlier version of the interface had a dangerous problem: it would silently erase data outside the range it was told to erase. Fixing that bug turned up some folk who relied on that unsafe behavior. (The classic problem with interface bugs!) Now they can get that behavior again. If they really need it, just specify "pad". Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Doxygen file commentsDavid Brownell2010-01-111-0/+5
| | | | | | | Add file comments to a few files. Make the GDB server use more conventional (pointer-free) hex digit conversion. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* src/flash/nor: usage/help/doc updatesDavid Brownell2010-01-091-43/+53
| | | | | | | | | | | | | Make "usage" messages use the same EBNF as the User's Guide; no angle brackets. Improve and correct various helptexts. Don't use "&function"; a function's name is its address. Remove a couple instances of pointless whitespace; shrink a few overlong lines; fix some bad indents. Add TODO list entry re full support for NAND/NOR bank names. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* MinGW build fixesFreddie Chopin2009-12-281-2/+2
| | | | | | | | Print "ssize_t" as "%ld" (+ cast to long) not as "%zu". Official MinGW (gcc 3.4.5) doesn't understand "z" flag. Signed-off-by: Freddie Chopin <freddie_chopin@op.pl> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* NOR: messaging fixDavid Brownell2009-12-261-2/+2
| | | | | Fix syntax error: default to "wrote N bytes"; writing a single byte is an unusual case, not the normal one.
* Subject: flash fill[bwh] should use bulk i/oDavid Brownell2009-12-181-2/+4
| | | | | | | | | It's currently allocating a big buffer but writing it out in units of sizeof(host's pointer) ... sub-optimal. Plus fix a couple minor coding style goofs. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* NOR: bugfix "flash fill[bwh] ..." helptextDavid Brownell2009-12-161-3/+3
| | | | | | These commands don't have a "bank" parameter. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* fix 'write_image' usage informationZachary T Welch2009-12-111-1/+1
| | | | | The 'flash write_image' command erroneously listed the bank number, when it actually uses target addresses to do that lookup for the user.
* add 'flash list', rewrite 'flash banks'Zachary T Welch2009-12-061-6/+28
| | | | | | | Rename the existing 'flash banks' implementation as 'flash list', and replace the broken 'flash_banks' TCL wrapper with a new command handler. Adds documentation for the new 'flash list' command in the user guide.
* fix NOR flash regressionZachary T Welch2009-12-061-0/+2
| | | | | When factoring the bank setup command into flash_bank_add(), I forgot to include a call to the new helper.
* move more nor flash implementation detailsZachary T Welch2009-12-041-0/+725
| | | | | | | | Splits the exec mode commands out of flash.c into the flash/nor/ files. The routines used by these high-level commands are moved into nor/core.c, with their internal declarations placed in nor/imp.h. Fixes distribution of <flash/nor/core.h> header.
* add flash/nor/core.[ch]Zachary T Welch2009-12-041-59/+40
| | | | | | | | | | | | | | | The newly moved flash TCL routines access the internals of the module too much. Fix the layering issues by adding new core NOR flash APIs: <flash/nor/core.h>: - flash_driver_find_by_name() - self-descriptive <flash/nor/imp.h>: - flash_bank_add() - encapsulates adding banks to bank list - flash_bank_list() - encapsulates retreiving bank list This allows the externs in flash/nor/imp.h to be removed, and these mechanisms may now be re-used by other flash module code.
* add flash/nor/{tcl.c,imp.h} from flash/flash.cZachary T Welch2009-12-041-0/+203
Moves the top-level 'flash' command handlers into flash/nor/tcl.c, with flash/nor/imp.h providing an internal implementation header to share non-public API components.