summaryrefslogtreecommitdiff
path: root/src/flash/cfi.c
Commit message (Collapse)AuthorAgeFilesLines
* Rolf Meeser <rolfm_9dq@yahoo.de> oharboe2009-09-091-5/+40
| | | | | | | This patch adds target algorithm support for those flash devices that do not support DQ5 polling. So far they could only be programmed with host algorithm, but this was way too slow. git-svn-id: svn://svn.berlios.de/openocd/trunk@2682 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Schwingen <rincewind@discworld.dascon.de> a small CFI cleanupoharboe2009-08-251-4/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2617 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix issue with reading device id, bug appeared when flash_address code was ↵ntfreak2009-07-201-3/+4
| | | | | | | | added - fix issue when multiple flash chips are connected, eg. x16 x 2 on 32bit mcu bus git-svn-id: svn://svn.berlios.de/openocd/trunk@2551 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Remove whitespace at end of lines, step 1.zwelch2009-06-231-7/+7
| | | | | | | - Replace '\s*$' with ''. git-svn-id: svn://svn.berlios.de/openocd/trunk@2379 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Remove whitespace that occurs before ')'.zwelch2009-06-231-7/+7
| | | | | | | - Replace '[ \t]*[)]' with ')'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2377 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Remove whitespace that occurs after '('.zwelch2009-06-231-1/+1
| | | | | | | - Replace '([ \t]*' with '('. git-svn-id: svn://svn.berlios.de/openocd/trunk@2376 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixes '[<>]' whitespacezwelch2009-06-231-2/+2
| | | | | | | | | | - Replace ')\([<>]\)(' with ') \1 ('. - Replace ')\([<>]\)\(\w\)' with ') \1 \2'. - Replace '\(\w\)\([<>]\)(' with '\1 \2 ('. - Replace '\(\w\)\([<>]\)\(\w\)' with '\1 \2 \3'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2375 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixes '+' whitespacezwelch2009-06-231-2/+2
| | | | | | | | | | - Replace ')\(+\)(' with ') \1 ('. - Replace ')\(+\)\(\w\)' with ') \1 \2'. - Replace '\(\w\)\(+\)(' with '\1 \2 ('. - Replace '\(\w\)\(+\)\(\w\)' with '\1 \2 \3'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2373 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixes '=' whitespacezwelch2009-06-231-5/+5
| | | | | | | | | - Replace ')\(=\)\(\w\)' with ') \1 \2'. - Replace '\(\w\)\(=\)(' with '\1 \2 ('. - Replace '\(\w\)\(=\)\(\w\)' with '\1 \2 \3'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2372 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixes '<<' whitespacezwelch2009-06-231-1/+1
| | | | | | | | | - Replace ')\(<<\)\(\w\)' with ') \1 \2'. - Replace '\(\w\)\(<<\)(' with '\1 \2 ('. - Replace '\(\w\)\(<<\)\(\w\)' with '\1 \2 \3'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2370 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixes '[*]=' whitespacezwelch2009-06-231-1/+1
| | | | | | | - Replace '\(\w\)\([*]=\)\(\w\)' with '\1 \2 \3'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2365 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixes '[+]=' whitespacezwelch2009-06-231-1/+1
| | | | | | | | - Replace '\(\w\)\([+]=\)(' with '\1 \2 ('. - Replace '\(\w\)\([+]=\)\(\w\)' with '\1 \2 \3'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2364 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Replace 'for(' with 'for ('.zwelch2009-06-231-2/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2360 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Replace 'switch(' with 'switch ('.zwelch2009-06-231-12/+12
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2359 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Replace 'if(' with 'if ('.zwelch2009-06-231-71/+71
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2357 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* C99 printf() -Werror fixesduane2009-06-211-26/+33
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2331 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Transform 'u32' to 'uint32_t' in src/flash.zwelch2009-06-181-54/+54
| | | | | | | - Replace '\([^_]\)u32' with '\1uint32_t'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2280 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Transform 'u16' to 'uint16_t'zwelch2009-06-181-3/+3
| | | | | | | | - Replace '\([^_]\)u16' with '\1uint16_t'. - Replace '^u16' with 'uint16_t'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2277 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Transform 'u8' to 'uint8_t' in src/flashzwelch2009-06-181-51/+51
| | | | | | | | - Replace '\([^_]\)u8' with '\1uint8_t'. - Replace '^u8' with 'uint8_t'. git-svn-id: svn://svn.berlios.de/openocd/trunk@2275 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* 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