Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenOCD + Picoprobe flashes extremely slowly #91

Open
maxgerhardt opened this issue Dec 3, 2023 · 1 comment
Open

OpenOCD + Picoprobe flashes extremely slowly #91

maxgerhardt opened this issue Dec 3, 2023 · 1 comment

Comments

@maxgerhardt
Copy link

maxgerhardt commented Dec 3, 2023

Testing a 1.5MByte file

dd if=/dev/zero of=test.bin bs=1500000 count=1

and using the Picoprobe setup (two Picos, one flashed with https://github.com/raspberrypi/picoprobe, latest 1.0.3 firmware), gives extremely slow speeds of 3 minutes, 18 seconds.

$ time openocd -d2  -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 10000" -c "program {test.bin} 0x10000000  verify; reset init; resume; shutdown;"
Open On-Chip Debugger 0.12.0-g4d87f6dca (2023-09-11-23:12)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
Info : Hardware thread awareness created
Info : Hardware thread awareness created
adapter speed: 10000 kHz

Info : Using CMSIS-DAPv2 interface with VID:PID=0x2e8a:0x000c, serial=E66038B713193E30
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 10000 kHz
Info : SWD DPIDR 0x0bc12477, DLPIDR 0x00000001
Info : SWD DPIDR 0x0bc12477, DLPIDR 0x10000001
Info : [rp2040.core0] Cortex-M0+ r0p1 processor detected
Info : [rp2040.core0] target has 4 breakpoints, 2 watchpoints
Info : [rp2040.core1] Cortex-M0+ r0p1 processor detected
Info : [rp2040.core1] target has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 3333
Info : Listening on port 3333 for gdb connections
[rp2040.core0] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
[rp2040.core1] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
** Programming Started **
Info : Found flash device 'win w25q16jv' (ID 0x001540ef)
Info : RP2040 B0 Flash Probe: 2097152 bytes @0x10000000, in 32 sectors

Info : Padding image section 0 at 0x1016e360 with 160 bytes (bank write end alignment)
Warn : Adding extra erase range, 0x1016e400 .. 0x1016ffff
** Programming Finished **
** Verify Started **
** Verified OK **
[rp2040.core0] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
[rp2040.core1] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
shutdown command invoked

real	3m18,361s
user	0m0,996s
sys	0m2,425s

I remember this being a lot faster.

Notice that this is not raspberrypi/debugprobe#49 because the speed is already at 10MHz.

OS is Linux Mint 21.2, x64.

@lurch
Copy link

lurch commented Dec 4, 2023

I've seen "adapter speed 5000" recommended elsewhere - what does that do to your timings?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants