summaryrefslogtreecommitdiff
path: root/src/flash/cfi.c
Commit message (Collapse)AuthorAgeFilesLines
* Add target_run_algorithm wrapper:zwelch2009-05-311-2/+2
| | | | | | | | - replaces all calls to target->type->run_algorithm. - add documentation in target_s to warn not to invoke callback directly. git-svn-id: svn://svn.berlios.de/openocd/trunk@1961 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add target_write_memory wrapper:zwelch2009-05-311-66/+66
| | | | | | | | - replaces all calls to target->type->write_memory. - add documentation in target_s to warn not to invoke callback directly. git-svn-id: svn://svn.berlios.de/openocd/trunk@1960 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add target_read_memory wrapper:zwelch2009-05-311-9/+9
| | | | | | | | - replaces all calls to target->type->read_memory. - add documentation in target_s to warn not to invoke callback directly. git-svn-id: svn://svn.berlios.de/openocd/trunk@1959 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>kc8apf2009-05-251-2/+4
| | | | | | | - cfi flash_address coding style fix git-svn-id: svn://svn.berlios.de/openocd/trunk@1911 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>kc8apf2009-05-221-2/+20
| | | | | | | - Fix multi-byte reads on x16 devices used as x8 git-svn-id: svn://svn.berlios.de/openocd/trunk@1886 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>kc8apf2009-05-221-2/+4
| | | | | | | - Fix calculation of flash_address for x16 devices used as x8 git-svn-id: svn://svn.berlios.de/openocd/trunk@1885 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>kc8apf2009-05-221-4/+4
| | | | | | | - Consistently use flash_address git-svn-id: svn://svn.berlios.de/openocd/trunk@1884 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Audit and eliminate redundant #include directives in src/flash sources.zwelch2009-05-111-11/+0
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1712 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Fischer <fischermi@t-online.de> fix compile problems on Macoharboe2009-05-081-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1678 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Schwingen <rincewind@discworld.dascon.de> add non-CFI SST flashsoharboe2009-04-211-3/+5
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1480 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Schwingen <rincewind@discworld.dascon.de> enhanced non-CFI flash ↵oharboe2009-04-191-34/+29
| | | | | | support git-svn-id: svn://svn.berlios.de/openocd/trunk@1469 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Zach Welch <zw@superlucidity.net> fix signed/unsigned comparisonsoharboe2009-04-191-4/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1466 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* The following patches was applied:mifi2009-04-181-56/+56
| | | | | | | | | | | | | - openocd-flash-static-keyword-v3.patch - openocd-lpc2000-fix-erase-obo.patch - openocd-jlink-fix-sign-ptr-warn.patch - openocd-wextra-etm.patch - openocd-wextra-jtag.patch - openocd-add-new-tap-symbols-v6.patch Many thanks to Zach Welch <zw(at)superlucidity.net> git-svn-id: svn://svn.berlios.de/openocd/trunk@1462 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Nico Coesel <ncoesel@dealogic.nl> Chip width / bus width bug in cfi driveroharboe2009-04-151-3/+11
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1459 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Laurentiu Cocanu - memory read/write and exit() error path fixesoharboe2008-10-151-79/+266
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1064 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Laurentiu Cocanu - fix error handlingoharboe2008-10-141-10/+33
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1061 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Ben Bodley TEKNIQUE <ben@teknique.com> - support for the 1Mb Spansion Flash ↵oharboe2008-10-141-0/+2
| | | | | | S29AL008D. git-svn-id: svn://svn.berlios.de/openocd/trunk@1051 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - remove build warningsntfreak2008-10-061-1/+0
| | | | | | - add missing svn props git-svn-id: svn://svn.berlios.de/openocd/trunk@1022 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Georg Acher <acher@in.tum.de> implements the buffer flash mode for Spansion ↵oharboe2008-10-061-3/+71
| | | | | | flashes. It's basically a clone of the Intel version, just a few details differ git-svn-id: svn://svn.berlios.de/openocd/trunk@1017 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* search and replace usleep(1000) with alive_sleep(1) to avoid GDB timeouts.oharboe2008-08-191-2/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@942 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* fixed not halted error messagesoharboe2008-08-171-0/+7
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@925 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Kurz <michi.kurz@googlemail.com> MX29LV800B non-cfi flash.oharboe2008-07-211-0/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@845 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Ben Bodley <ben@teknique.com> non-CFI compliant flash (AMIC A29L800A)oharboe2008-07-201-0/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@841 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* fallback for no implementation of multi word CFI write. Successful codepath ↵oharboe2008-06-161-7/+11
| | | | | | not affected. git-svn-id: svn://svn.berlios.de/openocd/trunk@711 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Andre Renaud support for the am29sl800db CFI flash chip (id: 0x0004, 0x226b).oharboe2008-04-231-0/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@603 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* added a couple of LOG_ERROR() messages to improve logfile.oharboe2008-04-081-0/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@548 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Work on fixing erase check. Many implementations are plain broken.oharboe2008-04-031-118/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Wrote a default flash erase check fn which uses CFI's target algorithm w/fallback to memory reads. - "flash info" no longer prints erase status as it is stale. - "flash erase_check" now prints erase status. erase check can take a *long* time. Work in progress - arm7/9 with seperate srst & trst now supports reset init/halt after a power outage. arm7/9 no longer makes any assumptions about state of target when reset is asserted. - fixes for srst & trst capable arm7/9 with reset init/halt - prepare_reset_halt retired. This code needs to be inside assert_reset anyway - haven't been able to get stm32 write algorithm to work. Fallback flash write does work. Haven't found a version of openocd trunk where this works. - added target_free_all_working_areas_restore() which can let be of restoring backups. This is needed when asserting reset as the target must be assumed to be an unknown state. Added some comments to working areas API - str9 reset script fixes - some guidelines - fixed dangling callbacks upon reset timeout git-svn-id: svn://svn.berlios.de/openocd/trunk@536 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - rename log functions to stop conflicts under win32 (wingdi)ntfreak2008-03-251-80/+80
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@523 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix warnings during configure cause by ecosboard. default to no, if host ↵drath2008-03-171-87/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | cpu isn't arm. - fix generic bitbang code to allow scans to end in Shift-[ID]R - several CFI fixes (thanks to Michael Schwingen): - buffer overflow when converting target code in cfi_intel_write_block - cfi_fix_code_endian needs the number of words, not bytes, as size argument. - Spansion flash write was completely broken on big-endian targets - I borrowed mechanisms from the intel driver, and moved some common code into the cfi_command_val helper function. There is still more common code that might be cleaned up. - the buffer size check in cfi_write was broken for spansion flashes, where cfi_write_words is not implemented. cfi_write_words is no only called if the flash does have a buffer size >1. - "flash info" printed CFI status information for non-CFI flashes, which is confusing. It now only prints those when a real CFI flash is detected. git-svn-id: svn://svn.berlios.de/openocd/trunk@517 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Bruck: fixed warningsoharboe2008-03-071-0/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@471 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Uwe Hermann tightned up comments, etc. to follow OpenOCD policyoharboe2008-03-021-1/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@431 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Pavel Chromy cleaned up checks for halted, error messages, etc.oharboe2008-02-281-21/+44
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@374 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - convert all files to unix line-endingdrath2008-02-251-2355/+2355
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@347 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - "flash write_binary" is now "flash write_bank" to clarify the focus of theoharboe2008-02-251-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | command and reduce confusion with "flash write_image". - retired deprecated "flash erase" & "flash write". - added flash_driver_protect/write/erase() that are wafer thin frontend functions to low level driver functions. They implement checks that were inconsistently handled by the drivers, e.g. check for target halted was done in a spotty fashion. - use return ERROR_COMMAND_SYNTAX_ERROR to print out syntax of command instead of having lots of inlined replicas of the command line syntax(some of which were wrong). - use logging instead of dubious translation of error values to human understandable explanations of why things failed. The lower levels log the precise reason and the higher levels can ammend context as the error propagates up the call stack. - simplified flash API slightly with logging instead of allocating and returning information that the caller then has to translate into print statements. git-svn-id: svn://svn.berlios.de/openocd/trunk@337 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* disable cfi_write_words(). Broken for spansion, fallbackoharboe2008-02-241-2357/+2360
| | | | | | is a slower codepath that is reported to work. git-svn-id: svn://svn.berlios.de/openocd/trunk@331 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - add new non-cfi SST flash device. Thanks Øyvind Harboentfreak2008-02-181-1/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@303 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added autoprobe functionalitymifi2008-01-271-0/+15
| | | | | | | - corrected blocksize handling from GDB "info mem" command (thanks to Øyvind and Spen for these patches) git-svn-id: svn://svn.berlios.de/openocd/trunk@278 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Eleminated leading tabs/white spacebodylove2008-01-211-4/+4
| | | | | | | - Updated SVN property git-svn-id: svn://svn.berlios.de/openocd/trunk@265 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - updated docs for cfi command, added missing ft2232_layout namesntfreak2008-01-211-4/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@261 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - only some cosmetic changes, convert \r\n to unixmifi2007-12-171-3/+3
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@239 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - removed some compiler warningsmifi2007-12-161-23/+30
| | | | | | | | - added patch to fix problem in cfi_intel_write_block. In case of cfi_info->write_algorithm is not NULL, target_code_size was not set. (thanks to oyvind Harboe for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@235 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added the patch CFI-BE-Fixes-Blockwrite-Support.diffmifi2007-12-141-82/+302
| | | | | | (thanks to Carsten Schlote for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@231 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch from Dominic to unlock the ATMEL flash in cfi_read_atmel_pri_extmifi2007-12-141-1/+7
| | | | | | | - set cfi_info->write_algorithm and cfi_info->erase_check_algorithm to NULL to get "flash erase_check" command working git-svn-id: svn://svn.berlios.de/openocd/trunk@227 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixing two compiler warningsmifi2007-12-101-1/+1
| | | | | | | | | - Reducing stack usage for recursive scripts - Do not exit on bogus arguments to reset_config. No longer exit the application upon bogus arguments to reset_config, but return errors. thanks to Øyvind Harboe for these patches. git-svn-id: svn://svn.berlios.de/openocd/trunk@226 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Stripped trailing spaces (patch preparation)bodylove2007-12-101-250/+250
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@225 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - renamed M5960 USB JTAG to "flyswatter"drath2007-08-101-43/+33
| | | | | | | | | | | | | | | | | | | | - make ep93xx and at91rm9200 bitbang JTAG interfaces dependant on ARM host (thanks to Vincent Palatin) - various whitespace fixes - removed various warnings - add support for Debian GNU/kFreeBSD (thanks to Uwe Hermann) - fix OpenOCD compilation for various platforms (thanks to Uwe Hermann and Vincent Palatin) - switched order of JTAG chain examination and validation (examine first, then multiple validation tries even if examination failed) - added target_request subsystem to handle requests from the target (debug messages and tracepoints implemented, future enhancements might include semihosting, all ARM7/9 only for now) - added support for GDB vFlashXXX packets (thanks to Pavel Chromy) - added support for receiving data via ARM7/9 DCC - reworked flash writing. the 'flash write' command is now deprecated and replaced by 'flash write_binary' (old syntax and behaviour) and 'flash write_image' (write image files (bin, hex, elf, s19) to a target). - added support for AMD/ST/SST 29F400B non-cfi flashes git-svn-id: svn://svn.berlios.de/openocd/trunk@190 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - split fileio handling into fileio part and image handlingdrath2007-05-291-150/+260
| | | | | | | | | | | - reworked etm/etb into a generic etm part with trace capture drivers (currently only etb supported) - added XScale debug handler binary to repository - added Thumb disassembling (thanks to Vincent Palatin for this patch) - added support for non-CFI compatible flashes to cfi driver (currently only SST39VFxxx devices supported) This checkin is experimental, not suitable for general use git-svn-id: svn://svn.berlios.de/openocd/trunk@155 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - disabled excessive debug output in jtag.hdrath2007-04-111-27/+746
| | | | | | | | | | - output all of EmbeddedICE version register in error message - update OpenOCD's idea of the current core mode, and immediately change core mode, on CPSR changes - added support for CFI cmdset 0002 (patch by Andrew Dyer, thanks a lot) - enhanced CFI cmdset 0002 support to Atmel AT49 flashes (thanks to Joerg Krein for providing test hardware) git-svn-id: svn://svn.berlios.de/openocd/trunk@138 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fixed arm926 cp15 command bug (thanks to Vincent Palatin for this patch)drath2007-03-261-8/+3
| | | | | | | | - fixed compiler warnings throughout the code (thanks to Vincent Palatin for this patch) - added support for accessing ETB (embedded trace buffer) registers git-svn-id: svn://svn.berlios.de/openocd/trunk@134 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix incorrect parsing of whitespace in command.c (thanks to Magnus Lundin)drath2007-01-221-8/+49
| | | | | | | | | | | - fix infinite recursion in target_init_handler (thanks to jw and Magnus Lundin) - fix CFI flash handlign with buswidth < 32bit (thanks to Daniele Orio for reporting this) - add support for reading JTAG device id (currently only as debug output on startup) - cleaned up handling of EmbeddedICE registers. Supported functionality and register size now determined by EmbeddedICE version number. - small cleanups/fixes git-svn-id: svn://svn.berlios.de/openocd/trunk@124 b42882b7-edfa-0310-969c-e2dbd0fdcd60