summaryrefslogtreecommitdiff
path: root/src/flash/cfi.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* - added a PLD (programmable logic device) subsystem for FPGA, CPLD etc. ↵drath2006-11-221-29/+63
| | | | | | | | | | | | configuration - added support for loading .bit files into Xilinx Virtex-II devices - added support for the Gateworks GW16012 JTAG dongle - merged CFI fixes from XScale branch - a few minor fixes git-svn-id: svn://svn.berlios.de/openocd/trunk@116 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - str9x flash support (Thanks to Spencer Oliver)drath2006-09-281-0/+4
| | | | | | | | | | | | | - str75x flash support (Thanks to Spencer Oliver) - correct reporting of T-Bit in CPSR (Thanks to John Hartman for reporting this) - core-state (ARM/Thumb) can be switched by modifying CPSR - fixed bug in gdb_server register handling - register values > 32-bit should now be supported - several minor fixes and enhancements git-svn-id: svn://svn.berlios.de/openocd/trunk@100 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - integrated patch from Magnus Lundin that fixes at91sam7 flash timing bugs ↵drath2006-09-071-6/+11
| | | | | | | | | | and possible endianness problems (big endian hosts) - correctly write trailing bytes on str7x flashes - speed up str7x flash writing by offloading the algorithm to the target git-svn-id: svn://svn.berlios.de/openocd/trunk@95 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fixed a minor problem with the GDB server that could drop the first packet ↵drath2006-08-061-0/+8
| | | | | | | | | | | (non-fatal) - fixed some small memory leaks (thanks to Spencer Oliver) - verify chip- and buswidth of cfi flash configurations - added support for ARM966E based systems (tested only with ST micro STR9, thanks to Spencer Oliver) git-svn-id: svn://svn.berlios.de/openocd/trunk@81 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Added support for native MinGW builds (thanks to Spencer Oliver and ↵drath2006-07-171-0/+6
| | | | | | | | | | Michael Fischer) - you still need to install GiveIO (not part of OpenOCD) - Added state-move support to ftd2xx and bitbang JTAG drivers (required for XScale, possibly useful for other targets, too) - various fixes git-svn-id: svn://svn.berlios.de/openocd/trunk@78 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - prepare OpenOCD for branching, created ./trunk/drath2006-06-021-0/+1194
git-svn-id: svn://svn.berlios.de/openocd/trunk@64 b42882b7-edfa-0310-969c-e2dbd0fdcd60