[openocd:tickets] #437 Wrong sector size for w25q16jv / RP2040 pico

2024-09-29 Thread Andreas Bolsch
There are provisions (e.g. in SFDP data) for up to 4 differerent (erase) sector sizes. And most (all?) higher capacity devices have differerent sector sizes to choose from. There are even devices where the large erase sector size can be switched by some non-volatile register. Infineon came up w

[openocd:tickets] #437 Wrong sector size for w25q16jv / RP2040 pico

2024-09-29 Thread Andreas Bolsch
Most SPI flash do support various "sector" sizes, 4kB is sometimes called subsector. OpenOCD uses for bigger flash always the largest available size: Erasing a substancial part by subsector erase is usually *much* slower than by the larger sectors. E.g. for MT25QL512ABB: subsector 4kByte typ. 5

[openocd:tickets] #422 Modify the FPGA flash status register

2024-02-04 Thread Andreas Bolsch
jtagspi cmd 0 1 0x05 ;# read status register jtagspi cmd 0 0 0x06 ;# write enable jtagspi cmd 0 1 0x05 ;# read status register again to check WEL jtagspi cmd 0 0 0x01 0x40 ;# set QE bit (assuming BP to remain cleared) Note that QE is a non-volatile bit, so it has to be set only once. From the da

[openocd:tickets] #422 Modify the FPGA flash status register

2024-02-04 Thread Andreas Bolsch
See 12.5.1 "Flash Driver: jtagspi Command: jtagspi cmd bank_id resp_num cmd_byte ..." Present in all not too old builds, see https://review.openocd.org/c/openocd/+/4876 --- **[tickets:#422] Modify the FPGA flash status register** **Status:** new **Milestone:** 0.11.0 **Created:** Sun Feb 04

[openocd:tickets] #416 RP2040 QSPI Flash reset (no more XIP) causes debug and Flash to fail.

2023-09-23 Thread Andreas Bolsch
So, why do you think this is related to OpenOCD? If you fiddle around with settings in a more or less arbitrary way, it's not that surprising that something stops working. Maybe you should simply revert these settings to their original values?! --- **[tickets:#416] RP2040 QSPI Flash reset (no

[openocd:tickets] #412 Add "xmc xm25qh32c" spi flash id

2023-08-15 Thread Andreas Bolsch
jtagspi and stmqspi drivers do have a command to specify the properties of a flash device at run time. That's not exactly what you described, but reasonable close to it. So, it's more or less a copy-and-paste of the "jtgaspi set" or "stmqspi set" (see docs) command implementation to another fla

[openocd:tickets] Re: #408 No support for generic SPI flash

2023-07-12 Thread Andreas Bolsch
I'm afraid that - apart from your rather impolite wording - you're not getting the point: 1) Your idea of a generic write method is technically infeasible. E.g. address length or sector length (ATXP128 require 4-byte addresses, S25HL256 ... don't have 4kB sectors) or non-volatile configuration

[openocd:tickets] #408 No support for generic SPI flash

2023-07-08 Thread Andreas Bolsch
As long as continuous 'read' starting in bottom 16MByte via single line is concerned, this might work in most cases. But: - SPI flash might be configured (non-volatile!) to quad line mode. - 'read' with start address above 16MByte requires banking register or 4-byte addresses. For 'program' ther

[openocd:tickets] #400 Xilinx Zynq: Read/Write external QSPI Flash

2023-06-05 Thread Andreas Bolsch
Well, as the initial version (simple SPI) was largely copy-and-paste from my stmqspi driver, two weekends as far as I remember (the most cumbersome parts were I2C and UNI/O interface). BUT: All required infrastructure in OpenOCD for Cortex-M was already there. Can't say anything about Cortex-A

[openocd:tickets] #400 Xilinx Zynq: Read/Write external QSPI Flash

2023-06-05 Thread Andreas Bolsch
You could try to port https://review.openocd.org/c/openocd/+/4760 to Cortex-A. Problem is to be able to use e.g. target_run_flash_async_algorithm and friends (in src/target.c). There's already a helper script gpio_conf_zynq.pl included but currently I've no spare time to address that. --- **[

[openocd:tickets] #365 Cannot debug using openocd

2022-10-01 Thread Andreas Bolsch
No real a idea, just some thoughts: 1) ST-Link firmware is rather old 2) First failing access at 0x5c001004 is in DBGMCU module, this does't look to be QSPI related except: 3) Try debug session with "gdb_flash_program disable" right after power-on reset of target. 4) Increase FSIZE by one upon in

[openocd:tickets] #326 Support for external flash SPI driver for STM32L5

