From ce1a29725f8394f008812c3b3a8c60f03aaa08d1 Mon Sep 17 00:00:00 2001 From: oharboe Date: Wed, 28 Jan 2009 13:08:06 +0000 Subject: [PATCH] chain position is now required when creating a target git-svn-id: svn://svn.berlios.de/openocd/trunk@1363 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/target/Makefile.am | 3 +++ src/target/target.c | 9 +++++++++ src/target/test/syntax1.cfg | 29 +++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/target/test/syntax1.cfg diff --git a/src/target/Makefile.am b/src/target/Makefile.am index cf6982d499..a9c054d20c 100644 --- a/src/target/Makefile.am +++ b/src/target/Makefile.am @@ -29,4 +29,7 @@ nobase_dist_pkglib_DATA += $(wildcard $(srcdir)/interface/*.cfg) # Various preconfigured boards nobase_dist_pkglib_DATA += $(wildcard $(srcdir)/board/*.cfg) +# test files +nobase_dist_pkglib_DATA += $(wildcard $(srcdir)/test/*.cfg) + MAINTAINERCLEANFILES = Makefile.in diff --git a/src/target/target.c b/src/target/target.c index bafd98e9de..cc1d48a889 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -3341,6 +3341,8 @@ static int target_configure( Jim_GetOptInfo *goi, target_t *target ) break; } } /* while( goi->argc ) */ + + /* done - we return */ return JIM_OK; } @@ -3839,6 +3841,13 @@ static int target_create( Jim_GetOptInfo *goi ) /* Do the rest as "configure" options */ goi->isconfigure = 1; e = target_configure( goi, target); + + if (target->tap == NULL) + { + Jim_SetResultString( interp, "-chain-position required when creating target", -1); + e=JIM_ERR; + } + if( e != JIM_OK ){ free( target->type ); free( target ); diff --git a/src/target/test/syntax1.cfg b/src/target/test/syntax1.cfg new file mode 100644 index 0000000000..c312f6066f --- /dev/null +++ b/src/target/test/syntax1.cfg @@ -0,0 +1,29 @@ +jtag_nsrst_delay 200 +jtag_ntrst_delay 200 + +#use combined on interfaces or targets that can't set TRST/SRST separately +reset_config trst_and_srst srst_pulls_trst + +#LPCs need reset pulled while RTCK is low. 0 to activate JTAG, power-on reset is not enough +jtag_reset 1 1 +jtag_reset 0 0 + +#jtag scan chain +#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) +jtag newtap lpc2148 one -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x4f1f0f0f + +#target configuration +#daemon_startup reset + +set _TARGETNAME [format "%s.cpu" lpc2148] +target create lpc2148.cpu arm7tdmi -endian little -work-area-size 0x4000 -work-area-phys 0x40000000 -work-area-virt 0 -work-area-backup 0 + +$_TARGETNAME configure -event reset-init { +soft_reset_halt +mvb 0xE01FC040 0x01 +} + + + +flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 + -- 2.30.2