Compare commits
19 Commits
Author | SHA1 | Date |
---|---|---|
Freddie Chopin | d9c4700b4d | |
Olivier Schonken | e69b94295e | |
Spencer Oliver | 6d1ea5a7a9 | |
Spencer Oliver | 8f944fc226 | |
Spencer Oliver | 6544018321 | |
Spencer Oliver | 80a9e44ac7 | |
Spencer Oliver | f5793f9a4a | |
Spencer Oliver | 6145b016c2 | |
Spencer Oliver | 2d0750d708 | |
Spencer Oliver | 00581ae591 | |
Spencer Oliver | f8a537aa92 | |
Spencer Oliver | feb926a770 | |
Spencer Oliver | 0c0c1b81e2 | |
Spencer Oliver | a384596034 | |
Spencer Oliver | 027f8c9fb3 | |
Spencer Oliver | 612cad7f7c | |
Spencer Oliver | 07a73c01d1 | |
Spencer Oliver | 6cb0c3ff14 | |
Freddie Chopin | f254667a13 |
|
@ -1,5 +1,5 @@
|
|||
AC_PREREQ(2.60)
|
||||
AC_INIT([openocd], [0.6.0],
|
||||
AC_INIT([openocd], [0.6.1],
|
||||
[OpenOCD Mailing List <openocd-devel@lists.sourceforge.net>])
|
||||
AC_CONFIG_SRCDIR([src/openocd.c])
|
||||
|
||||
|
|
|
@ -722,10 +722,17 @@ static int FLASHD_ErasePages(struct sam4_bank_private *pPrivate,
|
|||
break;
|
||||
}
|
||||
|
||||
/* AT91C_EFC_FCMD_EPA
|
||||
* According to the datasheet FARG[15:2] defines the page from which
|
||||
* the erase will start.This page must be modulo 4, 8, 16 or 32
|
||||
* according to the number of pages to erase. FARG[1:0] defines the
|
||||
* number of pages to be erased. Previously (firstpage << 2) was used
|
||||
* to conform to this, seems it should not be shifted...
|
||||
*/
|
||||
return EFC_PerformCommand(pPrivate,
|
||||
/* send Erase Page */
|
||||
AT91C_EFC_FCMD_EPA,
|
||||
(firstPage << 2) | erasePages,
|
||||
(firstPage) | erasePages,
|
||||
status);
|
||||
}
|
||||
|
||||
|
|
|
@ -1142,6 +1142,10 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
|
|||
snprintf(buf, buf_size, "1.0");
|
||||
break;
|
||||
|
||||
case 0x2000:
|
||||
snprintf(buf, buf_size, "2.0");
|
||||
break;
|
||||
|
||||
default:
|
||||
snprintf(buf, buf_size, "unknown");
|
||||
break;
|
||||
|
@ -1188,6 +1192,10 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
|
|||
snprintf(buf, buf_size, "1.0");
|
||||
break;
|
||||
|
||||
case 0x2000:
|
||||
snprintf(buf, buf_size, "2.0");
|
||||
break;
|
||||
|
||||
default:
|
||||
snprintf(buf, buf_size, "unknown");
|
||||
break;
|
||||
|
|
|
@ -175,7 +175,7 @@ static int ftdi_set_signal(const struct signal *s, char value)
|
|||
|
||||
output = data ? output | s->data_mask : output & ~s->data_mask;
|
||||
if (s->oe_mask == s->data_mask)
|
||||
direction = oe ? output | s->oe_mask : output & ~s->oe_mask;
|
||||
direction = oe ? direction | s->oe_mask : direction & ~s->oe_mask;
|
||||
else
|
||||
output = oe ? output | s->oe_mask : output & ~s->oe_mask;
|
||||
|
||||
|
@ -247,6 +247,11 @@ static int ftdi_speed_div(int speed, int *khz)
|
|||
|
||||
static int ftdi_khz(int khz, int *jtag_speed)
|
||||
{
|
||||
if (khz == 0 && !mpsse_is_high_speed(mpsse_ctx)) {
|
||||
LOG_DEBUG("RCLK not supported");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
*jtag_speed = khz * 1000;
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
@ -638,7 +643,7 @@ static int ftdi_initialize(void)
|
|||
if (retval == ERROR_OK)
|
||||
retval = mpsse_set_data_bits_high_byte(mpsse_ctx, output >> 8, direction >> 8);
|
||||
if (retval != ERROR_OK) {
|
||||
LOG_ERROR("couldn't initialize FTDI with 'JTAGkey' layout");
|
||||
LOG_ERROR("couldn't initialize FTDI with configured layout");
|
||||
return ERROR_JTAG_INIT_FAILED;
|
||||
}
|
||||
|
||||
|
|
|
@ -1405,6 +1405,7 @@ static void target_split_working_area(struct working_area *area, uint32_t size)
|
|||
new_wa->size = area->size - size;
|
||||
new_wa->address = area->address + size;
|
||||
new_wa->backup = NULL;
|
||||
new_wa->user = NULL;
|
||||
new_wa->free = true;
|
||||
|
||||
area->next = new_wa;
|
||||
|
@ -1493,6 +1494,7 @@ int target_alloc_working_area_try(struct target *target, uint32_t size, struct w
|
|||
new_wa->size = target->working_area_size & ~3UL; /* 4-byte align */
|
||||
new_wa->address = target->working_area;
|
||||
new_wa->backup = NULL;
|
||||
new_wa->user = NULL;
|
||||
new_wa->free = true;
|
||||
}
|
||||
|
||||
|
@ -1536,6 +1538,9 @@ int target_alloc_working_area_try(struct target *target, uint32_t size, struct w
|
|||
c->free = false;
|
||||
*area = c;
|
||||
|
||||
/* user pointer */
|
||||
c->user = area;
|
||||
|
||||
print_wa_layout(target);
|
||||
|
||||
return ERROR_OK;
|
||||
|
@ -1586,6 +1591,13 @@ static int target_free_working_area_restore(struct target *target, struct workin
|
|||
LOG_DEBUG("freed %"PRIu32" bytes of working area at address 0x%08"PRIx32,
|
||||
area->size, area->address);
|
||||
|
||||
/* mark user pointer invalid */
|
||||
/* TODO: Is this really safe? It points to some previous caller's memory.
|
||||
* How could we know that the area pointer is still in that place and not
|
||||
* some other vital data? What's the purpose of this, anyway? */
|
||||
*area->user = NULL;
|
||||
area->user = NULL;
|
||||
|
||||
target_merge_working_areas(target);
|
||||
|
||||
print_wa_layout(target);
|
||||
|
@ -1613,6 +1625,8 @@ static void target_free_all_working_areas_restore(struct target *target, int res
|
|||
if (restore)
|
||||
target_restore_working_area(target, c);
|
||||
c->free = true;
|
||||
*c->user = NULL; /* Same as above */
|
||||
c->user = NULL;
|
||||
}
|
||||
c = c->next;
|
||||
}
|
||||
|
|
|
@ -95,6 +95,7 @@ struct working_area {
|
|||
uint32_t size;
|
||||
bool free;
|
||||
uint8_t *backup;
|
||||
struct working_area **user;
|
||||
struct working_area *next;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#
|
||||
# TI/Luminary Stellaris LM3S1968 Evaluation Kits
|
||||
#
|
||||
# http://www.luminarymicro.com/products/lm3s1968_evaluation_kits.html
|
||||
# http://www.ti.com/tool/ek-lm3s1968
|
||||
#
|
||||
|
||||
# NOTE: to use J-Link instead of the on-board interface,
|
||||
# you may also need to reduce adapter_khz to be about 1200.
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Stellaris lm3s3748 Evaluation Kit
|
||||
# http://www.luminarymicro.com/products/lm3s3748_usb_h_d_evaluation_kits.html
|
||||
#
|
||||
# TI/Luminary Stellaris lm3s3748 Evaluation Kits
|
||||
#
|
||||
# http://www.ti.com/tool/ek-lm3s3748
|
||||
#
|
||||
|
||||
# NOTE: using the on-board FT2232 JTAG/SWD/SWO interface is optional!
|
||||
# so is using it in JTAG mode, as done here.
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#
|
||||
# TI/Luminary Stellaris LM3S6965 Evaluation Kits
|
||||
#
|
||||
# http://www.luminarymicro.com/products/lm3s6965_ethernet_evaluation_kit.html
|
||||
# http://www.ti.com/tool/ek-lm3s6965
|
||||
#
|
||||
|
||||
# NOTE: using the on-board FT2232 JTAG/SWD/SWO interface is optional!
|
||||
# so is using it in JTAG mode, as done here.
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#
|
||||
# TI/Luminary Stellaris LM3S811 Evaluation Kits (rev B and earlier)
|
||||
#
|
||||
# http://www.luminarymicro.com/products/stellaris_811_evaluation_kits.html
|
||||
# http://www.ti.com/tool/ek-lm3s811
|
||||
#
|
||||
|
||||
# NOTE: newer 811-EK boards (rev C and above) shouldn't use this.
|
||||
# use board/ek-lm3s811.cfg
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#
|
||||
# TI/Luminary Stellaris LM3S811 Evaluation Kits
|
||||
#
|
||||
# http://www.luminarymicro.com/products/stellaris_811_evaluation_kits.html
|
||||
# http://www.ti.com/tool/ek-lm3s811
|
||||
#
|
||||
|
||||
# NOTE: using the on-board FT2232 JTAG/SWD/SWO interface is optional!
|
||||
# so is using it in JTAG mode, as done here.
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# Luminary Micro Stellaris LM3S9B9x Evaluation Kits
|
||||
# TI/Luminary Stellaris LM3S9B9x Evaluation Kits
|
||||
#
|
||||
# http://www.luminarymicro.com/products/ek-lm3s9b90.html
|
||||
# http://www.luminarymicro.com/products/ek-lm3s9b92.html
|
||||
# http://www.ti.com/tool/ek-lm3s9b90
|
||||
# http://www.ti.com/tool/ek-lm3s9b92
|
||||
#
|
||||
|
||||
# NOTE: using the bundled FT2232 JTAG/SWD/SWO interface is optional!
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
# This is an STM32F3 discovery board with a single STM32F303VCT6 chip.
|
||||
# http://www.st.com/internet/evalboard/product/254044.jsp
|
||||
|
||||
source [find interface/stlink-v2.cfg]
|
||||
|
||||
source [find target/stm32f3x_stlink.cfg]
|
||||
|
||||
# use hardware reset, connect under reset
|
||||
reset_config srst_only srst_nogate
|
|
@ -4,15 +4,10 @@
|
|||
# http://www.hitex.com/index.php?id=cortino
|
||||
#
|
||||
|
||||
echo "WARNING!"
|
||||
echo "This file was not tested with real interface, it is based on code in ft2232.c."
|
||||
echo "Please report your experience with this file to openocd-devel mailing list,"
|
||||
echo "so it could be marked as working or fixed."
|
||||
|
||||
interface ftdi
|
||||
ftdi_device_desc "Cortino"
|
||||
ftdi_vid_pid 0x0640 0x0032
|
||||
|
||||
ftdi_layout_init 0x0308 0x031b
|
||||
ftdi_layout_init 0x0108 0x010b
|
||||
ftdi_layout_signal nTRST -data 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0200
|
||||
ftdi_layout_signal nSRST -data 0x0200 -oe 0x0200
|
||||
|
|
|
@ -9,7 +9,7 @@ interface ftdi
|
|||
ftdi_device_desc "LPC1768-Stick"
|
||||
ftdi_vid_pid 0x0640 0x0026
|
||||
|
||||
ftdi_layout_init 0x0188 0x038b
|
||||
ftdi_layout_init 0x0388 0x038b
|
||||
ftdi_layout_signal nTRST -data 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0080 -noe 0x200
|
||||
|
||||
|
|
|
@ -4,15 +4,10 @@
|
|||
# http://www.hitex.com/index.php?id=383
|
||||
#
|
||||
|
||||
echo "WARNING!"
|
||||
echo "This file was not tested with real interface, it is based on code in ft2232.c."
|
||||
echo "Please report your experience with this file to openocd-devel mailing list,"
|
||||
echo "so it could be marked as working or fixed."
|
||||
|
||||
interface ftdi
|
||||
ftdi_device_desc "STR9-comStick"
|
||||
ftdi_vid_pid 0x0640 0x002c
|
||||
|
||||
ftdi_layout_init 0x0308 0x030b
|
||||
ftdi_layout_init 0x0108 0x010b
|
||||
ftdi_layout_signal nTRST -data 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0200
|
||||
ftdi_layout_signal nSRST -data 0x0200 -oe 0x0200
|
||||
|
|
|
@ -11,11 +11,6 @@
|
|||
# need to use the "luminary_icdi" layout to work correctly.
|
||||
#
|
||||
|
||||
echo "WARNING!"
|
||||
echo "This file was not tested with real interface, it is based on code in ft2232.c."
|
||||
echo "Please report your experience with this file to openocd-devel mailing list,"
|
||||
echo "so it could be marked as working or fixed."
|
||||
|
||||
interface ftdi
|
||||
ftdi_device_desc "LM3S811 Evaluation Board"
|
||||
ftdi_vid_pid 0x0403 0xbcd9
|
||||
|
|
|
@ -29,4 +29,4 @@ ftdi_device_desc "Stellaris Evaluation Board"
|
|||
ftdi_vid_pid 0x0403 0xbcd9
|
||||
|
||||
ftdi_layout_init 0x00a8 0x00eb
|
||||
ftdi_layout_signal nSRST -data 0x0020
|
||||
ftdi_layout_signal nSRST -noe 0x0020
|
||||
|
|
|
@ -4,15 +4,10 @@
|
|||
# http://www.hitex.com/index.php?id=340
|
||||
#
|
||||
|
||||
echo "WARNING!"
|
||||
echo "This file was not tested with real interface, it is based on code in ft2232.c."
|
||||
echo "Please report your experience with this file to openocd-devel mailing list,"
|
||||
echo "so it could be marked as working or fixed."
|
||||
|
||||
interface ftdi
|
||||
ftdi_device_desc "STM32-PerformanceStick"
|
||||
ftdi_vid_pid 0x0640 0x002d
|
||||
|
||||
ftdi_layout_init 0x0188 0x038b
|
||||
ftdi_layout_init 0x0388 0x038b
|
||||
ftdi_layout_signal nTRST -data 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0080
|
||||
ftdi_layout_signal nSRST -data 0x0080 -noe 0x200
|
||||
|
|
|
@ -7,7 +7,7 @@ if { [info exists CHIPNAME] == 0 } {
|
|||
}
|
||||
|
||||
if { [info exists CPUTAPID] == 0 } {
|
||||
set CPUTAPID 0x1ba01477
|
||||
set CPUTAPID 0x2ba01477
|
||||
}
|
||||
|
||||
if { [info exists WORKAREASIZE] == 0 } {
|
||||
|
|
Loading…
Reference in New Issue