cortex_m: fix autoincrement range of Cortex-M7

Cortex-M7 has autoincrement range only 1024 bytes,
surprisingly smaller than M3, M4.

Change-Id: I35ff1f0e093aac4af79f98eb3b8058d4295942d1
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/3737
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
gitignore-build
Tomas Vanek 2016-09-17 17:36:20 +02:00 committed by Spencer Oliver
parent 9292899bf4
commit 640894e731
1 changed files with 8 additions and 4 deletions

View File

@ -1976,10 +1976,14 @@ int cortex_m_examine(struct target *target)
armv7m->arm.core_cache->num_regs = ARMV7M_NUM_CORE_REGS_NOFP;
}
if ((i == 3 || i == 4 || i == 7) && !armv7m->stlink) {
/* Cortex-M3/M4/M7 have at least 4096 bytes autoincrement range,
* s. ARM IHI 0031C: MEM-AP 7.2.2 */
armv7m->debug_ap->tar_autoincr_block = (1 << 12);
if (!armv7m->stlink) {
if (i == 3 || i == 4)
/* Cortex-M3/M4 have 4096 bytes autoincrement range,
* s. ARM IHI 0031C: MEM-AP 7.2.2 */
armv7m->debug_ap->tar_autoincr_block = (1 << 12);
else if (i == 7)
/* Cortex-M7 has only 1024 bytes autoincrement range */
armv7m->debug_ap->tar_autoincr_block = (1 << 10);
}
/* Configure trace modules */