2022-01-10 Thread Andreas Bolsch
"New version" means additional modes: dual-SPI, dual-DPI, dual-QPI, octal, microwire (the 93 stuff). That's already implemented, but I still have to run extensive tests to make sure there won't be a regression. I'm afraid this will hardly ever make it into a OpenOCD release, as it's way to

[openocd:tickets] #326 Support for external flash SPI driver for STM32L5

2021-12-20 Thread Andreas Bolsch
Still not completely clear to me: Do you refer to SPI *mode* (i. e. CLK, MISO, MOSI, NCS) or to SPI *interface*? As the QSPI and OctoSPI interfaces do support SPI transfer mode, too. --- ** [tickets:#326] Support for external flash SPI driver for STM32L5** **Status:** new **Milestone:** 0.11.

[openocd:tickets] #326 Support for external flash SPI driver for STM32L5

2021-12-20 Thread Andreas Bolsch
What do you mean by "SPI" in this context? For the OctoSPI interface there's stmqspi, which handles QSPI and OctoSPI interfaces. For plain SPI, there's indeed no specific driver, but you could use https://review.openocd.org/c/openocd/+/4760 (the latter one seems to be a bit outdated, but a new ver

[openocd:tickets] #322 QSPI dump skips bytes

2021-10-07 Thread Andreas Bolsch
What does 'skip' mean? Length ok? First two bytes garbage and rest ok including the very last byte? Or does the dump start at third byte and has two 'extra' byte at the very end? The latter one would most likely due to mismatch of dummy cycles. MX25L51245G allows configuration of dummy cycles, t

Re: stm32l0 flash problem

2021-06-20 Thread Andreas Bolsch
On 2021-06-20 14:12, Oleksandr Redchuk wrote: нд, 20 черв. 2021 о 00:42 Andreas Bolsch пише: On 2021-06-19 22:58, Oleksandr Redchuk wrote: > FT2232D-based adapter > The same behavior as Ali Tekin reported: > "Error: error writing to flash at address 0x0800 at offset >

Re: stm32l0 flash problem

2021-06-19 Thread Andreas Bolsch
On 2021-06-19 22:58, Oleksandr Redchuk wrote: FT2232D-based adapter The same behavior as Ali Tekin reported: "Error: error writing to flash at address 0x0800 at offset 0x" On 2021-06-17 14:51, ali tekin wrote: Do you get this warning below, too? Could you post the cfg file? > Wa

Re: stm32l0 flash problem

2021-06-18 Thread Andreas Bolsch
Just checked with latest HEAD on STM32L0538-Disco: Works as expected. The problem in your case might be there: On 2021-06-17 14:51, ali tekin wrote: Warn : target was in unknown state when halt was requested I'd suggest to do a mass erase, reset option bytes to factory defaults, power cycle,

Re: [OpenOCD-devel] GigaDevice GD32E230 support

2021-03-09 Thread Andreas Bolsch
On 2021-03-09 12:34, Michael Schwingen wrote: Is there a documented way to get a *manufacturer* ID in some common register that can be accessed without prior knowledge about the part? If not, I would prefer to shift this decision to the configuration file. CoreSight ROM tables. Problems are t

Re: [OpenOCD-devel] Freescale QSPI flash driver

2021-02-01 Thread Andreas Bolsch
Unfortunately I don't know aarch64 target. The main point for the ring buffer implementation is that there must be a possibility to read/write the buffer head/tail pointers atomically and concurrently with the running target (and of course, to access the buffer itself, too). On 2021-01-31 22:1

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-29 Thread Andreas Bolsch via OpenOCD-devel
Good news, thanks for your feedback! So, ticket can be closed now. --- ** [tickets:#290] QSPI debugging is not working in some stm32h753 mcu** **Status:** new **Milestone:** 0.10.0 **Created:** Thu Jan 07, 2021 10:44 AM UTC by shaalik **Last Updated:** Wed Jan 27, 2021 02:17 PM UTC **Owner:** n

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-23 Thread Andreas Bolsch via OpenOCD-devel
Just checked on a Nucleo-H743ZI2 (rev. *V*) with two W25Q256FV in dual-quad mode: no issues with OpenOCD master. The errata sheet doesn't mention any difference between Y and V regarding QSPI. As mentioned above: Binary for Windows *with* stmqspi already included is contained in STM32CubeIDE.

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-23 Thread Andreas Bolsch via OpenOCD-devel
STM32CubeIDE includes OpenOCD with a rather recent stmqspi driver. You may give it a try, although I still think your problem is hardware related. The drawback is that ST squeezed all setups for various disco and eval boards into a single stm32h7x.cfg, which makes adaption to your board slightly

[OpenOCD-devel] [openocd:tickets] Re: #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-22 Thread Andreas Bolsch via OpenOCD-devel
On 2021-01-22 19:16, shaalik wrote: > I took pre built binaries from http://openocd.org/getting-openocd/ > > When i ran the cfg file I'm getting error as follows "Error: Flash > driver 'stmqspi'not found Naturally, as the prebuild windows binaries still don't include the stmqspi driver. So you

Re: [OpenOCD-devel] Freescale QSPI flash driver

2021-01-21 Thread Andreas Bolsch
On 2021-01-21 05:28, Taylor Stroobosscher via OpenOCD-devel wrote: What would be the best approach to start here? Does a dedicated 'fslqspi' driver seem like it would be a worthwhile effort? Would possibly working on the previous code be realistic? If you decide to develop a driver, I'd sugg

Re: [OpenOCD-devel] Freescale QSPI flash driver

2021-01-20 Thread Andreas Bolsch
The disadvantage of 4235 is programming speed: As the flash chips are getting larger (16 MBytes is already only moderate size), handling every single register read/write via the host and debug adapter becomes unfeasible. (Similar problem for a verify: Complete readout and comparison on the host

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-12 Thread Andreas Bolsch via OpenOCD-devel
The id will be checked just before the first comand touching the flash is executed (setparms, mass_erase, ...), that's the auto_probe. Yes, it would be nice if you could check whether commenting out the read_id helps. But: Please don't use the old version. The updated patch had been merged alr

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-12 Thread Andreas Bolsch via OpenOCD-devel
I'm afraid there is no chance to investigate this any further. Maybe the WIP bit sticks at '1' after reset, maybe the flash doesn't reply to RDJDID in QPI mode (early revision, defective?), so you might try to use only SPI mode in your cfg. Or replace the flash chip? Since it works on one board

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-10 Thread Andreas Bolsch via OpenOCD-devel
That's odd ... The external connection of mcu to flash seems to be ok. I don't see any reason anymore why it could work on one bourd and fail on the other. The only reason I can imagine now is that the flash chip doesn't respond to RDJDID (0x9F) properly. But why I can't tell. Maybe your mcu

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-10 Thread Andreas Bolsch via OpenOCD-devel
Naturally, the very same error would persists even with 0xEC. The point is, however, does the memory mapped mode work correctly for the whole bank when you comment out the setparms? I.e. does meromory contents read correctly on 4-4-4 mode then? Connect to openocd with telnet on port and ins

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-08 Thread Andreas Bolsch via OpenOCD-devel
Your CCR setting for memory mapped mode uses 4-line modes for instruction, address and data, but instruction is 4FRQO (0x6C). DS however says: Table 8.4: 4FRQO SPI, Quad data and "8.8 FAST READ QUAD OUTPUT OPERATION (FRQO, 6Bh or 4FRQO 6Ch) ... The FRQO/4FRQO instruction code is followed by thre

[OpenOCD-devel] [openocd:tickets] #290 QSPI debugging is not working in some stm32h753 mcu

2021-01-07 Thread Andreas Bolsch via OpenOCD-devel
Your description isn't very helpful: Two identical boards, and your're debugging the very same firmware on both? Or similar boards with different firmware? And what's the error *precisely*? Apart from that: First ideas would be - Defective hardware (might not always be apparent at first glance,

[OpenOCD-devel] [openocd:tickets] #271 STM32L4RET fails to flash for image bigger than 256KB

2020-06-21 Thread Andreas Bolsch via OpenOCD-devel
The best idea is to compile it yourself as described in http://openocd.org/doc-release/README On Linux that's rather simple and painless. --- ** [tickets:#271] STM32L4RET fails to flash for image bigger than 256KB** **Status:** new **Milestone:** 0.9.0 **Created:** Sun Jun 21, 2020 03:17 PM U

[OpenOCD-devel] [openocd:tickets] #271 STM32L4RET fails to flash for image bigger than 256KB

2020-06-21 Thread Andreas Bolsch via OpenOCD-devel
There is to my knowledge no such device like STM32L4RET. The id 0x415 suggests something like L47xRET? There had been a major update of the stm32l4x driver recently, hence you should test an up to date build of openocd first. If that still shows the error, it would be useful if you could supply

[OpenOCD-devel] [openocd:tickets] #242 STM32L0x too high SWD clock

2019-07-04 Thread Andreas Bolsch via OpenOCD-devel
On Nucleo-L053RZ no problem even with 4 MHz SWD clock via integrated ST-Link. Although the L053 differs substantially from L011, the CPU core and debug logic are certainly quite similar. Custom board, original ST-Link? Stable power-supply, suitable bypass, no glitches? SWD connection via jumper

Re: [OpenOCD-devel] New release

2019-05-15 Thread Andreas Bolsch
Please note that I'm currently working on some significant changes as H7, L4+ (and apparently MP1) series suffer from an unpleasant silicon bug in memory mapped mode ... On 2019-05-15 14:43, Claudio Lanconelli wrote: Hello, can you merge http://openocd.zylin.com/#/c/4321 before next release,

[OpenOCD-devel] [openocd:tickets] #234 Problems with experimental driver for STM32 QUAD-/OCTOSPI interface

2019-04-30 Thread Andreas Bolsch via OpenOCD-devel
The cause seems to be a silicon bug, cf. ES0290, "2.4.4 Memory-mapped read operations may fail when timeout counter is enabled.". That was already mentioned by Christopher Head. The options are a) disable timout altogether (i. e. replace in the cfg file mww 0xA0001000 0x0358

[OpenOCD-devel] [openocd:tickets] Re: #231 STM32L07x dual bank fails flashing

2019-04-05 Thread Andreas Bolsch via OpenOCD-devel
Oh, yes, overlooked the watchdogs at the very end of the features list ... I didn't mean brand-new. Just do a mass-erase and verify that option bytes are at factory settings (in particular hardware/software watchdog), power-cycle board and stlink, and restart OpenOCD. This should be sufficient t

[OpenOCD-devel] [openocd:tickets] #231 STM32L07x dual bank fails flashing

2019-04-04 Thread Andreas Bolsch via OpenOCD-devel
The size of working area *must* not have any influence except speed (as long as the memory is present and operating properly), otherwise there is probably a bug lurking around: The L073 hasn't got ECC for RAM nor watchdogs, which could cause obvious trouble. Hence it might be useful to dig into

[OpenOCD-devel] [openocd:tickets] #223 Erasure error when flashing PCI-e screamer card

2019-02-16 Thread Andreas Bolsch via OpenOCD-devel
There is a patch available at http://openocd.zylin.com/#/c/4876/ to support flash chips with capacity more than 16 MBytes. However, please note that depending on the particular type it might additionally be necessary to switch the flash chip to 4-byte address mode, either always after power-up o

[OpenOCD-devel] [openocd:tickets] #223 Erasure error when flashing PCI-e screamer card

2019-01-27 Thread Andreas Bolsch via OpenOCD-devel
That's not a bug but rather missing functionality, cf. http://openocd.zylin.com/#/c/4853/ I'll submit a suitable patch as soon I'll get appropriate hardware for testing, but this might take some time ... If you can't wait, you could do it yourself, it should be fairly easy. --- ** [tickets:#2

[OpenOCD-devel] [openocd:tickets] #221 Support for DTR in QSPI debugging

2019-01-20 Thread Andreas Bolsch via OpenOCD-devel
Well, the check for allowed commands seems to be to restrictive. Either comment out this check or add the required commands to this check. It's in "COMMAND_HANDLER(stmqspi_handle_setparms)" in stmqspi.c. Or, add your flash chip to the list in spi.c. BTW: There is an update of the stmqspi drive

[OpenOCD-devel] [openocd:tickets] #211 Enable break points on QSPI debugging + OpenOCD

2018-12-11 Thread Andreas Bolsch via OpenOCD-devel
Ok, looks good, id is correct. Your cfg file still contains some things specific to the example: The RSTEN and RST instructions may not be appropriate to your chip, so I'd suggest to remove that (or check your datasheet). But in the very same way you may configure your flash, see below. Since

[OpenOCD-devel] [openocd:tickets] #211 Enable break points on QSPI debugging + OpenOCD

2018-12-10 Thread Andreas Bolsch via OpenOCD-devel
It would be quite helpful to include your cfg file ... as the "Warn : no flash bank found for address 0x9000" strongly suggests that the qspi flash bank hasn't been set up (properly). As long as 'flash probe 2' doesn't show the correct id of you flash chip(s), there ist no hope the qspi driv

[OpenOCD-devel] [openocd:tickets] Re: #208 Open OCD for external qspi programming and debugging

2018-10-02 Thread Andreas Bolsch via OpenOCD-devel
Not impossible, but subject to a lot of severe restrictions: - instruction set must be similar to NOR flash (the instruction codes may be different, but the basic operations must be similar), no serious problem - bad block management must be transparent to read command, i. e. the flash must re

[OpenOCD-devel] [openocd:tickets] Re: #208 Open OCD for external qspi programming and debugging

2018-10-02 Thread Andreas Bolsch via OpenOCD-devel
stmqspi is a driver/patch for openOCD to program and read the QSPI flash, so it's to be build *into* openOCD executable only. For openOCD you need in addition a small script, the patch comes with some examples, e. g. "stm32f769i-disco.cfg". But for your board you have to write your own script,

[OpenOCD-devel] [openocd:tickets] Re: #208 Open OCD for external qspi programming and debugging

2018-10-02 Thread Andreas Bolsch via OpenOCD-devel
Hello Praveen, I'm afraid I can't help regarding a Windows build as I don't use/have Windows at all ... Regards, Andreas On 2018-10-01 22:44, Praveen wrote: > Is it possible to get the openocd exe with the patch@4321 applied and > built for windows ? --- ** [tickets:#208] Open OCD for extern

[OpenOCD-devel] [openocd:tickets] Re: #208 Open OCD for external qspi programming and debugging

2018-09-30 Thread Andreas Bolsch via OpenOCD-devel
Do you want to use the external ***NAND*** flash for "execute-in-place", i. e. the QSPI interface in memory-mapped mode? If yes, then I doubt very much this is feasible at all: The quite page-oriented (in read mode!) structure, bad block management and high error rate found in ***NAND*** flash

[OpenOCD-devel] [openocd:tickets] Re: #208 Open OCD for external qspi programming and debugging

2018-09-30 Thread Andreas Bolsch via OpenOCD-devel
Do you want to use the external ***NAND*** flash for "execute-in-place", i. e. the QSPI interface in memory-mapped mode? If yes, then I doubt very much this is feasible at all: The quite page-oriented (in read mode!) structure, bad block management and high error rate found in ***NAND*** flash

[OpenOCD-devel] [openocd:tickets] #203 programming st_nucleo_f7 (stm32f767) bank 2 consistently fails

2018-08-22 Thread Andreas Bolsch via OpenOCD-devel
I've created an elf file with the same section addresses/sizes, filled with garbage, test_image reports the same figures as for yor file. No problem whatsoever, programming and verification works ok for me. Checked with ST-Link V2J30M19 and V2J31M21. Other than the chip rev. (yours is Z, mine is

[OpenOCD-devel] [openocd:tickets] #203 programming st_nucleo_f7 (stm32f767) bank 2 consistently fails

2018-08-22 Thread Andreas Bolsch via OpenOCD-devel
Hm, just checked with current head on Nucleo-F767ZI via integrated ST-Link: stm32f2x user_options 0xDFC, boot_add0 0x0080, boot_add1 0x0040, so in dual-bank mode, after mass erase. Programming the whole flash (2MBytes) with random data (flash write_bank 0 random.bin) and verify after read back (f

Re: [OpenOCD-devel] [openocd:tickets] #188 samg55 start of debug speedup

2018-07-23 Thread Andreas Bolsch
Well, with typical values from datasheet: 57*0.08+899*0.0015=5.9085 So approx. 6s is the bottom line dictated by controller hardware. Given that Eclipse is known to be a bit ... sluggish, your 12s are really not as bad as one might think initially. Maybe you could save 1 or 2 seconds by using

Re: [OpenOCD-devel] STM32F2/4/7 Flash programming

2018-02-28 Thread Andreas Bolsch
These figures are quite surprising. I've made a lot of benchmarks with a pile of discovery boards, mainly F4 and F7, some L4. Since my focus was on external spi flash, I did not record the results for the internal flash, but as far as I recall, both programming *AND* read (via write_bank , read

[OpenOCD-devel] Handling of improper / invalid / corrupt hex files

2017-10-28 Thread Andreas Bolsch
Just came across some nasty hex images in ST's CubeMX packages: STM32Cube_FW_F4_V1.17.0/Projects/STM32469I-Discovery/Demonstrations/STemWin/Binary/STM32469I-Disco_Demo_V1.2.0_FULL.hex STM32Cube_FW_F4_V1.17.0/Projects/STM32469I_EVAL/Demonstrations/STemWin/Binary/STM32469I_EVAL_Demo_V1.2.0_FULL.hex

[OpenOCD-devel] [openocd:tickets] #148 STM32L0x: flash size and dual bank support

2017-03-19 Thread Andreas Bolsch
The same feature (or even better - single/dual bank selectable by option bytes ...) appears e. g. in the f7 family. So you might compare this with stm32f2x.c (indeed **f2x**). There more or less variant 1) is used. --- ** [tickets:#148] STM32L0x: flash size and dual bank support** **Status:**