 cdclink̊Tv

   ucdclinkv́AOpenOCD iARMp̃I[v\[X JTAG-ICE fobOc[j
   gpł JTAGC^[tF[XiNP[uĵPłB

   L̂悤ȍ\pāAARM}CR̃fobOFLASH݂Ɏgpł܂B

   +-----------------+
   |                 |
   | Windowsp\R |   <=== GDB + OpenOCD + cdclink.dlli{\tgj
   |                 |
   +-----------------+
          ||
          || USBP[u
          ||
   +-----------------+
   | cdclink }CR|   <=== JTAGC^[tF[X(USB@\̏ȃ}CR)
   +-----------------+        iЉn[hEFAj
          ||
          || JTAG P[u
          ||
          vv
     +-------------+
     | ARM}CR |      <=== fobOΏۂ ^[QbgE}CR{[h
     +-------------+


 

   cdclinkWindowsp\ŔAVA|[g(USB-CDCNX)Ƃ
   F܂B
   
   OpenOCD̃hCo[ƂĂ̎@͊O DLL u(cdclink.dll)
   ƂŁA݂Ă܂B

   ecdclink}CR̃t@[EFA\[XJĂ܂̂ŁA
   OpenOCDƑgݍ킹 JTAGA_v^[ƎɎ삷邱Ƃ\łB


 

  openocd/openocd.exe ȉ̂悤ȃIvVtċN܂B

  D:> openocd.exe -f cdc_if.cfg -f stm32.cfg -f batch.cfg

  IvV '-f' Ŏw肷configt@C̏ڍׂ́Aȉ̒ʂł
  -----------------------------------------------------------------------------
  cdc_if.cfg  ucdclinkvC^[tF[X ̍\Lq̂łB
  stm32.cfg   ^[Qbg}CR(stm32)̍\Lq̂łB
  batch.cfg   openocd.exe N̐U镑iob`jLq̂łB
  -----------------------------------------------------------------------------



 openocd.exe̓Tv

  openocd.exe ̓R}hCNƁA(shutdown܂ł) TCP/IP 
  3333ԃ|[g4444ԃ|[g󂯎fobOT[o[Ƃē܂B

  ̏ԂŁAgdbAlocalhost:3333 ɐڑ邱ƂŁA^[Qbg}CR
  gdb̊Ԃ莝Ƃł܂B
  
  ܂Alocalhost:4444Ԃ telnetvgRŐڑ邱ƂŁAΘbIȑ
  iႦFLASH ROM݂̏ȂǁjsȂƂł܂B




 fBNg\

 openocd -+- \[X.
          |
          +--helper\   wb_[t@C.
          +--jtag\     wb_[t@C.
          +--jimtcl\   wb_[t@C.
          |
          +--openocd_patch\  openocd{̑쐬p̉_

 helper,jtag,jimtclfBNg̃wb_[t@C͎gpopenocd.exerh
 \[XƓ̂łB


 vO̍ărh@

   WindowsMinGW-gccRpCpmakeĂB
   makeƁAhidblast.dll 쐬܂B

   openocd.exe{̂ărh@́AȉURLQƂĂB

-http://hp.vector.co.jp/authors/VA000177/html/2010-09.html
   
   ̉\[Xopenocd_patch/ fBNgɒuĂ܂B

   oオ openocd.exe {̂́AhCo[ƂāAfBNgɑ݂
   cdclink.dll NɌĂяo܂B
   (cdclink.dll̓ǂݍ݂ɐꍇ́AdummyhCo[ƒu܂)
   (cdclink.dll݂Ȃ΁AdummyhCo[̂܂܂ɂȂ܂)

   openocd.exerh̃IvV͈ȉ̂悤ɍsȂ܂B
   libUSB-win32oRłft2232jlinkC^[tF[XȂǂgp\łB
   ------
   ./guess-rev.sh
   ./bootstrap
   ./configure --build=i686-pc-linux-gnu \
			--host=i586-mingw32msvc \
			--enable-maintainer-mode \
			--disable-werror \
			--enable-dummy \
			--enable-jlink \
			--enable-vsllink \
			--enable-usbprog \
			--enable-usb_blaster_libftdi \
			--enable-ft2232_libftdi	\



 openocd-nogdb-hacks.exe ɂ

   openocd.exe rh邳ɁAȉ̒`
   ----
   /* define for enabling armv7 gdb workarounds */
   #define ARMV7_GDB_HACKS
   ----

   RgAEĝpӂ܂B(openocd-nogdb-hacks.exe)

   Agp gdb  Insight ̃o[Wɂopenocd Ƃ̑
   ꍇ́Aopenocd.exe ̑ɁA̎st@CgpB



 CZX

   OpenOCD̔zzCZXɏ܂B


 W]

   cdclink.dll t@C(͂)ւ邾ŁAfoCXT|[g\ɂȂ܂B

   iƂATtiny2313gpJTAGA_v^[ȂǂT|[go\܂j

   cdclink.dll ̃Gg[|CǵA
      DLL_int get_if_spec(struct jtag_command **q);
   łBstruct jtag_command **qqɂ́Aopenocd{̂jtag_command_queueƂ
   O[oϐ̃AhXn܂B
   ߂ĺA(intɂȂĂ܂) hCo[Lq\̂̃AhXɂȂ܂B


