)]}'
{"id":"openocd~master~I08da60b3a2ed9e156f9eb26859fe13dfd973b873","project":"openocd","branch":"master","hashtags":[],"change_id":"I08da60b3a2ed9e156f9eb26859fe13dfd973b873","subject":"Generic (bitbanging) driver for SPI flash and EEPROMs for Cortex-M","status":"ABANDONED","created":"2017-05-31 20:57:37.000000000","updated":"2017-12-13 21:20:02.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"206c3adaec89413da3f86d5216197068c56371d2","_number":4152,"owner":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"value":1,"date":"2017-10-30 22:08:22.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-10-30 22:08:22.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"a614018358548f023ec05f789c346fc9665f1009","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-05-31 20:57:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3206db1fb5696a0979dd45cb66f32574614b24d3","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2017-05-31 21:30:12.000000000","message":"Patch Set 1: Verified-1\n\nBuild Failed \n\nhttp://build.openocd.org/job/openocd-gerrit/9077/ : FAILURE\n\nhttp://build.openocd.org/job/openocd-gerrit-build/8451/ : FAILURE","accounts_in_message":[],"_revision_number":1},{"id":"eebae07de411b67912dd9549635d8ef8413ca71a","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-05-31 22:24:12.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7dcf12e2960fa5c0f51ca8922fffa01500da42a8","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2017-05-31 22:39:03.000000000","message":"Patch Set 2: Verified-1\n\nBuild Failed \n\nhttp://build.openocd.org/job/openocd-gerrit-build/8452/ : FAILURE\n\nhttp://build.openocd.org/job/openocd-gerrit/9078/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"8297044f7efec83e1eae232d4449c96672512b4c","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-06-01 08:12:26.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"ff6cbe34c7bf6cbdd1eec93d63a7d416aab77e59","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2017-06-01 08:27:46.000000000","message":"Patch Set 3: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/9079/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/8453/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"a78f14a2d138934b3c4461cc19768a2b2d23272b","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-06-09 13:31:29.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"14522e58532a8e0992e59bcb07961ce47682688a","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2017-06-09 14:03:15.000000000","message":"Patch Set 4: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/9095/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/8469/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"6df9969561475352c0b90605e237a2c3e3861821","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-10-15 08:18:00.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"adb42e1bcf70ba489da770578acf9f3d87d4bfb8","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2017-10-15 08:52:55.000000000","message":"Patch Set 5: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/9311/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/8685/ : SUCCESS","accounts_in_message":[],"_revision_number":5},{"id":"8d4944496778b8df497f0e15269a65d60c61e742","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-10-30 21:35:45.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"81ea8ac2c816c36baa0fadef1fc239173cbc4ccf","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2017-10-30 22:08:22.000000000","message":"Patch Set 6: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/9373/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/8747/ : SUCCESS","accounts_in_message":[],"_revision_number":6},{"id":"6cd71f5be06bea4b6e6b2812137fa31515981b36","author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"real_author":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"date":"2017-12-09 15:31:21.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":6},{"id":"206c3adaec89413da3f86d5216197068c56371d2","author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"real_author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"date":"2017-12-13 21:20:02.000000000","message":"Patch Set 6:\n\nhuh, this looks really neat.  Was this superseded by anything? is there any reason for it to be abandoned?","accounts_in_message":[],"_revision_number":6}],"current_revision":"04d35ceba38308452755b91a117712b0f3ea4674","revisions":{"1efc1fbeac981277b83291ed10eb80bfc74729d1":{"kind":"REWORK","_number":2,"created":"2017-05-31 22:24:12.000000000","uploader":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"ref":"refs/changes/52/4152/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/52/4152/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/2 \u0026\u0026 git checkout -b change-4152 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/52/4152/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"bc9f8cff2db851d198e901570f06ceeea99e3d2a","subject":"Flash driver for QUADSPI interface in various STM32 variants."}],"author":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-27 14:32:32.000000000","tz":120},"committer":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-31 22:23:15.000000000","tz":120},"subject":"Generic (bitbanging) driver for SPI flash for Cortex-M","message":"Generic (bitbanging) driver for SPI flash for Cortex-M\n\nSome Cortex-M controllers include a specialized SPI interface\nfor external serial flash chips. But most do not, so downloading\nfirmware employing an external flash require a second procedure\nfor filling that flash.\nThis driver overcomes this nuisance by emulating an additional\nflash bank which looks like an internal bank.\nThe SPI flash (or EEPROM) is connected via 4 GPIO pins (NCS, SCLK,\nMISO, MOSI) only, no hardware SPI is required, therefore the driver\nshould work on any Cortex-M controller supporting word addressable\nGPIO ports.\nOf course, speed is not overwhelming, but on an STM32F746 up to\n1.5 MByte/s raw read is possible. However, the limiting factor is\nthe debug interface and its USB attachement: read/write on\nSTM32f746-disco via ST-Link up to approx. 150kByte/s.\nSet-up is somewhat complicated, as GPIOs must be initialized by a\ndedicated script (e. g. in reset init hook, two samples included).\nTested on STM32f746-disco, STM32F769-disco and an STM32F103 board.\n\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n\nChange-Id: I08da60b3a2ed9e156f9eb26859fe13dfd973b873\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n"}},"780110e6db532dbc53700e157d665e44fd2722f9":{"kind":"REWORK","_number":3,"created":"2017-06-01 08:12:26.000000000","uploader":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"ref":"refs/changes/52/4152/3","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/52/4152/3","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/3 \u0026\u0026 git checkout -b change-4152 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/52/4152/3","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"bc9f8cff2db851d198e901570f06ceeea99e3d2a","subject":"Flash driver for QUADSPI interface in various STM32 variants."}],"author":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-27 14:32:32.000000000","tz":120},"committer":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-06-01 08:10:33.000000000","tz":120},"subject":"Generic (bitbanging) driver for SPI flash for Cortex-M","message":"Generic (bitbanging) driver for SPI flash for Cortex-M\n\nSome Cortex-M controllers include a specialized SPI interface\nfor external serial flash chips. But most do not, so downloading\nfirmware employing an external flash require a second procedure\nfor filling that flash.\nThis driver overcomes this nuisance by emulating an additional\nflash bank which looks like an internal bank.\nThe SPI flash (or EEPROM) is connected via 4 GPIO pins (NCS, SCLK,\nMISO, MOSI) only, no hardware SPI is required, therefore the driver\nshould work on any Cortex-M controller supporting word addressable\nGPIO ports.\nOf course, speed is not overwhelming, but on an STM32F746 up to\n1.5 MByte/s raw read is possible. However, the limiting factor is\nthe debug interface and its USB attachement: read/write on\nSTM32f746-disco via ST-Link up to approx. 150kByte/s.\nSet-up is somewhat complicated, as GPIOs must be initialized by a\ndedicated script (e. g. in reset init hook, two samples included).\nTested on STM32f746-disco, STM32F769-disco and an STM32F103 board.\n\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n\nChange-Id: I08da60b3a2ed9e156f9eb26859fe13dfd973b873\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n"}},"a3dde711dc584cec47b83235d258b79a54b7a5fd":{"kind":"REWORK","_number":1,"created":"2017-05-31 20:57:37.000000000","uploader":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"ref":"refs/changes/52/4152/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/52/4152/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/1 \u0026\u0026 git checkout -b change-4152 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/52/4152/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"bc9f8cff2db851d198e901570f06ceeea99e3d2a","subject":"Flash driver for QUADSPI interface in various STM32 variants."}],"author":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-27 14:32:32.000000000","tz":120},"committer":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-31 20:51:26.000000000","tz":120},"subject":"Generic (bitbanging) driver for SPI flash for Cortex-M","message":"Generic (bitbanging) driver for SPI flash for Cortex-M\n\nSome Cortex-M controllers include a specialized SPI interface\nfor external serial flash chips. But most do not, so downloading\nfirmware employing an external flash require a second procedure\nfor filling that flash.\nThis driver overcomes this nuisance by emulating an additional\nflash bank which looks like an internal bank.\nThe SPI flash (or EEPROM) is connected via 4 GPIO pins (NCS, SCLK,\nMISO, MOSI) only, no hardware SPI is required, therefore the driver\nshould work on any Cortex-M controller supporting word addressable\nGPIO ports.\nOf course, speed is not overwhelming, but on an STM32F746 up to\n1.5 MByte/s raw read is possible. However, the limiting factor is\nthe debug interface and its USB attachement: read/write on\nSTM32f746-disco via ST-Link up to approx. 150kByte/s.\nSet-up is somewhat complicated, as GPIOs must be initialized by a\ndedicated script (e. g. in reset init hook, two samples included).\nTested on STM32f746-disco, STM32F769-disco and an STM32F103 board.\n\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n\nChange-Id: I08da60b3a2ed9e156f9eb26859fe13dfd973b873\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n"}},"04d35ceba38308452755b91a117712b0f3ea4674":{"kind":"REWORK","_number":6,"created":"2017-10-30 21:35:45.000000000","uploader":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"ref":"refs/changes/52/4152/6","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/52/4152/6","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/6 \u0026\u0026 git checkout -b change-4152 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/52/4152/6","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"0227a937b4848906f94db995fd28d27a2370211e","subject":"Flash driver for QUADSPI interface in various STM32 variants."}],"author":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-27 14:32:32.000000000","tz":120},"committer":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-10-30 21:34:17.000000000","tz":60},"subject":"Generic (bitbanging) driver for SPI flash and EEPROMs for Cortex-M","message":"Generic (bitbanging) driver for SPI flash and EEPROMs for Cortex-M\n\nSome Cortex-M controllers include a specialized SPI interface\nfor external serial flash chips. But most do not, so downloading\nfirmware employing an external flash require a second procedure\nfor filling that flash.\nThis driver overcomes this nuisance by emulating an additional\nflash bank which looks like an internal bank.\nThe SPI flash (or EEPROM) is connected via 4 GPIO pins (NCS, SCLK,\nMISO, MOSI) only, no hardware SPI is required, therefore the driver\nshould work on any Cortex-M controller supporting word addressable\nGPIO ports.\nOn STM32F746 up to 1.5 MByte/s raw read is possible. However, the\nlimiting factor is the debug interface and its USB attachement:\nread/write on STM32F746G-disco via ST-Link up to approx. 150kByte/s.\nSet-up is somewhat complicated, as GPIOs must be initialized by a\ndedicated script (e. g. in reset init hook, samples included).\nTested on STM32F469I-disco, STM32F746G-disco, STM32F769I-disco and\nan STM32F103 board, additionally with various EEPROMs on STM32F103.\n\nNot supported: verify_image, as this doesn\u0027t use the flash driver.\n\nChange-Id: I08da60b3a2ed9e156f9eb26859fe13dfd973b873\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n"}},"ce9fac068f8ab34af8707bd1e0f8d5dea7ef71d5":{"kind":"REWORK","_number":4,"created":"2017-06-09 13:31:29.000000000","uploader":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"ref":"refs/changes/52/4152/4","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/52/4152/4","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/4 \u0026\u0026 git checkout -b change-4152 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/52/4152/4","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"3c65cf4991598435e43098cf7a9304756b29ab08","subject":"Flash driver for QUADSPI interface in various STM32 variants."}],"author":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-27 14:32:32.000000000","tz":120},"committer":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-06-09 13:31:00.000000000","tz":120},"subject":"Generic (bitbanging) driver for SPI flash for Cortex-M","message":"Generic (bitbanging) driver for SPI flash for Cortex-M\n\nSome Cortex-M controllers include a specialized SPI interface\nfor external serial flash chips. But most do not, so downloading\nfirmware employing an external flash require a second procedure\nfor filling that flash.\nThis driver overcomes this nuisance by emulating an additional\nflash bank which looks like an internal bank.\nThe SPI flash (or EEPROM) is connected via 4 GPIO pins (NCS, SCLK,\nMISO, MOSI) only, no hardware SPI is required, therefore the driver\nshould work on any Cortex-M controller supporting word addressable\nGPIO ports.\nOf course, speed is not overwhelming, but on an STM32F746 up to\n1.5 MByte/s raw read is possible. However, the limiting factor is\nthe debug interface and its USB attachement: read/write on\nSTM32f746-disco via ST-Link up to approx. 150kByte/s.\nSet-up is somewhat complicated, as GPIOs must be initialized by a\ndedicated script (e. g. in reset init hook, two samples included).\nTested on STM32f746-disco, STM32F769-disco and an STM32F103 board.\n\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n\nChange-Id: I08da60b3a2ed9e156f9eb26859fe13dfd973b873\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n"}},"bf14d1a57edcd382085722f0989e3355cb08724a":{"kind":"REWORK","_number":5,"created":"2017-10-15 08:18:00.000000000","uploader":{"_account_id":1001036,"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","username":"abmero"},"ref":"refs/changes/52/4152/5","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/52/4152/5","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/5 \u0026\u0026 git checkout -b change-4152 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/52/4152/5","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/52/4152/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"36b36964132332d5eea6e2a6117867ef43f9deb5","subject":"Flash driver for QUADSPI interface in various STM32 variants."}],"author":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-05-27 14:32:32.000000000","tz":120},"committer":{"name":"Andreas Bolsch","email":"hyphen0break@gmail.com","date":"2017-10-15 08:12:26.000000000","tz":120},"subject":"Generic (bitbanging) driver for SPI flash for Cortex-M","message":"Generic (bitbanging) driver for SPI flash for Cortex-M\n\nSome Cortex-M controllers include a specialized SPI interface\nfor external serial flash chips. But most do not, so downloading\nfirmware employing an external flash require a second procedure\nfor filling that flash.\nThis driver overcomes this nuisance by emulating an additional\nflash bank which looks like an internal bank.\nThe SPI flash (or EEPROM) is connected via 4 GPIO pins (NCS, SCLK,\nMISO, MOSI) only, no hardware SPI is required, therefore the driver\nshould work on any Cortex-M controller supporting word addressable\nGPIO ports.\nOf course, speed is not overwhelming, but on an STM32F746 up to\n1.5 MByte/s raw read is possible. However, the limiting factor is\nthe debug interface and its USB attachement: read/write on\nSTM32f746-disco via ST-Link up to approx. 150kByte/s.\nSet-up is somewhat complicated, as GPIOs must be initialized by a\ndedicated script (e. g. in reset init hook, two samples included).\nTested on STM32f746-disco, STM32F769-disco and an STM32F103 board,\nand additionally with various EEPROMS on STM32F103 board.\n\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n\nChange-Id: I08da60b3a2ed9e156f9eb26859fe13dfd973b873\nSigned-off-by: Andreas Bolsch \u003chyphen0break@gmail.com\u003e\n"}}},"requirements":[],"submit_records":[],"submit_requirements":[]}
