You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(75) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(70) |
Feb
(20) |
Mar
(52) |
Apr
(149) |
May
(387) |
Jun
(466) |
Jul
(133) |
Aug
(87) |
Sep
(122) |
Oct
(140) |
Nov
(185) |
Dec
(105) |
2010 |
Jan
(85) |
Feb
(45) |
Mar
(75) |
Apr
(17) |
May
(41) |
Jun
(52) |
Jul
(33) |
Aug
(29) |
Sep
(36) |
Oct
(15) |
Nov
(26) |
Dec
(34) |
2011 |
Jan
(26) |
Feb
(25) |
Mar
(26) |
Apr
(29) |
May
(20) |
Jun
(27) |
Jul
(15) |
Aug
(32) |
Sep
(13) |
Oct
(64) |
Nov
(60) |
Dec
(10) |
2012 |
Jan
(64) |
Feb
(63) |
Mar
(39) |
Apr
(43) |
May
(54) |
Jun
(11) |
Jul
(30) |
Aug
(45) |
Sep
(11) |
Oct
(70) |
Nov
(24) |
Dec
(23) |
2013 |
Jan
(17) |
Feb
(8) |
Mar
(35) |
Apr
(40) |
May
(20) |
Jun
(24) |
Jul
(36) |
Aug
(25) |
Sep
(42) |
Oct
(40) |
Nov
(9) |
Dec
(21) |
2014 |
Jan
(29) |
Feb
(24) |
Mar
(60) |
Apr
(22) |
May
(22) |
Jun
(46) |
Jul
(11) |
Aug
(23) |
Sep
(26) |
Oct
(10) |
Nov
(14) |
Dec
(2) |
2015 |
Jan
(28) |
Feb
(47) |
Mar
(33) |
Apr
(58) |
May
(5) |
Jun
(1) |
Jul
|
Aug
(8) |
Sep
(12) |
Oct
(25) |
Nov
(58) |
Dec
(21) |
2016 |
Jan
(12) |
Feb
(40) |
Mar
(2) |
Apr
(1) |
May
(67) |
Jun
(2) |
Jul
(5) |
Aug
(36) |
Sep
|
Oct
(24) |
Nov
(17) |
Dec
(50) |
2017 |
Jan
(14) |
Feb
(16) |
Mar
(2) |
Apr
(35) |
May
(14) |
Jun
(16) |
Jul
(3) |
Aug
(3) |
Sep
|
Oct
(19) |
Nov
|
Dec
(16) |
2018 |
Jan
(55) |
Feb
(11) |
Mar
(34) |
Apr
(14) |
May
(4) |
Jun
(20) |
Jul
(39) |
Aug
(16) |
Sep
(17) |
Oct
(16) |
Nov
(20) |
Dec
(30) |
2019 |
Jan
(29) |
Feb
(24) |
Mar
(37) |
Apr
(26) |
May
(19) |
Jun
(21) |
Jul
(2) |
Aug
(3) |
Sep
(9) |
Oct
(12) |
Nov
(12) |
Dec
(12) |
2020 |
Jan
(47) |
Feb
(36) |
Mar
(54) |
Apr
(44) |
May
(37) |
Jun
(19) |
Jul
(32) |
Aug
(13) |
Sep
(16) |
Oct
(24) |
Nov
(32) |
Dec
(11) |
2021 |
Jan
(14) |
Feb
(5) |
Mar
(40) |
Apr
(32) |
May
(42) |
Jun
(31) |
Jul
(29) |
Aug
(47) |
Sep
(38) |
Oct
(17) |
Nov
(74) |
Dec
(33) |
2022 |
Jan
(11) |
Feb
(15) |
Mar
(40) |
Apr
(21) |
May
(39) |
Jun
(44) |
Jul
(19) |
Aug
(46) |
Sep
(79) |
Oct
(35) |
Nov
(21) |
Dec
(15) |
2023 |
Jan
(56) |
Feb
(13) |
Mar
(43) |
Apr
(28) |
May
(60) |
Jun
(15) |
Jul
(29) |
Aug
(28) |
Sep
(32) |
Oct
(21) |
Nov
(42) |
Dec
(39) |
2024 |
Jan
(35) |
Feb
(17) |
Mar
(28) |
Apr
(7) |
May
(14) |
Jun
(35) |
Jul
(30) |
Aug
(35) |
Sep
(30) |
Oct
(28) |
Nov
(38) |
Dec
(18) |
2025 |
Jan
(21) |
Feb
(28) |
Mar
(36) |
Apr
(35) |
May
(34) |
Jun
(58) |
Jul
(9) |
Aug
(37) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <kc...@ma...> - 2008-12-12 01:21:11
|
Author: kc8apf Date: 2008-12-12 01:21:07 +0100 (Fri, 12 Dec 2008) New Revision: 1229 Modified: trunk/src/jtag/jtag.c trunk/src/jtag/jtag.h Log: Allow -expected-id to be specified multiple times when creating a jtag tap Modified: trunk/src/jtag/jtag.c =================================================================== --- trunk/src/jtag/jtag.c 2008-12-11 23:36:51 UTC (rev 1228) +++ trunk/src/jtag/jtag.c 2008-12-12 00:21:07 UTC (rev 1229) @@ -1574,20 +1574,36 @@ if (tap) { tap->idcode = idcode; - if( tap->expected_id ){ - if( tap->idcode != tap->expected_id ){ - LOG_ERROR("ERROR: Tap: %s - Expected id: 0x%08x, Got: 0x%08x", + + if (tap->expected_ids_cnt > 0) { + /* Loop over the expected identification codes and test for a match */ + u8 ii; + for (ii = 0; ii < tap->expected_ids_cnt; ii++) { + if( tap->idcode == tap->expected_ids[ii] ){ + break; + } + } + + /* If none of the expected ids matched, log an error */ + if (ii == tap->expected_ids_cnt) { + LOG_ERROR("JTAG tap: %s got: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", tap->dotted_name, - tap->expected_id, - idcode ); - LOG_ERROR("ERROR: expected: mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x", - EXTRACT_MFG( tap->expected_id ), - EXTRACT_PART( tap->expected_id ), - EXTRACT_VER( tap->expected_id ) ); - LOG_ERROR("ERROR: got: mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x", + idcode, EXTRACT_MFG( tap->idcode ), EXTRACT_PART( tap->idcode ), EXTRACT_VER( tap->idcode ) ); + for (ii = 0; ii < tap->expected_ids_cnt; ii++) { + LOG_ERROR("JTAG tap: %s expected %hhu of %hhu: 0x%08x (mfg: 0x%3.3x, part: 0x%4.4x, ver: 0x%1.1x)", + tap->dotted_name, + ii + 1, + tap->expected_ids_cnt, + tap->expected_ids[ii], + EXTRACT_MFG( tap->expected_ids[ii] ), + EXTRACT_PART( tap->expected_ids[ii] ), + EXTRACT_VER( tap->expected_ids[ii] ) ); + } + + return ERROR_JTAG_INIT_FAILED; } else { LOG_INFO("JTAG Tap/device matched"); } @@ -1767,9 +1783,30 @@ pTap->enabled = 0; break; case NTAP_OPT_EXPECTED_ID: + { + u32 *new_expected_ids; + e = Jim_GetOpt_Wide( goi, &w ); - pTap->expected_id = w; + if( e != JIM_OK) { + Jim_SetResult_sprintf(goi->interp, "option: %s bad parameter", n->name); + return e; + } + + new_expected_ids = malloc(sizeof(u32) * (pTap->expected_ids_cnt + 1)); + if (new_expected_ids == NULL) { + Jim_SetResult_sprintf( goi->interp, "no memory"); + return JIM_ERR; + } + + memcpy(new_expected_ids, pTap->expected_ids, sizeof(u32) * pTap->expected_ids_cnt); + + new_expected_ids[pTap->expected_ids_cnt] = w; + + free(pTap->expected_ids); + pTap->expected_ids = new_expected_ids; + pTap->expected_ids_cnt++; break; + } case NTAP_OPT_IRLEN: case NTAP_OPT_IRMASK: case NTAP_OPT_IRCAPTURE: @@ -1809,6 +1846,7 @@ pTap->dotted_name); // fixme: Tell user what is missing :-( // no memory leaks pelase + free(((void *)(pTap->expected_ids))); free(((void *)(pTap->chip))); free(((void *)(pTap->tapname))); free(((void *)(pTap->dotted_name))); @@ -2270,21 +2308,28 @@ command_print(cmd_ctx, "---|--------------------|---------|------------|------------|------|------|------|---------"); while( tap ){ - u32 expected, expected_mask, cur_instr; + u32 expected, expected_mask, cur_instr, ii; expected = buf_get_u32(tap->expected, 0, tap->ir_length); expected_mask = buf_get_u32(tap->expected_mask, 0, tap->ir_length); cur_instr = buf_get_u32(tap->cur_instr, 0, tap->ir_length); + command_print(cmd_ctx, "%2d | %-18s | %c | 0x%08x | 0x%08x | 0x%02x | 0x%02x | 0x%02x | 0x%02x", tap->abs_chain_position, tap->dotted_name, tap->enabled ? 'Y' : 'n', tap->idcode, - tap->expected_id, + (tap->expected_ids_cnt > 0 ? tap->expected_ids[0] : 0), tap->ir_length, expected, expected_mask, cur_instr); + + for (ii = 1; ii < tap->expected_ids_cnt; ii++) { + command_print(cmd_ctx, " | | | | 0x%08x | | | | ", + tap->expected_ids[ii]); + } + tap = tap->next_tap; } Modified: trunk/src/jtag/jtag.h =================================================================== --- trunk/src/jtag/jtag.h 2008-12-11 23:36:51 UTC (rev 1228) +++ trunk/src/jtag/jtag.h 2008-12-12 00:21:07 UTC (rev 1229) @@ -179,7 +179,8 @@ u32 ir_capture_mask; u8 *expected_mask; /* Capture-IR expected mask */ u32 idcode; /* device identification code */ - u32 expected_id; + u32 *expected_ids; /* Array of expected identification codes */ + u8 expected_ids_cnt;/* Number of expected identification codes */ u8 *cur_instr; /* current instruction */ int bypass; /* bypass register selected */ jtag_tap_t *next_tap; |
From: ntfreak at B. <nt...@ma...> - 2008-12-12 00:36:53
|
Author: ntfreak Date: 2008-12-12 00:36:51 +0100 (Fri, 12 Dec 2008) New Revision: 1228 Modified: trunk/doc/openocd.texi Log: - incorrect url in last commit for usbjtag - added missing ft2232 option for interface axm0432_jtag Modified: trunk/doc/openocd.texi =================================================================== --- trunk/doc/openocd.texi 2008-12-11 23:22:16 UTC (rev 1227) +++ trunk/doc/openocd.texi 2008-12-11 23:36:51 UTC (rev 1228) @@ -286,7 +286,7 @@ @itemize @bullet @item @b{usbjtag} -@* Link @url{www.ixo.de/info/usb_jtag} +@* Link @url{http://www.hs-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html} @item @b{jtagkey} @* See: @url{http://www.amontec.com/jtagkey.shtml} @item @b{oocdlink} @@ -1179,6 +1179,8 @@ egnite Software turtelizer2 @item @b{oocdlink} OOCDLink +@item @b{axm0432_jtag} +Axiom AXM-0432 @end itemize @item @b{ft2232_vid_pid} <@var{vid}> <@var{pid}> |
From: ntfreak at B. <nt...@ma...> - 2008-12-12 00:22:17
|
Author: ntfreak Date: 2008-12-12 00:22:16 +0100 (Fri, 12 Dec 2008) New Revision: 1227 Modified: trunk/doc/openocd.texi trunk/src/jtag/ft2232.c Log: - added Axiom AXM-0432 to texi - updated missing jtag dongle url's in texi - reformat and remove whitespace from last commit Modified: trunk/doc/openocd.texi =================================================================== --- trunk/doc/openocd.texi 2008-12-11 19:03:17 UTC (rev 1226) +++ trunk/doc/openocd.texi 2008-12-11 23:22:16 UTC (rev 1227) @@ -286,7 +286,7 @@ @itemize @bullet @item @b{usbjtag} -@* Link Unknown [not easily verified] +@* Link @url{www.ixo.de/info/usb_jtag} @item @b{jtagkey} @* See: @url{http://www.amontec.com/jtagkey.shtml} @item @b{oocdlink} @@ -304,7 +304,9 @@ @item @b{comstick} @* Link: @url{http://www.hitex.com/index.php?id=383} @item @b{stm32stick} -@* Link Unknown [not easily verified] +@* Link @url{http://www.hitex.com/stm32-stick} +@item @b{axm0432_jtag} +@* Axiom AXM-0432 Link @url{http://www.axman.com} @end itemize @section USB JLINK based @@ -370,7 +372,7 @@ @* Unknown. @item @b{Lattice} -@* From Lattice Semiconductor [link unknown] +@* ispDownload from Lattice Semiconductor @url{http://www.latticesemi.com/lit/docs/devtools/dlcable.pdf} @item @b{flashlink} @* From ST Microsystems, link: Modified: trunk/src/jtag/ft2232.c =================================================================== --- trunk/src/jtag/ft2232.c 2008-12-11 19:03:17 UTC (rev 1226) +++ trunk/src/jtag/ft2232.c 2008-12-11 23:22:16 UTC (rev 1227) @@ -114,7 +114,6 @@ void stm32stick_reset(int trst, int srst); void axm0432_jtag_reset(int trst, int srst); - /* blink procedures for layouts that support a blinking led */ void olimex_jtag_blink(void); void turtle_jtag_blink(void); @@ -1049,7 +1048,6 @@ LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction); } - void axm0432_jtag_reset(int trst, int srst) { if (trst == 1) @@ -1062,25 +1060,22 @@ high_output |= nTRST; } - if (srst == 1) - { - high_output &= ~nSRST; - } - else if (srst == 0) - { - high_output |= nSRST; - } + if (srst == 1) + { + high_output &= ~nSRST; + } + else if (srst == 0) + { + high_output |= nSRST; + } - /* command "set data bits low byte" */ - BUFFER_ADD = 0x82; - BUFFER_ADD = high_output; - BUFFER_ADD = high_direction; - LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction); + /* command "set data bits low byte" */ + BUFFER_ADD = 0x82; + BUFFER_ADD = high_output; + BUFFER_ADD = high_direction; + LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction); } - - - void flyswatter_reset(int trst, int srst) { if (trst == 1) @@ -1414,15 +1409,13 @@ char *openex_string = NULL; u8 latency_timer; - LOG_DEBUG("'ft2232' interface using FTD2XX with '%s' layout (%4.4x:%4.4x)", - ft2232_layout, vid, pid); + LOG_DEBUG("'ft2232' interface using FTD2XX with '%s' layout (%4.4x:%4.4x)",ft2232_layout, vid, pid); #if IS_WIN32 == 0 /* Add non-standard Vid/Pid to the linux driver */ if ((status = FT_SetVIDPID(vid, pid)) != FT_OK) { - LOG_WARNING("couldn't add %4.4x:%4.4x", - vid, pid); + LOG_WARNING("couldn't add %4.4x:%4.4x", vid, pid); } #endif @@ -1455,8 +1448,7 @@ DWORD num_devices; if (more) { - LOG_WARNING("unable to open ftdi device (trying more): %lu", - status); + LOG_WARNING("unable to open ftdi device (trying more): %lu", status); *try_more = 1; return ERROR_JTAG_INIT_FAILED; } @@ -1758,13 +1750,10 @@ return ERROR_OK; } - int axm0432_jtag_init(void) { u8 buf[3]; - u8 buf_read[1]; u32 bytes_written; - u32 bytes_read; low_output = 0x08; low_direction = 0x2b; @@ -1781,7 +1770,6 @@ return ERROR_JTAG_INIT_FAILED; } - if (strcmp(layout->name, "axm0432_jtag") == 0) { nTRST = 0x08; @@ -1798,16 +1786,16 @@ high_output = 0x0; high_direction = 0x0c; - if (jtag_reset_config & RESET_TRST_OPEN_DRAIN) + if (jtag_reset_config & RESET_TRST_OPEN_DRAIN) { - LOG_ERROR("can't set nTRSTOE to push-pull on the Dicarlo jtag"); - } + LOG_ERROR("can't set nTRSTOE to push-pull on the Dicarlo jtag"); + } else { high_output |= nTRST; } - if (jtag_reset_config & RESET_SRST_PUSH_PULL) + if (jtag_reset_config & RESET_SRST_PUSH_PULL) { LOG_ERROR("can't set nSRST to push-pull on the Dicarlo jtag"); } @@ -1831,9 +1819,6 @@ return ERROR_OK; } - - - int jtagkey_init(void) { u8 buf[3]; @@ -2048,7 +2033,7 @@ } nSRST = 0x40; - + high_output = 0x00; high_direction = 0x0C; @@ -2091,7 +2076,7 @@ nTRSTnOE = 0x00; /* no output enable for nTRST */ nSRST = 0x02; nSRSTnOE = 0x00; /* no output enable for nSRST */ - + high_output = 0x03; high_direction = 0x03; @@ -2134,7 +2119,7 @@ nTRSTnOE = 0x00; /* no output enable for nTRST */ nSRST = 0x80; nSRSTnOE = 0x00; /* no output enable for nSRST */ - + high_output = 0x01; high_direction = 0x03; |
From: <kc...@ma...> - 2008-12-11 20:03:19
|
Author: kc8apf Date: 2008-12-11 20:03:17 +0100 (Thu, 11 Dec 2008) New Revision: 1226 Modified: trunk/src/jtag/ft2232.c Log: AXM0432 layout for FDTI provided by Alan Carvalho de Assis (Freescale) Modified: trunk/src/jtag/ft2232.c =================================================================== --- trunk/src/jtag/ft2232.c 2008-12-11 15:53:45 UTC (rev 1225) +++ trunk/src/jtag/ft2232.c 2008-12-11 19:03:17 UTC (rev 1226) @@ -102,6 +102,7 @@ int turtle_init(void); int comstick_init(void); int stm32stick_init(void); +int axm0432_jtag_init(void); /* reset procedures for supported layouts */ void usbjtag_reset(int trst, int srst); @@ -111,7 +112,9 @@ void turtle_reset(int trst, int srst); void comstick_reset(int trst, int srst); void stm32stick_reset(int trst, int srst); +void axm0432_jtag_reset(int trst, int srst); + /* blink procedures for layouts that support a blinking led */ void olimex_jtag_blink(void); void turtle_jtag_blink(void); @@ -129,6 +132,7 @@ {"turtelizer2", turtle_init, turtle_reset, turtle_jtag_blink}, {"comstick", comstick_init, comstick_reset, NULL}, {"stm32stick", stm32stick_init, stm32stick_reset, NULL}, + {"axm0432_jtag", axm0432_jtag_init, axm0432_jtag_reset, NULL}, {NULL, NULL, NULL}, }; @@ -1045,6 +1049,38 @@ LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction); } + +void axm0432_jtag_reset(int trst, int srst) +{ + if (trst == 1) + { + cur_state = TAP_TLR; + high_output &= ~nTRST; + } + else if (trst == 0) + { + high_output |= nTRST; + } + + if (srst == 1) + { + high_output &= ~nSRST; + } + else if (srst == 0) + { + high_output |= nSRST; + } + + /* command "set data bits low byte" */ + BUFFER_ADD = 0x82; + BUFFER_ADD = high_output; + BUFFER_ADD = high_direction; + LOG_DEBUG("trst: %i, srst: %i, high_output: 0x%2.2x, high_direction: 0x%2.2x", trst, srst, high_output, high_direction); +} + + + + void flyswatter_reset(int trst, int srst) { if (trst == 1) @@ -1722,6 +1758,82 @@ return ERROR_OK; } + +int axm0432_jtag_init(void) +{ + u8 buf[3]; + u8 buf_read[1]; + u32 bytes_written; + u32 bytes_read; + + low_output = 0x08; + low_direction = 0x2b; + + /* initialize low byte for jtag */ + buf[0] = 0x80; /* command "set data bits low byte" */ + buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ + buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ + LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); + + if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) + { + LOG_ERROR("couldn't initialize FT2232 with 'JTAGkey' layout"); + return ERROR_JTAG_INIT_FAILED; + } + + + if (strcmp(layout->name, "axm0432_jtag") == 0) + { + nTRST = 0x08; + nTRSTnOE = 0x0; /* No output enable for TRST*/ + nSRST = 0x04; + nSRSTnOE = 0x0; /* No output enable for SRST*/ + } + else + { + LOG_ERROR("BUG: axm0432_jtag_init called for non axm0432 layout"); + exit(-1); + } + + high_output = 0x0; + high_direction = 0x0c; + + if (jtag_reset_config & RESET_TRST_OPEN_DRAIN) + { + LOG_ERROR("can't set nTRSTOE to push-pull on the Dicarlo jtag"); + } + else + { + high_output |= nTRST; + } + + if (jtag_reset_config & RESET_SRST_PUSH_PULL) + { + LOG_ERROR("can't set nSRST to push-pull on the Dicarlo jtag"); + } + else + { + high_output |= nSRST; + } + + /* initialize high port */ + buf[0] = 0x82; /* command "set data bits high byte" */ + buf[1] = high_output; /* value */ + buf[2] = high_direction; /* all outputs (xRST and xRSTnOE) */ + LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); + + if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) + { + LOG_ERROR("couldn't initialize FT2232 with 'Dicarlo' layout"); + return ERROR_JTAG_INIT_FAILED; + } + + return ERROR_OK; +} + + + + int jtagkey_init(void) { u8 buf[3]; |
From: ntfreak at B. <nt...@ma...> - 2008-12-11 16:53:46
|
Author: ntfreak Date: 2008-12-11 16:53:45 +0100 (Thu, 11 Dec 2008) New Revision: 1225 Modified: trunk/doc/openocd.texi trunk/src/flash/flash.c Log: - typo with flash bank help command - typo with flash erase_sector in texi Modified: trunk/doc/openocd.texi =================================================================== --- trunk/doc/openocd.texi 2008-12-10 17:47:16 UTC (rev 1224) +++ trunk/doc/openocd.texi 2008-12-11 15:53:45 UTC (rev 1225) @@ -1950,7 +1950,7 @@ @cindex flash protect_check @*Check protection state of sectors in flash bank <num>. @option{flash erase_sector} using the same syntax. -@subsection fash erase_sector +@subsection flash erase_sector @b{flash erase_sector} <@var{num}> <@var{first}> <@var{last}> @cindex flash erase_sector @anchor{flash erase_sector} Modified: trunk/src/flash/flash.c =================================================================== --- trunk/src/flash/flash.c 2008-12-10 17:47:16 UTC (rev 1224) +++ trunk/src/flash/flash.c 2008-12-11 15:53:45 UTC (rev 1225) @@ -144,7 +144,7 @@ { flash_cmd = register_command(cmd_ctx, NULL, "flash", NULL, COMMAND_ANY, NULL); - register_command(cmd_ctx, flash_cmd, "bank", handle_flash_bank_command, COMMAND_CONFIG, "flash_bank <driver> <base> <size> <chip_width> <bus_width> <target> [driver_options ...]"); + register_command(cmd_ctx, flash_cmd, "bank", handle_flash_bank_command, COMMAND_CONFIG, "flash bank <driver> <base> <size> <chip_width> <bus_width> <target> [driver_options ...]"); return ERROR_OK; } |
From: ntfreak at B. <nt...@ma...> - 2008-12-10 18:47:49
|
Author: ntfreak Date: 2008-12-10 18:47:16 +0100 (Wed, 10 Dec 2008) New Revision: 1224 Modified: trunk/src/helper/command.c Log: - fix illegal memory access in unregister_command function Modified: trunk/src/helper/command.c =================================================================== --- trunk/src/helper/command.c 2008-12-10 11:44:45 UTC (rev 1223) +++ trunk/src/helper/command.c 2008-12-10 17:47:16 UTC (rev 1224) @@ -289,8 +289,10 @@ return ERROR_INVALID_ARGUMENTS; /* find command */ - for (c = context->commands; c; c = c->next) - { + c = context->commands; + + while(NULL != c) + { if (strcmp(name, c->name) == 0) { /* unlink command */ @@ -300,26 +302,32 @@ } else { + /* first element in command list */ context->commands = c->next; } - + /* unregister children */ - if (c->children) + while(NULL != c->children) { - for (c2 = c->children; c2; c2 = c2->next) - { - free(c2->name); - free(c2); - } + c2 = c->children; + c->children = c->children->next; + free(c2->name); + c2->name = NULL; + free(c2); + c2 = NULL; } - + /* delete command */ free(c->name); + c->name = NULL; free(c); + c = NULL; + return ERROR_OK; } - + /* remember the last command for unlinking */ p = c; + c = c->next; } return ERROR_OK; |
From: <du...@ma...> - 2008-12-10 12:44:57
|
Author: duane Date: 2008-12-10 12:44:45 +0100 (Wed, 10 Dec 2008) New Revision: 1223 Modified: trunk/src/target/target/imote2.cfg trunk/src/target/target/is5114.cfg trunk/src/target/target/samsung_s3c6410.cfg Log: More fixes thanks to Kees Jongenburger Modified: trunk/src/target/target/imote2.cfg =================================================================== --- trunk/src/target/target/imote2.cfg 2008-12-10 01:18:10 UTC (rev 1222) +++ trunk/src/target/target/imote2.cfg 2008-12-10 11:44:45 UTC (rev 1223) @@ -35,7 +35,7 @@ jtag newtap $_CHIPNAME cpu -irlen 7 -ircapture 0x1 -irmask 0x7f -expected-id $_CPUTAPID set _TARGETNAME [format "%s.cpu" $_CHIPNAME] -target create $_TARGETNAME xscale -endian $_ENDIAN -chain-position $_TARGETNAME -varient pxa27x +target create $_TARGETNAME xscale -endian $_ENDIAN -chain-position $_TARGETNAME -variant pxa27x $_TARGETNAME configure -work-area-virt 0x0x5c000000 -work-area-phys 0x0x5c000000 -work-area-size 0x10000 -work-area-backup 1 # maps to PXA internal RAM. If you are using a PXA255 # you must initialize SDRAM or leave this option off Modified: trunk/src/target/target/is5114.cfg =================================================================== --- trunk/src/target/target/is5114.cfg 2008-12-10 01:18:10 UTC (rev 1222) +++ trunk/src/target/target/is5114.cfg 2008-12-10 11:44:45 UTC (rev 1223) @@ -39,7 +39,7 @@ #arm946e-s and set _TARGETNAME [format "%s.cpu" $_CHIPNAME] -target create $_TARGETNAME arm966e -endian $_ENDIAN -chain-position $_TARGETNAME -varient arm966e +target create $_TARGETNAME arm966e -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm966e $_TARGETNAME configure -event reset-start { jtag_rclk 16 } $_TARGETNAME configure -event reset-init { Modified: trunk/src/target/target/samsung_s3c6410.cfg =================================================================== --- trunk/src/target/target/samsung_s3c6410.cfg 2008-12-10 01:18:10 UTC (rev 1222) +++ trunk/src/target/target/samsung_s3c6410.cfg 2008-12-10 11:44:45 UTC (rev 1223) @@ -23,14 +23,14 @@ set _BSTAPID $BSTAPID } else { # force an error till we get a good number - set _BSTAPID 0xffffffff + set _BSTAPID 0x2b900f0f } if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { # force an error till we get a good number - set _CPUTAPID 0xffffffff + set _CPUTAPID 0x07b76f0f } #jtag scan chain @@ -40,7 +40,7 @@ jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID set _TARGETNAME [format "%s.cpu" $_CHIPNAME] -target create $_TARGETNAME arm11 -endian $_ENDIAN -chain-position $_TARGETNAME -varient arm1176 +target create $_TARGETNAME arm11 -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm1176 jtag_nsrst_delay 500 jtag_ntrst_delay 500 |
From: <du...@ma...> - 2008-12-10 02:19:41
|
Author: duane Date: 2008-12-10 02:18:10 +0100 (Wed, 10 Dec 2008) New Revision: 1222 Added: trunk/src/target/target/samsung_s3c2410.cfg Removed: trunk/src/target/target/samsung_s2c2410.cfg Log: Fix from Kees Jongenburger (Part Duex) Deleted: trunk/src/target/target/samsung_s2c2410.cfg =================================================================== --- trunk/src/target/target/samsung_s2c2410.cfg 2008-12-10 01:15:27 UTC (rev 1221) +++ trunk/src/target/target/samsung_s2c2410.cfg 2008-12-10 01:18:10 UTC (rev 1222) @@ -1,35 +0,0 @@ -# Found on the 'TinCanTools' Hammer board. - -if { [info exists CHIPNAME] } { - set _CHIPNAME $CHIPNAME -} else { - set _CHIPNAME s3c2410 -} - -if { [info exists ENDIAN] } { - set _ENDIAN $ENDIAN -} else { - # This config file was defaulting to big endian.. - set _ENDIAN little -} - -if { [info exists CPUTAPID] } { - set _CPUTAPID $CPUTAPID -} else { - set _CPUTAPID 0xffffffff -} - -#use combined on interfaces or targets that cannot set TRST/SRST separately -reset_config trst_and_srst - -#jtag scan chain -jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID - -set _TARGETNAME [format "%s.cpu" $_CHIPNAME] -target create $_TARGETNAME arm920t -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm920t - -$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x30800000 -work-area-size 0x20000 -work-area-backup 0 - -# speed up memory downloads -arm7_9 fast_memory_access enable -arm7_9 dcc_downloads enable Copied: trunk/src/target/target/samsung_s3c2410.cfg (from rev 1220, trunk/src/target/target/samsung_s2c2410.cfg) Property changes on: trunk/src/target/target/samsung_s3c2410.cfg ___________________________________________________________________ Name: svn:mergeinfo + Name: svn:eol-style + native |
From: <du...@ma...> - 2008-12-10 02:17:09
|
Author: duane Date: 2008-12-10 02:15:27 +0100 (Wed, 10 Dec 2008) New Revision: 1221 Modified: trunk/src/target/board/hammer.cfg Log: Fix from Kees Jongenburger Modified: trunk/src/target/board/hammer.cfg =================================================================== --- trunk/src/target/board/hammer.cfg 2008-12-08 11:23:04 UTC (rev 1220) +++ trunk/src/target/board/hammer.cfg 2008-12-10 01:15:27 UTC (rev 1221) @@ -1,7 +1,7 @@ # Target Configuration for the TinCanTools S3C2410 Based Hammer Module # http://www.tincantools.com -source [target/samsung_s3c2410.cfg] +source [find target/samsung_s3c2410.cfg] $_TARGETNAME configure -event reset-init { # Reset Script for the TinCanTools S3C2410 Based Hammer Module |
From: <du...@ma...> - 2008-12-08 12:23:07
|
Author: duane Date: 2008-12-08 12:23:04 +0100 (Mon, 08 Dec 2008) New Revision: 1220 Modified: trunk/src/target/target/at91r40008.cfg trunk/src/target/target/at91sam9260.cfg trunk/src/target/target/at91sam9260minimal.cfg Log: Typos in config files found by Sergey Lapin Modified: trunk/src/target/target/at91r40008.cfg =================================================================== --- trunk/src/target/target/at91r40008.cfg 2008-12-06 13:13:02 UTC (rev 1219) +++ trunk/src/target/target/at91r40008.cfg 2008-12-08 11:23:04 UTC (rev 1220) @@ -29,7 +29,7 @@ #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID set _TARGETNAME [format "%s.cpu" $_CHIPNAME] -target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGENAME -variant arm7tdmi +target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi $_TARGETNAME configure -event gdb-flash-erase-start { Modified: trunk/src/target/target/at91sam9260.cfg =================================================================== --- trunk/src/target/target/at91sam9260.cfg 2008-12-06 13:13:02 UTC (rev 1219) +++ trunk/src/target/target/at91sam9260.cfg 2008-12-08 11:23:04 UTC (rev 1220) @@ -9,7 +9,7 @@ # Target configuration ###################### -$_TARGET_NAME configure -event reset-init { +$_TARGETNAME configure -event reset-init { # at reset chip runs at 32khz jtag_khz 8 mww 0xfffffd08 0xa5000501 # RSTC_MR : enable user reset Modified: trunk/src/target/target/at91sam9260minimal.cfg =================================================================== --- trunk/src/target/target/at91sam9260minimal.cfg 2008-12-06 13:13:02 UTC (rev 1219) +++ trunk/src/target/target/at91sam9260minimal.cfg 2008-12-08 11:23:04 UTC (rev 1220) @@ -18,7 +18,7 @@ set _CPUTAPID $CPUTAPID } else { # force an error till we get a good number - set _CPUTAPID 0xffffffff + set _CPUTAPID 0x0792603f } reset_config trst_and_srst @@ -37,6 +37,6 @@ target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs # Internal sram1 memory -$_TARGET_NAME configure -work-area-virt 0 -work-area-phys 0x00300000 -work-area-size 0x1000 -work-area-backup 1 +$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x00300000 -work-area-size 0x1000 -work-area-backup 1 |
From: <du...@ma...> - 2008-12-06 14:13:05
|
Author: duane Date: 2008-12-06 14:13:02 +0100 (Sat, 06 Dec 2008) New Revision: 1219 Modified: trunk/README Log: Test of commit email from duane Modified: trunk/README =================================================================== --- trunk/README 2008-12-06 10:48:46 UTC (rev 1218) +++ trunk/README 2008-12-06 13:13:02 UTC (rev 1219) @@ -1 +1,2 @@ openocd.texi is the authoritative source of OpenOCD documentation + |
From: ntfreak at B. <nt...@ma...> - 2008-12-06 11:48:50
|
Author: ntfreak Date: 2008-12-06 11:48:46 +0100 (Sat, 06 Dec 2008) New Revision: 1218 Modified: trunk/doc/openocd.texi Log: - update texi to describe str9xpec driver flow Modified: trunk/doc/openocd.texi =================================================================== --- trunk/doc/openocd.texi 2008-12-05 20:26:07 UTC (rev 1217) +++ trunk/doc/openocd.texi 2008-12-06 10:48:46 UTC (rev 1218) @@ -2080,7 +2080,7 @@ @option{enable_turbo} <@var{num>.} Only use this driver for locking/unlocking the device or configuring the option bytes. -Use the standard str9 driver for programming. +Use the standard str9 driver for programming. @xref{STR9 specific commands}. @subsubsection stellaris (LM3Sxxx) options @cindex stellaris (LM3Sxxx) options @@ -2140,6 +2140,7 @@ @subsection STR9 specific commands @cindex STR9 specific commands +@anchor{STR9 specific commands} These are flash specific commands when using the str9xpec driver. @itemize @bullet @item @b{str9xpec enable_turbo} <@var{num}> @@ -2164,6 +2165,43 @@ @*write str9 option bytes. @end itemize +Note: Before using the str9xpec driver here is some background info to help +you better understand how the drivers works. Openocd has two flash drivers for +the str9. +@enumerate +@item +Standard driver @option{str9x} programmed via the str9 core. Normally used for +flash programming as it is faster than the @option{str9xpec} driver. +@item +Direct programming @option{str9xpec} using the flash controller, this is +ISC compilant (IEEE 1532) tap connected in series with the str9 core. The str9 +core does not need to be running to program using this flash driver. Typical use +for this driver is locking/unlocking the target and programming the option bytes. +@end enumerate + +Before we run any cmds using the @option{str9xpec} driver we must first disable +the str9 core. This example assumes the @option{str9xpec} driver has been +configured for flash bank 0. +@example +# assert srst, we do not want core running +# while accessing str9xpec flash driver +jtag_reset 0 1 +# turn off target polling +poll off +# disable str9 core +str9xpec enable_turbo 0 +# read option bytes +str9xpec options_read 0 +# re-enable str9 core +str9xpec disable_turbo 0 +poll on +reset halt +@end example +The above example will read the str9 option bytes. +When performing a unlock remember that you will not be able to halt the str9 - it +has been locked. Halting the core is not required for the @option{str9xpec} driver +as mentioned above, just issue the cmds above manually or from a telnet prompt. + @subsection STR9 configuration @cindex STR9 configuration @itemize @bullet |