diff options
author | Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> | 2014-12-11 16:29:25 +0100 |
---|---|---|
committer | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2015-02-02 10:29:01 +0000 |
commit | 5ffe5b9b2cb6a265588f0b7ea6744e0aff86d8dc (patch) | |
tree | 3d2c8e4d3ee3714ea6d83abca7b5165a5bd578de | |
parent | d537cfa124b74ee2bd0d6997519868df756645e3 (diff) | |
download | riscv-openocd-5ffe5b9b2cb6a265588f0b7ea6744e0aff86d8dc.zip riscv-openocd-5ffe5b9b2cb6a265588f0b7ea6744e0aff86d8dc.tar.gz riscv-openocd-5ffe5b9b2cb6a265588f0b7ea6744e0aff86d8dc.tar.bz2 |
Add more STM32F3 IDs in target/stm32f3.cfg.
Change-Id: I4c4462aa025639c4d20e6fa23c8845a69e60afc5
Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Reviewed-on: http://openocd.zylin.com/2435
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
-rw-r--r-- | src/flash/nor/stm32f1x.c | 19 | ||||
-rw-r--r-- | tcl/target/stm32f3x.cfg | 18 |
2 files changed, 33 insertions, 4 deletions
diff --git a/src/flash/nor/stm32f1x.c b/src/flash/nor/stm32f1x.c index 0871b30..82f112e 100644 --- a/src/flash/nor/stm32f1x.c +++ b/src/flash/nor/stm32f1x.c @@ -894,7 +894,7 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->ppage_size = 4; max_flash_size_in_kb = 128; break; - case 0x422: /* stm32f302xb/c */ + case 0x422: /* stm32f302/3xb/c */ page_size = 2048; stm32x_info->ppage_size = 2; max_flash_size_in_kb = 256; @@ -902,6 +902,14 @@ static int stm32x_probe(struct flash_bank *bank) stm32x_info->option_offset = 6; stm32x_info->default_rdp = 0x55AA; break; + case 0x446: /* stm32f303xD/E */ + page_size = 2048; + stm32x_info->ppage_size = 2; + max_flash_size_in_kb = 512; + stm32x_info->user_data_offset = 16; + stm32x_info->option_offset = 6; + stm32x_info->default_rdp = 0x55AA; + break; case 0x428: /* value line High density */ page_size = 2048; stm32x_info->ppage_size = 4; @@ -1240,6 +1248,15 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size) rev_str = get_stm32f0_revision(rev_id); break; + case 0x446: + device_str = "STM32F303xD/E"; + switch (rev_id) { + case 0x1000: + rev_str = "A"; + break; + } + break; + case 0x448: device_str = "STM32F07x"; rev_str = get_stm32f0_revision(rev_id); diff --git a/tcl/target/stm32f3x.cfg b/tcl/target/stm32f3x.cfg index 9547d84..318d96c 100644 --- a/tcl/target/stm32f3x.cfg +++ b/tcl/target/stm32f3x.cfg @@ -52,14 +52,26 @@ swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPU if { [info exists BSTAPID] } { set _BSTAPID $BSTAPID } else { - # STM Document RM0316 rev 2 Section 30.6.2 says 0x06432041 - # but STM32F303VCT6 rev Y has 0x06422041 + # STM Document RM0316 rev 5 for STM32F302/303 B/C size set _BSTAPID1 0x06422041 + # STM Document RM0313 rev 3 for STM32F37x set _BSTAPID2 0x06432041 + # STM Document RM0313 rev 3 for STM32F37x Chip Revision 1.0 + set _BSTAPID3 0x06422041 + # STM Document RM364 rev 1 for STM32F334 + set _BSTAPID4 0x06438041 + # STM Document RM316 rev 5 for STM32F303 6/8 size + # STM Document RM365 rev 3 for STM32F302 6/8 size + # STM Document RM366 rev 2 for STM32F301 6/8 size + set _BSTAPID5 0x06439041 + # STM Document RM016 rev 5 for STM32F303 D/E size + set _BSTAPID6 0x06446041 } if {[using_jtag]} { - swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 -expected-id $_BSTAPID2 + swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \ + -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 -expected-id $_BSTAPID4 \ + -expected-id $_BSTAPID5 -expected-id $_BSTAPID6 } set _TARGETNAME $_CHIPNAME.cpu |