Hi!

Someone has asked me for help with using OpenOCD + STM32F100 (8kB of RAM). After some time I've come to conclusion that the problem was caused by incorrect workareasize value, which in stm32.cfg is defined to be 16kB. With std cfg files flashing the device resulted in:

Error: JTAG-DP STICKY ERROR
Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0x20002004
Error: JTAG-DP STICKY ERROR
Error: MEM_AP_CSW 0x23000052, MEM_AP_TAR 0x20002004
Warn : Block write error address 0x20002000, wcount 0xc

The flashing actually works, but is extremely slow (rate < 200B/s). Changing the workareasize to 2kB helps - everything works normally then.

However, I've always thought that OpenOCD somehow finds the amount of RAM that is available on the chip and will not allocate more than is possible? Am I wrong?

Here is the relevant part of -d 3 log for workareasize that is way over the available RAM:

Debug: 570 5594 target.c:1125 target_alloc_working_area_try(): MMU disabled, 
using physical address for working memory 0x20000000
Debug: 571 5594 target.c:1185 target_alloc_working_area_try(): allocated new 
working area at address 0x20000000
Debug: 572 5594 target.c:1315 target_write_buffer(): writing buffer of 48 byte 
at 0x20000000
Debug: 573 5594 target.c:1185 target_alloc_working_area_try(): allocated new 
working area at address 0x20000030
Debug: 574 5594 target.c:1315 target_write_buffer(): writing buffer of 8192 
byte at 0x20000030
Debug: 575 5735 adi_v5_jtag.c:266 jtagdp_transaction_endcheck(): jtag-dp: 
CTRL/STAT error, 0xf0000021
Error: 576 5735 adi_v5_jtag.c:296 jtagdp_transaction_endcheck(): JTAG-DP STICKY 
ERROR
Debug: 577 5750 adi_v5_jtag.c:312 jtagdp_transaction_endcheck(): jtag-dp: 
CTRL/STAT 0xf0000001
Error: 578 5750 adi_v5_jtag.c:327 jtagdp_transaction_endcheck(): MEM_AP_CSW 
0x23000052, MEM_AP_TAR 0x20002004
Debug: 579 5750 adi_v5_jtag.c:266 jtagdp_transaction_endcheck(): jtag-dp: 
CTRL/STAT error, 0xf0000021
Error: 580 5750 adi_v5_jtag.c:296 jtagdp_transaction_endcheck(): JTAG-DP STICKY 
ERROR
Debug: 581 5766 adi_v5_jtag.c:312 jtagdp_transaction_endcheck(): jtag-dp: 
CTRL/STAT 0xf0000001
Error: 582 5766 adi_v5_jtag.c:327 jtagdp_transaction_endcheck(): MEM_AP_CSW 
0x23000052, MEM_AP_TAR 0x20002004
Warn : 583 5766 arm_adi_v5.c:337 mem_ap_write_buf_u32(): Block write error 
address 0x20002000, wcount 0xc

Any ideas?

4\/3!!
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to