You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2016/06/17 23:39:30 UTC

[45/63] [abbrv] [partial] incubator-mynewt-site git commit: remove untarred files for openocd

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/svf2xsvf.py
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/svf2xsvf.py b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/svf2xsvf.py
deleted file mode 100755
index 113e0a6..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/svf2xsvf.py
+++ /dev/null
@@ -1,729 +0,0 @@
-#!/usr/bin/python3.0
-
-# Copyright 2008, SoftPLC Corporation  http://softplc.com
-# Dick Hollenbeck dick@softplc.com
-
-
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, you may find one here:
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# or you may search the http://www.gnu.org website for the version 2 license,
-# or you may write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-
-
-# A python program to convert an SVF file to an XSVF file.  There is an
-# option to include comments containing the source file line number from the origin
-# SVF file before each outputted XSVF statement.
-#
-# We deviate from the XSVF spec in that we introduce a new command called
-# XWAITSTATE which directly flows from the SVF RUNTEST command.  Unfortunately
-# XRUNSTATE was ill conceived and is not used here.  We also add support for the
-# three Lattice extensions to SVF: LCOUNT, LDELAY, and LSDR.  The xsvf file
-# generated from this program is suitable for use with the xsvf player in
-# OpenOCD with my modifications to xsvf.c.
-#
-# This program is written for python 3.0, and it is not easy to change this
-# back to 2.x.  You may find it easier to use python 3.x even if that means
-# building it.
-
-
-import re
-import sys
-import struct
-
-
-# There are both ---<Lexer>--- and ---<Parser>--- sections to this program
-
-
-if len( sys.argv ) < 3:
-    print("usage %s <svf_filename> <xsvf_filename>" % sys.argv[0])
-    exit(1)
-
-
-inputFilename = sys.argv[1]
-outputFilename = sys.argv[2]
-
-doCOMMENTs = True       # Save XCOMMENTs in the output xsvf file
-#doCOMMENTs = False       # Save XCOMMENTs in the output xsvf file
-
-# pick your file encoding
-file_encoding = 'ISO-8859-1'
-#file_encoding = 'utf-8'
-
-
-xrepeat = 0             # argument to XREPEAT, gives retry count for masked compares
-
-
-#-----< Lexer >---------------------------------------------------------------
-
-StateBin = (RESET,IDLE,
-    DRSELECT,DRCAPTURE,DRSHIFT,DREXIT1,DRPAUSE,DREXIT2,DRUPDATE,
-    IRSELECT,IRCAPTURE,IRSHIFT,IREXIT1,IRPAUSE,IREXIT2,IRUPDATE) = range(16)
-
-# Any integer index into this tuple will be equal to its corresponding StateBin value
-StateTxt = ("RESET","IDLE",
-    "DRSELECT","DRCAPTURE","DRSHIFT","DREXIT1","DRPAUSE","DREXIT2","DRUPDATE",
-    "IRSELECT","IRCAPTURE","IRSHIFT","IREXIT1","IRPAUSE","IREXIT2","IRUPDATE")
-
-
-(XCOMPLETE,XTDOMASK,XSIR,XSDR,XRUNTEST,hole0,hole1,XREPEAT,XSDRSIZE,XSDRTDO,
-    XSETSDRMASKS,XSDRINC,XSDRB,XSDRC,XSDRE,XSDRTDOB,XSDRTDOC,
-    XSDRTDOE,XSTATE,XENDIR,XENDDR,XSIR2,XCOMMENT,XWAIT,XWAITSTATE,
-    LCOUNT,LDELAY,LSDR,XTRST) = range(29)
-
-#Note: LCOUNT, LDELAY, and LSDR are Lattice extensions to SVF and provide a way to loop back
-# and check a completion status, essentially waiting on a part until it signals that it is done.
-# For example below: loop 25 times, each time through the loop do a LDELAY (same as a true RUNTEST)
-# and exit loop when LSDR compares match.
-"""
-LCOUNT	25;
-! Step to DRPAUSE give 5 clocks and wait for 1.00e+000 SEC.
-LDELAY	DRPAUSE	5 TCK	1.00E-003 SEC;
-! Test for the completed status. Match means pass.
-! Loop back to LDELAY line if not match and loop count less than 25.
-LSDR  1 TDI  (0)
-        TDO  (1);
-"""
-
-#XTRST is an opcode Xilinx seemed to have missed and it comes from the SVF TRST statement.
-
-LineNumber = 1
-
-def s_ident(scanner, token): return ("ident", token.upper(), LineNumber)
-
-def s_hex(scanner, token):
-    global LineNumber
-    LineNumber = LineNumber + token.count('\n')
-    token = ''.join(token.split())
-    return ("hex", token[1:-1], LineNumber)
-
-def s_int(scanner, token): return ("int", int(token), LineNumber)
-def s_float(scanner, token): return ("float", float(token), LineNumber)
-#def s_comment(scanner, token): return ("comment", token, LineNumber)
-def s_semicolon(scanner, token): return ("semi", token, LineNumber)
-
-def s_nl(scanner,token):
-    global LineNumber
-    LineNumber = LineNumber + 1
-    #print( 'LineNumber=', LineNumber, file=sys.stderr )
-    return None
-
-#2.00E-002
-
-scanner = re.Scanner([
-    (r"[a-zA-Z]\w*", s_ident),
-#    (r"[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?", s_float),
-    (r"[-+]?[0-9]+(([.][0-9eE+-]*)|([eE]+[-+]?[0-9]+))", s_float),
-    (r"\d+", s_int),
-    (r"\(([0-9a-fA-F]|\s)*\)", s_hex),
-    (r"(!|//).*$", None),
-    (r";", s_semicolon),
-    (r"\n",s_nl),
-    (r"\s*", None),
-    ],
-    re.MULTILINE
-    )
-
-# open the file using the given encoding
-file = open( sys.argv[1], encoding=file_encoding )
-
-# read all svf file input into string "input"
-input = file.read()
-
-file.close()
-
-# Lexer:
-# create a list of tuples containing (tokenType, tokenValue, LineNumber)
-tokens = scanner.scan( input )[0]
-
-input = None    # allow gc to reclaim memory holding file
-
-#for tokenType, tokenValue, ln in tokens: print( "line %d: %s" % (ln, tokenType), tokenValue )
-
-
-#-----<parser>-----------------------------------------------------------------
-
-tokVal = tokType = tokLn = None
-
-tup = iter( tokens )
-
-def nextTok():
-    """
-    Function to read the next token from tup into tokType, tokVal, tokLn (linenumber)
-    which are globals.
-    """
-    global tokType, tokVal, tokLn, tup
-    tokType, tokVal, tokLn = tup.__next__()
-
-
-class ParseError(Exception):
-    """A class to hold a parsing error message"""
-    def __init__(self, linenumber, token, message):
-        self.linenumber = linenumber
-        self.token = token
-        self.message = message
-    def __str__(self):
-        global inputFilename
-        return "Error in file \'%s\' at line %d near token %s\n %s" % (
-                   inputFilename, self.linenumber, repr(self.token), self.message)
-
-
-class MASKSET(object):
-    """
-    Class MASKSET holds a set of bit vectors, all of which are related, will all
-    have the same length, and are associated with one of the seven shiftOps:
-    HIR, HDR, TIR, TDR, SIR, SDR, LSDR. One of these holds a mask, smask, tdi, tdo, and a
-    size.
-    """
-    def __init__(self, name):
-        self.empty()
-        self.name = name
-
-    def empty(self):
-        self.mask = bytearray()
-        self.smask = bytearray()
-        self.tdi = bytearray()
-        self.tdo = bytearray()
-        self.size = 0
-
-    def syncLengths( self, sawTDI, sawTDO, sawMASK, sawSMASK, newSize ):
-        """
-        Set all the lengths equal in the event some of the masks were
-        not seen as part of the last change set.
-        """
-        if self.size == newSize:
-            return
-
-        if newSize == 0:
-            self.empty()
-            return
-
-        # If an SIR was given without a MASK(), then use a mask of all zeros.
-        # this is not consistent with the SVF spec, but it makes sense because
-        # it would be odd to be testing an instruction register read out of a
-        # tap without giving a mask for it.  Also, lattice seems to agree and is
-        # generating SVF files that comply with this philosophy.
-        if self.name == 'SIR' and not sawMASK:
-            self.mask = bytearray( newSize )
-
-        if newSize != len(self.mask):
-            self.mask = bytearray( newSize )
-            if self.name == 'SDR':  # leave mask for HIR,HDR,TIR,TDR,SIR zeros
-                for i in range( newSize ):
-                    self.mask[i] = 1
-
-        if newSize != len(self.tdo):
-            self.tdo = bytearray( newSize )
-
-        if newSize != len(self.tdi):
-            self.tdi = bytearray( newSize )
-
-        if newSize != len(self.smask):
-            self.smask = bytearray( newSize )
-
-        self.size = newSize
-#-----</MASKSET>-----
-
-
-def makeBitArray( hexString, bitCount ):
-    """
-    Converts a packed sequence of hex ascii characters into a bytearray where
-    each element in the array holds exactly one bit. Only "bitCount" bits are
-    scanned and these must be the least significant bits in the hex number. That
-    is, it is legal to have some unused bits in the must significant hex nibble
-    of the input "hexString". The string is scanned starting from the backend,
-    then just before returning we reverse the array. This way the append()
-    method can be used, which I assume is faster than an insert.
-    """
-    global tokLn
-    a = bytearray()
-    length = bitCount
-    hexString = list(hexString)
-    hexString.reverse()
-    #print(hexString)
-    for c in hexString:
-        if length <= 0:
-            break;
-        c = int(c, 16)
-        for mask in [1,2,4,8]:
-            if length <= 0:
-                break;
-            length = length - 1
-            a.append( (c & mask) != 0 )
-    if length > 0:
-        raise ParseError( tokLn, hexString, "Insufficient hex characters for given length of %d" % bitCount )
-    a.reverse()
-    #print(a)
-    return a
-
-
-def makeXSVFbytes( bitarray ):
-    """
-    Make a bytearray which is contains the XSVF bits which will be written
-    directly to disk.  The number of bytes needed is calculated from the size
-    of the argument bitarray.
-    """
-    bitCount = len(bitarray)
-    byteCount = (bitCount+7)//8
-    ba = bytearray( byteCount )
-    firstBit = (bitCount % 8) - 1
-    if firstBit == -1:
-        firstBit = 7
-    bitNdx = 0
-    for byteNdx in range(byteCount):
-        mask = 1<<firstBit
-        byte = 0
-        while mask:
-            if bitarray[bitNdx]:
-                byte |= mask;
-            mask = mask >> 1
-            bitNdx = bitNdx + 1
-        ba[byteNdx] = byte
-        firstBit = 7
-    return ba
-
-
-def writeComment( outputFile, shiftOp_linenum, shiftOp ):
-    """
-    Write an XCOMMENT record to outputFile
-    """
-    comment = "%s @%d\0" % (shiftOp, shiftOp_linenum)   # \0 is terminating nul
-    ba = bytearray(1)
-    ba[0] = XCOMMENT
-    ba += comment.encode()
-    outputFile.write( ba )
-
-
-def combineBitVectors( trailer, meat, header ):
-    """
-    Combine the 3 bit vectors comprizing a transmission.  Since the least
-    significant bits are sent first, the header is put onto the list last so
-    they are sent first from that least significant position.
-    """
-    ret = bytearray()
-    ret.extend( trailer )
-    ret.extend( meat )
-    ret.extend( header )
-    return ret
-
-
-def writeRUNTEST( outputFile, run_state, end_state, run_count, min_time, tokenTxt ):
-    """
-    Write the output for the SVF RUNTEST command.
-    run_count - the number of clocks
-    min_time - the number of seconds
-    tokenTxt - either RUNTEST or LDELAY
-    """
-    # convert from secs to usecs
-    min_time = int( min_time * 1000000)
-
-    # the SVF RUNTEST command does NOT map to the XSVF XRUNTEST command.  Check the SVF spec, then
-    # read the XSVF command.   They are not the same.  Use an XSVF XWAITSTATE to
-    # implement the required behavior of the SVF RUNTEST command.
-    if doCOMMENTs:
-        writeComment( output, tokLn, tokenTxt )
-
-    if tokenTxt == 'RUNTEST':
-        obuf = bytearray(11)
-        obuf[0] = XWAITSTATE
-        obuf[1] = run_state
-        obuf[2] = end_state
-        struct.pack_into(">i", obuf, 3, run_count )  # big endian 4 byte int to obuf
-        struct.pack_into(">i", obuf, 7, min_time )   # big endian 4 byte int to obuf
-        outputFile.write( obuf )
-    else:   # == 'LDELAY'
-        obuf = bytearray(10)
-        obuf[0] = LDELAY
-        obuf[1] = run_state
-        # LDELAY has no end_state
-        struct.pack_into(">i", obuf, 2, run_count )  # big endian 4 byte int to obuf
-        struct.pack_into(">i", obuf, 6, min_time )   # big endian 4 byte int to obuf
-        outputFile.write( obuf )
-
-
-output = open( outputFilename, mode='wb' )
-
-hir = MASKSET('HIR')
-hdr = MASKSET('HDR')
-tir = MASKSET('TIR')
-tdr = MASKSET('TDR')
-sir = MASKSET('SIR')
-sdr = MASKSET('SDR')
-
-
-expecting_eof = True
-
-
-# one of the commands that take the shiftParts after the length, the parse
-# template for all of these commands is identical
-shiftOps = ('SDR', 'SIR', 'LSDR', 'HDR', 'HIR', 'TDR', 'TIR')
-
-# the order must correspond to shiftOps, this holds the MASKSETS.  'LSDR' shares sdr with 'SDR'
-shiftSets = (sdr, sir, sdr, hdr, hir, tdr, tir )
-
-# what to expect as parameters to a shiftOp, i.e. after a SDR length or SIR length
-shiftParts = ('TDI', 'TDO', 'MASK', 'SMASK')
-
-# the set of legal states which can trail the RUNTEST command
-run_state_allowed = ('IRPAUSE', 'DRPAUSE', 'RESET', 'IDLE')
-
-enddr_state_allowed = ('DRPAUSE', 'IDLE')
-endir_state_allowed = ('IRPAUSE', 'IDLE')
-
-trst_mode_allowed = ('ON', 'OFF', 'Z', 'ABSENT')
-
-enddr_state = IDLE
-endir_state = IDLE
-
-frequency = 	1.00e+006 # HZ;
-
-# change detection for xsdrsize and xtdomask
-xsdrsize = -1           # the last one sent, send only on change
-xtdomask = bytearray()  # the last one sent, send only on change
-
-
-# we use a number of single byte writes for the XSVF command below
-cmdbuf = bytearray(1)
-
-
-# Save the XREPEAT setting into the file as first thing.
-obuf = bytearray(2)
-obuf[0] = XREPEAT
-obuf[1] = xrepeat
-output.write( obuf )
-
-
-try:
-    while 1:
-        expecting_eof = True
-        nextTok()
-        expecting_eof = False
-        # print( tokType, tokVal, tokLn )
-
-        if tokVal in shiftOps:
-            shiftOp_linenum = tokLn
-            shiftOp = tokVal
-
-            set = shiftSets[shiftOps.index(shiftOp)]
-
-            # set flags false, if we see one later, set that one true later
-            sawTDI = sawTDO = sawMASK = sawSMASK = False
-
-            nextTok()
-            if tokType != 'int':
-                raise ParseError( tokLn, tokVal, "Expecting 'int' giving %s length, got '%s'" % (shiftOp, tokType) )
-            length = tokVal
-
-            nextTok()
-
-            while tokVal != ';':
-                if tokVal not in shiftParts:
-                    raise ParseError( tokLn, tokVal, "Expecting TDI, TDO, MASK, SMASK, or ';'")
-                shiftPart = tokVal
-
-                nextTok()
-
-                if tokType != 'hex':
-                    raise ParseError( tokLn, tokVal, "Expecting hex bits" )
-                bits = makeBitArray( tokVal, length )
-
-                if shiftPart == 'TDI':
-                    sawTDI = True
-                    set.tdi = bits
-
-                elif shiftPart == 'TDO':
-                    sawTDO = True
-                    set.tdo = bits
-
-                elif shiftPart == 'MASK':
-                    sawMASK = True
-                    set.mask = bits
-
-                elif shiftPart == 'SMASK':
-                    sawSMASK = True
-                    set.smask = bits
-
-                nextTok()
-
-            set.syncLengths( sawTDI, sawTDO, sawMASK, sawSMASK, length )
-
-            # process all the gathered parameters and generate outputs here
-            if shiftOp == 'SIR':
-                if doCOMMENTs:
-                    writeComment( output, shiftOp_linenum, 'SIR' )
-
-                tdi = combineBitVectors( tir.tdi, sir.tdi, hir.tdi )
-                if len(tdi) > 255:
-                    obuf = bytearray(3)
-                    obuf[0] = XSIR2
-                    struct.pack_into( ">h", obuf, 1, len(tdi) )
-                else:
-                    obuf = bytearray(2)
-                    obuf[0] = XSIR
-                    obuf[1] = len(tdi)
-                output.write( obuf )
-                obuf = makeXSVFbytes( tdi )
-                output.write( obuf )
-
-            elif shiftOp == 'SDR':
-                if doCOMMENTs:
-                    writeComment( output, shiftOp_linenum, shiftOp )
-
-                if not sawTDO:
-                    # pass a zero filled bit vector for the sdr.mask
-                    mask = combineBitVectors( tdr.mask, bytearray(sdr.size), hdr.mask )
-                    tdi  = combineBitVectors( tdr.tdi,  sdr.tdi,  hdr.tdi )
-
-                    if xsdrsize != len(tdi):
-                        xsdrsize = len(tdi)
-                        cmdbuf[0] = XSDRSIZE
-                        output.write( cmdbuf )
-                        obuf = bytearray(4)
-                        struct.pack_into( ">i", obuf, 0, xsdrsize )  # big endian 4 byte int to obuf
-                        output.write( obuf )
-
-                    if xtdomask != mask:
-                        xtdomask = mask
-                        cmdbuf[0] = XTDOMASK
-                        output.write( cmdbuf )
-                        obuf = makeXSVFbytes( mask )
-                        output.write( obuf )
-
-                    cmdbuf[0] = XSDR
-                    output.write( cmdbuf )
-                    obuf = makeXSVFbytes( tdi )
-                    output.write( obuf )
-
-                else:
-                    mask = combineBitVectors( tdr.mask, sdr.mask, hdr.mask )
-                    tdi  = combineBitVectors( tdr.tdi,  sdr.tdi,  hdr.tdi )
-                    tdo  = combineBitVectors( tdr.tdo,  sdr.tdo,  hdr.tdo )
-
-                    if xsdrsize != len(tdi):
-                        xsdrsize = len(tdi)
-                        cmdbuf[0] = XSDRSIZE
-                        output.write( cmdbuf )
-                        obuf = bytearray(4)
-                        struct.pack_into(">i", obuf, 0, xsdrsize )  # big endian 4 byte int to obuf
-                        output.write( obuf )
-
-                    if xtdomask != mask:
-                        xtdomask = mask
-                        cmdbuf[0] = XTDOMASK
-                        output.write( cmdbuf )
-                        obuf = makeXSVFbytes( mask )
-                        output.write( obuf )
-
-                    cmdbuf[0] = XSDRTDO
-                    output.write( cmdbuf )
-                    obuf = makeXSVFbytes( tdi )
-                    output.write( obuf )
-                    obuf = makeXSVFbytes( tdo )
-                    output.write( obuf )
-                    #print( "len(tdo)=", len(tdo), "len(tdr.tdo)=", len(tdr.tdo), "len(sdr.tdo)=", len(sdr.tdo), "len(hdr.tdo)=", len(hdr.tdo) )
-
-            elif shiftOp == 'LSDR':
-                if doCOMMENTs:
-                    writeComment( output, shiftOp_linenum, shiftOp )
-
-                mask = combineBitVectors( tdr.mask, sdr.mask, hdr.mask )
-                tdi  = combineBitVectors( tdr.tdi,  sdr.tdi,  hdr.tdi )
-                tdo  = combineBitVectors( tdr.tdo,  sdr.tdo,  hdr.tdo )
-
-                if xsdrsize != len(tdi):
-                    xsdrsize = len(tdi)
-                    cmdbuf[0] = XSDRSIZE
-                    output.write( cmdbuf )
-                    obuf = bytearray(4)
-                    struct.pack_into(">i", obuf, 0, xsdrsize )  # big endian 4 byte int to obuf
-                    output.write( obuf )
-
-                if xtdomask != mask:
-                    xtdomask = mask
-                    cmdbuf[0] = XTDOMASK
-                    output.write( cmdbuf )
-                    obuf = makeXSVFbytes( mask )
-                    output.write( obuf )
-
-                cmdbuf[0] = LSDR
-                output.write( cmdbuf )
-                obuf = makeXSVFbytes( tdi )
-                output.write( obuf )
-                obuf = makeXSVFbytes( tdo )
-                output.write( obuf )
-                #print( "len(tdo)=", len(tdo), "len(tdr.tdo)=", len(tdr.tdo), "len(sdr.tdo)=", len(sdr.tdo), "len(hdr.tdo)=", len(hdr.tdo) )
-
-        elif tokVal == 'RUNTEST' or tokVal == 'LDELAY':
-            # e.g. from lattice tools:
-            # "RUNTEST	IDLE  	5 TCK	1.00E-003 SEC;"
-            saveTok = tokVal
-            nextTok()
-            min_time = 0
-            run_count = 0
-            max_time = 600  # ten minutes
-            if tokVal in run_state_allowed:
-                run_state = StateTxt.index(tokVal)
-                end_state = run_state  # bottom of page 17 of SVF spec
-                nextTok()
-            if tokType != 'int' and tokType != 'float':
-                raise ParseError( tokLn, tokVal, "Expecting 'int' or 'float' after RUNTEST [run_state]")
-            timeval = tokVal;
-            nextTok()
-            if tokVal != 'TCK' and tokVal != 'SEC' and tokVal != 'SCK':
-                raise ParseError( tokLn, tokVal, "Expecting 'TCK' or 'SEC' or 'SCK' after RUNTEST [run_state] (run_count|min_time)")
-            if tokVal == 'TCK' or tokVal == 'SCK':
-                run_count = int( timeval )
-            else:
-                min_time = timeval
-            nextTok()
-            if tokType == 'int' or tokType == 'float':
-                min_time = tokVal
-                nextTok()
-                if tokVal != 'SEC':
-                    raise ParseError( tokLn, tokVal, "Expecting 'SEC' after RUNTEST [run_state] run_count min_time")
-                nextTok()
-            if tokVal == 'MAXIMUM':
-                nextTok()
-                if tokType != 'int' and tokType != 'float':
-                    raise ParseError( tokLn, tokVal, "Expecting 'max_time' after RUNTEST [run_state] min_time SEC MAXIMUM")
-                max_time = tokVal
-                nextTok()
-                if tokVal != 'SEC':
-                    raise ParseError( tokLn, tokVal, "Expecting 'max_time' after RUNTEST [run_state] min_time SEC MAXIMUM max_time")
-                nextTok()
-            if tokVal == 'ENDSTATE':
-                nextTok()
-                if tokVal not in run_state_allowed:
-                    raise ParseError( tokLn, tokVal, "Expecting 'run_state' after RUNTEST .... ENDSTATE")
-                end_state = StateTxt.index(tokVal)
-                nextTok()
-            if tokVal != ';':
-                raise ParseError( tokLn, tokVal, "Expecting ';' after RUNTEST ....")
-            # print( "run_count=", run_count, "min_time=", min_time,
-                # "max_time=", max_time, "run_state=", State[run_state], "end_state=", State[end_state] )
-            writeRUNTEST( output, run_state, end_state, run_count, min_time, saveTok )
-
-        elif tokVal == 'LCOUNT':
-            nextTok()
-            if tokType != 'int':
-                raise ParseError( tokLn, tokVal, "Expecting integer 'count' after LCOUNT")
-            loopCount = tokVal
-            nextTok()
-            if tokVal != ';':
-                raise ParseError( tokLn, tokVal, "Expecting ';' after LCOUNT count")
-            if doCOMMENTs:
-                writeComment( output, tokLn, 'LCOUNT' )
-            obuf = bytearray(5)
-            obuf[0] = LCOUNT
-            struct.pack_into(">i", obuf, 1, loopCount )  # big endian 4 byte int to obuf
-            output.write( obuf )
-
-        elif tokVal == 'ENDDR':
-            nextTok()
-            if tokVal not in enddr_state_allowed:
-                raise ParseError( tokLn, tokVal, "Expecting 'stable_state' after ENDDR. (one of: DRPAUSE, IDLE)")
-            enddr_state = StateTxt.index(tokVal)
-            nextTok()
-            if tokVal != ';':
-                raise ParseError( tokLn, tokVal, "Expecting ';' after ENDDR stable_state")
-            if doCOMMENTs:
-                writeComment( output, tokLn, 'ENDDR' )
-            obuf = bytearray(2)
-            obuf[0] = XENDDR
-            # Page 10 of the March 1999 SVF spec shows that RESET is also allowed here.
-            # Yet the XSVF spec has no provision for that, and uses a non-standard, i.e.
-            # boolean argument to XENDDR which only handles two of the 3 intended states.
-            obuf[1] = 1 if enddr_state == DRPAUSE else 0
-            output.write( obuf )
-
-        elif tokVal == 'ENDIR':
-            nextTok()
-            if tokVal not in endir_state_allowed:
-                raise ParseError( tokLn, tokVal, "Expecting 'stable_state' after ENDIR. (one of: IRPAUSE, IDLE)")
-            endir_state = StateTxt.index(tokVal)
-            nextTok()
-            if tokVal != ';':
-                raise ParseError( tokLn, tokVal, "Expecting ';' after ENDIR stable_state")
-            if doCOMMENTs:
-                writeComment( output, tokLn, 'ENDIR' )
-            obuf = bytearray(2)
-            obuf[0] = XENDIR
-            # Page 10 of the March 1999 SVF spec shows that RESET is also allowed here.
-            # Yet the XSVF spec has no provision for that, and uses a non-standard, i.e.
-            # boolean argument to XENDDR which only handles two of the 3 intended states.
-            obuf[1] = 1 if endir_state == IRPAUSE else 0
-            output.write( obuf )
-
-        elif tokVal == 'STATE':
-            nextTok()
-            ln = tokLn
-            while tokVal != ';':
-                if tokVal not in StateTxt:
-                    raise ParseError( tokLn, tokVal, "Expecting 'stable_state' after STATE")
-                stable_state = StateTxt.index( tokVal )
-
-                if doCOMMENTs and ln != -1:
-                    writeComment( output, ln, 'STATE' )
-                    ln = -1     # save comment only once
-
-                obuf = bytearray(2)
-                obuf[0] = XSTATE
-                obuf[1] = stable_state
-                output.write( obuf )
-                nextTok()
-
-        elif tokVal == 'FREQUENCY':
-            nextTok()
-            if tokVal != ';':
-                if tokType != 'int' and tokType != 'float':
-                    raise ParseError( tokLn, tokVal, "Expecting 'cycles HZ' after FREQUENCY")
-                frequency = tokVal
-                nextTok()
-                if tokVal != 'HZ':
-                    raise ParseError( tokLn, tokVal, "Expecting 'HZ' after FREQUENCY cycles")
-                nextTok()
-                if tokVal != ';':
-                    raise ParseError( tokLn, tokVal, "Expecting ';' after FREQUENCY cycles HZ")
-
-        elif tokVal == 'TRST':
-            nextTok()
-            if tokVal not in trst_mode_allowed:
-                raise ParseError( tokLn, tokVal, "Expecting 'ON|OFF|Z|ABSENT' after TRST")
-            trst_mode = tokVal
-            nextTok()
-            if tokVal != ';':
-                raise ParseError( tokLn, tokVal, "Expecting ';' after TRST trst_mode")
-            if doCOMMENTs:
-                writeComment( output, tokLn, 'TRST %s' % trst_mode )
-            obuf = bytearray( 2 )
-            obuf[0] = XTRST
-            obuf[1] = trst_mode_allowed.index( trst_mode )  # use the index as the binary argument to XTRST opcode
-            output.write( obuf )
-
-        else:
-            raise ParseError( tokLn, tokVal, "Unknown token '%s'" % tokVal)
-
-except StopIteration:
-    if not expecting_eof:
-        print( "Unexpected End of File at line ", tokLn )
-
-except ParseError as pe:
-    print( "\n", pe )
-
-finally:
-    # print( "closing file" )
-    cmdbuf[0] = XCOMPLETE
-    output.write( cmdbuf )
-    output.close()
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/xsvfdump.py
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/xsvfdump.py b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/xsvfdump.py
deleted file mode 100755
index e65f8d5..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/contrib/xsvf_tools/xsvfdump.py
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/usr/bin/python3.0
-
-# Copyright 2008, SoftPLC Corporation  http://softplc.com
-# Dick Hollenbeck dick@softplc.com
-
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, you may find one here:
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# or you may search the http://www.gnu.org website for the version 2 license,
-# or you may write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-
-# Dump an Xilinx XSVF file to stdout
-
-# This program is written for python 3.0, and it is not easy to change this
-# back to 2.x.  You may find it easier to use python 3.x even if that means
-# building it.
-
-
-import sys
-import struct
-
-
-LABEL = "A script to dump an XSVF file to stdout"
-
-
-Xsdrsize = 0
-
-
-(XCOMPLETE,XTDOMASK,XSIR,XSDR,XRUNTEST,hole0,hole1,XREPEAT,XSDRSIZE,XSDRTDO,
-    XSETSDRMASKS,XSDRINC,XSDRB,XSDRC,XSDRE,XSDRTDOB,XSDRTDOC,
-    XSDRTDOE,XSTATE,XENDIR,XENDDR,XSIR2,XCOMMENT,XWAIT,XWAITSTATE,
-    LCOUNT,LDELAY,LSDR,XTRST) = range(29)
-
-
-(RESET,IDLE,
-    DRSELECT,DRCAPTURE,DRSHIFT,DREXIT1,DRPAUSE,DREXIT2,DRUPDATE,
-    IRSELECT,IRCAPTURE,IRSHIFT,IREXIT1,IRPAUSE,IREXIT2,IRUPDATE) = range(16)
-
-
-State = ("RESET","IDLE",
-    "DRSELECT","DRCAPTURE","DRSHIFT","DREXIT1","DRPAUSE","DREXIT2","DRUPDATE",
-    "IRSELECT","IRCAPTURE","IRSHIFT","IREXIT1","IRPAUSE","IREXIT2","IRUPDATE")
-
-
-trst_mode_allowed = ('ON', 'OFF', 'Z', 'ABSENT')
-
-
-Setsdrmasks = 0
-SetsdrmasksOnesCount = 0
-
-def ReadSDRMASKS( f, len ):
-    global Setsdrmasks, SetsdrmasksOnesCount
-    byteCount = (len+7)//8
-    Setsdrmasks = f.read( byteCount )
-    ls = []
-    SetsdrmasksOnesCount = 0
-    for b in Setsdrmasks:
-        ls.append( "%x" % ((b & 0xf0) >> 4) )
-        ls.append( "%x" % ( b & 0x0f ) )
-        for i in range(8):
-            if b & (1<<i):
-                SetsdrmasksOnesCount = SetsdrmasksOnesCount +1
-    return ''.join(ls)
-
-
-def bytes2hexString( f, len ):
-    byteCount = (len+7)//8
-    bytebuf = f.read( byteCount )
-    ls = []
-    for b in bytebuf:
-        ls.append( "%x" % ((b & 0xf0) >> 4) )
-        ls.append( "%x" % ( b & 0x0f ) )
-    return ''.join(ls)
-
-
-def ReadByte( f ):
-    """Read a byte from a file and return it as an int in least significant 8 bits"""
-    b = f.read(1)
-    if b:
-        return 0xff & b[0];
-    else:
-        return -1
-
-
-def ShowState( state ):
-    """return the given state int as a state string"""
-    #return "0x%02x" % state # comment this out to get textual state form
-    global State
-    if 0 <= state <= IRUPDATE:
-        return State[state]
-    else:
-        return "Unknown state 0x%02x" % state
-
-
-def ShowOpcode( op, f ):
-    """return the given byte as an opcode string"""
-    global Xsdrsize
-    if op == XCOMPLETE:
-        print("XCOMPLETE")
-
-    elif op == XTDOMASK:
-        buf = bytes2hexString( f, Xsdrsize )
-        print("XTDOMASK 0x%s" % buf)
-
-    elif op == XSIR:
-        len = ReadByte( f )
-        buf = bytes2hexString( f, len )
-        print("XSIR 0x%02X 0x%s" % (len, buf))
-
-    elif op == XSDR:
-        tdi = bytes2hexString( f, Xsdrsize )
-        print("XSDR 0x%s" % tdi)
-
-    elif op == XRUNTEST:
-        len = struct.unpack( '>i', f.read(4) )[0]
-        print("XRUNTEST 0x%08X" % len)
-
-    elif op == XREPEAT:
-        len = ReadByte( f )
-        print("XREPEAT 0x%02X" % len)
-
-    elif op == XSDRSIZE:
-        Xsdrsize = struct.unpack( '>i', f.read(4) )[0]
-        #print("XSDRSIZE 0x%08X" % Xsdrsize, file=sys.stderr )
-        print("XSDRSIZE 0x%08X %d" % (Xsdrsize, Xsdrsize) )
-
-    elif op == XSDRTDO:
-        tdi = bytes2hexString( f, Xsdrsize )
-        tdo = bytes2hexString( f, Xsdrsize )
-        print("XSDRTDO 0x%s 0x%s" % (tdi, tdo) )
-
-    elif op == XSETSDRMASKS:
-        addrmask = bytes2hexString( f, Xsdrsize )
-        datamask = ReadSDRMASKS( f, Xsdrsize )
-        print("XSETSDRMASKS 0x%s 0x%s" % (addrmask, datamask) )
-
-    elif op == XSDRINC:
-        startaddr = bytes2hexString( f, Xsdrsize )
-        len = ReadByte(f)
-        print("XSDRINC 0x%s 0x%02X" % (startaddr, len), end='' )
-        for numTimes in range(len):
-            data = bytes2hexString( f, SetsdrmasksOnesCount)
-            print(" 0x%s" % data )
-        print() # newline
-
-    elif op == XSDRB:
-        tdi = bytes2hexString( f, Xsdrsize )
-        print("XSDRB 0x%s" % tdi )
-
-    elif op == XSDRC:
-        tdi = bytes2hexString( f, Xsdrsize )
-        print("XSDRC 0x%s" % tdi )
-
-    elif op == XSDRE:
-        tdi = bytes2hexString( f, Xsdrsize )
-        print("XSDRE 0x%s" % tdi )
-
-    elif op == XSDRTDOB:
-        tdo = bytes2hexString( f, Xsdrsize )
-        print("XSDRTDOB 0x%s" % tdo )
-
-    elif op == XSDRTDOC:
-        tdi = bytes2hexString( f, Xsdrsize )
-        tdo = bytes2hexString( f, Xsdrsize )
-        print("XSDRTDOC 0x%s 0x%s" % (tdi, tdo) )
-
-    elif op == XSDRTDOE:
-        tdi = bytes2hexString( f, Xsdrsize )
-        tdo = bytes2hexString( f, Xsdrsize )
-        print("XSDRTDOE 0x%s 0x%s" % (tdi, tdo) )
-
-    elif op == XSTATE:
-        b = ReadByte(f)
-        print("XSTATE %s" % ShowState(b))
-
-    elif op == XENDIR:
-        b = ReadByte( f )
-        print("XENDIR %s" % 'IRPAUSE' if b==1 else 'IDLE')
-
-    elif op == XENDDR:
-        b = ReadByte( f )
-        print("XENDDR %s" % 'DRPAUSE' if b==1 else 'IDLE')
-
-    elif op == XSIR2:
-        len = struct.unpack( '>H', f.read(2) )[0]
-        buf = bytes2hexString( f, len )
-        print("XSIR2 0x%04X 0x%s" % (len, buf))
-
-    elif op == XCOMMENT:
-        cmt = []
-        while 1:
-            b = ReadByte(f)
-            if b == 0:          # terminating nul
-                break;
-            cmt.append( chr(b) )
-        print("XCOMMENT \"%s\"" % ''.join(cmt)  )
-
-    elif op == XWAIT:
-        run_state = ReadByte(f)
-        end_state = ReadByte(f)
-        useconds  = struct.unpack( '>i', f.read(4) )[0]
-        print("XWAIT %s %s" % (ShowState(run_state), ShowState(end_state)), useconds)
-
-    elif op == XWAITSTATE:
-        run_state = ReadByte(f)
-        end_state = ReadByte(f)
-        clocks    = struct.unpack( '>i', f.read(4) )[0]
-        useconds  = struct.unpack( '>i', f.read(4) )[0]
-        print("XWAITSTATE %s %s CLOCKS=%d USECS=%d" % (ShowState(run_state), ShowState(end_state), clocks, useconds) )
-
-    elif op == LCOUNT:
-        loop_count = struct.unpack( '>i', f.read(4) )[0]
-        print("LCOUNT", loop_count )
-
-    elif op == LDELAY:
-        run_state = ReadByte(f)
-        clocks    = struct.unpack( '>i', f.read(4) )[0]
-        useconds  = struct.unpack( '>i', f.read(4) )[0]
-        print("LDELAY %s CLOCKS=%d USECS=%d" % (ShowState(run_state), clocks, useconds) )
-
-    elif op == LSDR:
-        tdi = bytes2hexString( f, Xsdrsize )
-        tdo = bytes2hexString( f, Xsdrsize )
-        print("LSDR 0x%s 0x%s" % (tdi, tdo) )
-
-    elif op == XTRST:
-        # the argument is a single byte and it is the index into "trst_mode_allowed"
-        trst_mode = ReadByte(f)
-        if trst_mode <= 3:
-            print("TRST %s" % trst_mode_allowed[trst_mode] )
-        else:
-            print("TRST 0x%02X" % trst_mode );
-
-    else:
-        print("UNKNOWN op 0x%02X %d" % (op, op))
-        exit(1)
-
-
-def main():
-
-    if len( sys.argv ) < 2:
-        print("usage %s <xsvf_filename>" % sys.argv[0])
-        exit(1)
-
-    f = open( sys.argv[1], 'rb' )
-
-    opcode = ReadByte( f )
-    while opcode != -1:
-        # print the position within the file, then the command
-        print( "%d: " % f.tell(), end='' )
-        ShowOpcode( opcode, f )
-        opcode = ReadByte(f)
-
-
-if __name__ == "__main__":
-    main()
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/INSTALL.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/INSTALL.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/INSTALL.txt
deleted file mode 100755
index c329be2..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/INSTALL.txt
+++ /dev/null
@@ -1,204 +0,0 @@
-TODO!!! this should be merged into openocd.texi!!!
-
-
-Prerequisites
-=============
-
-When building with support for FTDI FT2232 based devices, you need at least
-one of the following libraries:
-
-- libftdi (http://www.intra2net.com/opensource/ftdi/)
-- libftd2xx (http://www.ftdichip.com/Drivers/D2XX.htm)
-
-On Windows, you need either Cygwin or MinGW, but compilation for MinGW is also
-possible using a Cygwin host.
-
-Basic Installation
-==================
-
-   OpenOCD is distributed without autotools generated files, i.e. without a
-configure script. Run ./bootstrap in the openocd directory to have all
-necessary files generated.
-
-   You have to explicitly enable desired JTAG interfaces during configure:
-
-./configure --enable-parport --enable-ft2232-libftdi (OR  --enable-ft2232-ftd2xx) \
-            --enable-amtjtagaccel
-
-   Under Windows/Cygwin, only the ftd2xx driver is supported for FT2232 based
-devices. You have to specify the location of the FTDI driver package with the
---with-ftd2xx=/full/path/name option.
-
-Under Linux you can choose to build the parport driver with support for
-/dev/parportN instead of the default access with direct port I/O using
---enable-parport_ppdev. This has the advantage of running OpenOCD without root
-privileges at the expense of a slight performance decrease. This is also
-available on FreeBSD using PPI, but the naming of the devices is different.
-
-Generic installation instructions
-=================================
-
-   These are generic installation instructions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
-
-     Running `configure' takes a while.  While running, it prints some
-     messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Type `make install' to install the programs and any data files and
-     documentation.
-
-  4. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on.  Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
-     CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
-   If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
-
-`--help'
-     Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/Makefile.am
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/Makefile.am b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/Makefile.am
deleted file mode 100755
index 935c8f9..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-info_TEXINFOS = openocd.texi
-openocd_TEXINFOS = fdl.texi
-man_MANS = openocd.1
-EXTRA_DIST = openocd.1 \
-	manual \
-	INSTALL.txt
-
-MAINTAINERCLEANFILES = \
-	$(srcdir)/Makefile.in \
-	$(srcdir)/mdate-sh \
-	$(srcdir)/stamp-vti \
-	$(srcdir)/version.texi \
-	$(srcdir)/texinfo.tex

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/fdl.texi
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/fdl.texi b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/fdl.texi
deleted file mode 100755
index a18c33e..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/fdl.texi
+++ /dev/null
@@ -1,452 +0,0 @@
-@c -*-texinfo-*-
-@node License
-@appendix The GNU Free Documentation License.
-@center Version 1.2, November 2002
-
-@c This file is intended to be included within another document,
-@c hence no sectioning command or @node.
-
-@display
-Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@enumerate 0
-@item
-PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document @dfn{free} in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of ``copyleft'', which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-@item
-APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The ``Document'', below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as ``you''.  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A ``Modified Version'' of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A ``Secondary Section'' is a named appendix or a front-matter section
-of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject.  (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The ``Invariant Sections'' are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-The ``Cover Texts'' are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input
-format, @acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML},
-PostScript or @acronym{PDF} designed for human modification.  Examples
-of transparent image formats include @acronym{PNG}, @acronym{XCF} and
-@acronym{JPG}.  Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, @acronym{SGML} or
-@acronym{XML} for which the @acronym{DTD} and/or processing tools are
-not generally available, and the machine-generated @acronym{HTML},
-PostScript or @acronym{PDF} produced by some word processors for
-output purposes only.
-
-The ``Title Page'' means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, ``Title Page'' means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-A section ``Entitled XYZ'' means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as ``Acknowledgements'',
-``Dedications'', ``Endorsements'', or ``History''.)  To ``Preserve the Title''
-of such a section when you modify the Document means that it remains a
-section ``Entitled XYZ'' according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-@item
-VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-@item
-COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-@item
-MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-@enumerate A
-@item
-Use in the Title Page (and on the covers, if any) a title distinct
-from that of the Document, and from those of previous versions
-(which should, if there were any, be listed in the History section
-of the Document).  You may use the same title as a previous version
-if the original publisher of that version gives permission.
-
-@item
-List on the Title Page, as authors, one or more persons or entities
-responsible for authorship of the modifications in the Modified
-Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has fewer than five),
-unless they release you from this requirement.
-
-@item
-State on the Title page the name of the publisher of the
-Modified Version, as the publisher.
-
-@item
-Preserve all the copyright notices of the Document.
-
-@item
-Add an appropriate copyright notice for your modifications
-adjacent to the other copyright notices.
-
-@item
-Include, immediately after the copyright notices, a license notice
-giving the public permission to use the Modified Version under the
-terms of this License, in the form shown in the Addendum below.
-
-@item
-Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
-
-@item
-Include an unaltered copy of this License.
-
-@item
-Preserve the section Entitled ``History'', Preserve its Title, and add
-to it an item stating at least the title, year, new authors, and
-publisher of the Modified Version as given on the Title Page.  If
-there is no section Entitled ``History'' in the Document, create one
-stating the title, year, authors, and publisher of the Document as
-given on its Title Page, then add an item describing the Modified
-Version as stated in the previous sentence.
-
-@item
-Preserve the network location, if any, given in the Document for
-public access to a Transparent copy of the Document, and likewise
-the network locations given in the Document for previous versions
-it was based on.  These may be placed in the ``History'' section.
-You may omit a network location for a work that was published at
-least four years before the Document itself, or if the original
-publisher of the version it refers to gives permission.
-
-@item
-For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
-the Title of the section, and preserve in the section all the
-substance and tone of each of the contributor acknowledgements and/or
-dedications given therein.
-
-@item
-Preserve all the Invariant Sections of the Document,
-unaltered in their text and in their titles.  Section numbers
-or the equivalent are not considered part of the section titles.
-
-@item
-Delete any section Entitled ``Endorsements''.  Such a section
-may not be included in the Modified Version.
-
-@item
-Do not retitle any existing section to be Entitled ``Endorsements'' or
-to conflict in title with any Invariant Section.
-
-@item
-Preserve any Warranty Disclaimers.
-@end enumerate
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled ``Endorsements'', provided it contains
-nothing but endorsements of your Modified Version by various
-parties---for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-@item
-COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled ``History''
-in the various original documents, forming one section Entitled
-``History''; likewise combine any sections Entitled ``Acknowledgements'',
-and any sections Entitled ``Dedications''.  You must delete all
-sections Entitled ``Endorsements.''
-
-@item
-COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-@item
-AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an ``aggregate'' if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-@item
-TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled ``Acknowledgements'',
-``Dedications'', or ``History'', the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-@item
-TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-@uref{http://www.gnu.org/copyleft/}.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License ``or any later version'' applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-@end enumerate
-
-@unnumberedsec ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-@smallexample
-@group
-  Copyright (C)  @var{year}  @var{your name}.
-  Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.2
-  or any later version published by the Free Software Foundation;
-  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-  Texts.  A copy of the license is included in the section entitled ``GNU
-  Free Documentation License''.
-@end group
-@end smallexample
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with@dots{}Texts.'' line with this:
-
-@smallexample
-@group
-    with the Invariant Sections being @var{list their titles}, with
-    the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
-    being @var{list}.
-@end group
-@end smallexample
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
-@c Local Variables:
-@c ispell-local-pdict: "ispell-dict"
-@c End:
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/app.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/app.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/app.txt
deleted file mode 100755
index 989e6e6..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/app.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-/** @page appdocs OpenOCD Application APIs
-
-The top-level APIs in the OpenOCD library allow applications to integrate
-all of the low-level functionality using a set of simple function calls.
-
-These function calls do not exist in a re-usable form, but
-contributions to create and document them will be welcome.
-
- */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/flash.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/flash.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/flash.txt
deleted file mode 100755
index a9f6c2a..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/flash.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-/** @page flashdocs OpenOCD Flash APIs
-
-OpenOCD provides its Flash APIs for developers to support different
-types of flash devices, some of which are built-in to target devices
-while others may be connected via standard memory interface (e.g. CFI,
-FMI, etc.).
-
-The Flash module provides the following APIs:
-
-  - @subpage flashcfi
-  - @subpage flashnand
-  - @subpage flashtarget
-
-This section needs to be expanded.
-
-*/
-
-
-/** @page flashcfi OpenOCD CFI Flash API
-
-This section needs to be expanded to describe OpenOCD's CFI Flash API.
-
-*/
-
-/** @page flashnand OpenOCD NAND Flash API
-
-This section needs to be expanded to describe OpenOCD's NAND Flash API.
-
-*/
-
-/** @page flashtarget OpenOCD Target Flash API
-
-This section needs to be expanded to describe OpenOCD's Target Flash API.
-
-*/

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/helper.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/helper.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/helper.txt
deleted file mode 100755
index 1b01b2e..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/helper.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-/** @page helperdocs OpenOCD Helper APIs
-
-OpenOCD uses several low-level APIs as the foundation for high-level APIs:
-
-  - @subpage helperporting
-  - @subpage helperjim
-  - @subpage helpercommand
-  - @subpage helperlogging
-  - @subpage helperbuffers
-
-This section needs to be expanded.
-
- */
-
-/** @page helperporting OpenOCD Types/Portability APIs
-
-This section needs to be expanded to describe OpenOCD's type and
-portability API.
-
- */
-
-/** @page helperjim OpenOCD Jim API
-
-The Jim API provides access to a small-footprint TCL implementation.
-
-Visit http://jim.tcl.tk/ for more information on Jim.
-
-This section needs to be expanded to describe OpenOCD's Jim API.
-
- */
-
-/** @page helpercommand OpenOCD Command API
-
-OpenOCD's command API allows modules to register callbacks that are then
-available to the scripting services.  It provides the mechanism for
-these commands to be dispatched to the module using a standard
-interface.  It provides macros for defining functions that use and
-extend this interface.
-
-@section helpercmdhandler Command Handlers
-
-Command handlers are functions with a particular signature, which can
-be extended by modules for passing additional parameters to helpers or
-another layer of handlers.
-
-@subsection helpercmdhandlerdef Defining and Calling Command Handlers
-
-These functions should be defined using the @c COMMAND_HANDLER macro.
-These methods must be defined as static, as their principal entry point
-should be the run_command dispatch mechanism.
-
-Command helper functions that require access to the full set of
-parameters should be defined using the @c COMMAND_HELPER.  These must be
-declared static by you, as sometimes you might want to share a helper
-among several files (e.g. @c s3c24xx_nand.h).
-
-Both types of routines must be called using the @c CALL_COMMAND_HANDLER macro.
-Calls using this macro to normal handlers require the name of the command
-handler (which can be a name or function pointer).  Calls to helpers and
-derived handlers must pass those extra parameters specified by their
-definitions; however, lexical capture is used for the core parameters.
-This dirty trick is being used as a stop-gap measure while the API is
-migrated to one that passes a pointer to a structure containing the
-same ingredients.  At that point, this macro will be removed and callers
-will be able to use direct invocations.
-
-Thus, the following macros can be used to define and call command
-handlers or helpers:
-
-- @c COMMAND_HANDLER - declare or define a command handler.
-- @c COMMAND_HELPER - declare or define a derived command handler or helper.
-- @c CALL_COMMAND_HANDLER - call a command handler/helper.
-
-@subsection helpercmdhandlermacros Command Handler Macros
-
-In addition, the following macros may be used in the context of
-command handlers and helpers:
-- @c CMD_CTX - the current @c command_context
-- @c CMD_NAME - invoked command name
-- @c CMD_ARGC - the number of command arguments
-- @c CMD_ARGV - array of command argument strings
-
-@section helpercmdregister Command Registration
-
-In order to use a command handler, it must be registered with the
-command subsystem.  All commands are registered with command_registration
-structures, specifying the name of the command, its handler, its allowed
-mode(s) of execution, and strings that provide usage and help text.
-A single handler may be registered using multiple names, but any name
-may have only one handler associated with it.
-
-The @c register_commands() and @c register_commands() functions provide
-registration, while the @c unregister_command() and
-@c unregister_all_commands() functions will remove existing commands.
-These may be called at any time, allowing the command set to change in
-response to system actions.
-
-@subsection helpercmdjim Jim Command Registration
-
-The command_registration structure provides support for registering
-native Jim command handlers (@c jim_handler) too.  For these handlers,
-the module can provide help and usage support; however, this mechanism
-allows Jim handlers to be called as sub-commands of other commands.
-These commands may be registered with a private data value (@c
-jim_handler_data) that will be available when called, as with low-level
-Jim command registration.
-
-A command may have a normal @c handler or a @c jim_handler, but not both.
-
-@subsection helpercmdregisterchains Command Chaining
-
-When using register_commands(), the array of commands may reference
-other arrays.  When the @c chain field is filled in a
-command_registration record, the commands on in the chained list will
-added in one of two places.  If the record defines a new command, then
-the chained commands are added under it; otherwise, the commands are
-added in the same context as the other commands in the array.
-
-@section helpercmdprimer Command Development Primer
-
-This @ref primercommand provides details about the @c hello module,
-showing how the pieces described on this page fit together.
-
- */
-
-/** @page helperlogging OpenOCD Logging API
-
-This section needs to be expanded to describe OpenOCD's Logging API.
-
- */
-
-/** @page helperbuffers OpenOCD Byte Buffer API
-
-This section needs to be expanded to describe OpenOCD's Byte Buffer API.
-
- */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/images/jtag-state-machine-large.png
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/images/jtag-state-machine-large.png b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/images/jtag-state-machine-large.png
deleted file mode 100755
index c91fcf4..0000000
Binary files a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/images/jtag-state-machine-large.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag.txt
deleted file mode 100755
index 8f0804c..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-/** @page jtagdocs JTAG APIs
-
-For new developers unfamiliar with the technology, @ref primerjtag provides
-a brief introduction to the IEEE JTAG interface.
-
-The OpenOCD JTAG library API covers several functional areas.  The jtag
-@b core communicates through the @b minidriver API with either its full
-@a driver implementation (src/jtag/jtag_driver.c) or a @a minidriver .
-Internally, the @b command API is used by the JTAG driver for managing
-asynchronous transactions.
-
-- @subpage jtagcore
-  - @b public API routines
-  - declared in @c src/jtag/jtag.h
-  - used by other modules
-
-- @subpage jtagtcl
-  - @b private TCL handling routines
-  - defined in @c src/jtag/tcl.c
-  - registers and handles Jim commands that configure and use the JTAG core
-
-- @subpage jtagcmd
-  - @b private command queue API
-  - declared in @c src/jtag/commands.h
-  - provides routines used internally by the full JTAG drivers.
-
-- @subpage jtagiface
-  - @b private interface driver API
-  - declared in @c src/jtag/interface.h
-  - used by the core, minidrivers, and the full interface device drivers.
-    - allows implementing new interface device drivers.
-    - includes the Cable/TAP API (commands starting with @c tap_)
-
-- @subpage jtagdriver
-  - @b private minidriver API
-  - declared in @c src/jtag/minidriver.h
-  - used @a only by the core and minidriver implementations:
-    - @c jtag_driver.c (in-tree OpenOCD drivers)
-    - @c zy1000/build/include/jtag_minidriver.h (ZY1000 minidriver)
-    - future implementations (on other embedded hosts)
-    - interface device drivers do @b not need this API.
-
- */
-
-/** @page jtagcore JTAG Core API
-
-This section needs to be expanded.
-
- */
-
-/** @page jtagtcl JTAG TCL API
-
-This section needs to be expanded.
-
- */
-
-/** @page jtagcmd JTAG Command API
-
-This section needs to be expanded.
-
- */
-
-/** @page jtagiface JTAG Interface API
-
-This section needs to be expanded.
-
- */
-
-/** @page jtagdriver JTAG Minidriver API
-
-This section needs to be expanded.
-
- */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag/drivers/remote_bitbang.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag/drivers/remote_bitbang.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag/drivers/remote_bitbang.txt
deleted file mode 100755
index 5a80047..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/jtag/drivers/remote_bitbang.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-/** @remote_bitbangpage OpenOCD Developer's Guide
-
-The remote_bitbang JTAG driver is used to drive JTAG from a remote process. The
-remote_bitbang driver communicates via TCP or UNIX sockets with some remote
-process using an ASCII encoding of the bitbang interface. The remote process
-presumably then drives the JTAG however it pleases. The remote process should
-act as a server, listening for connections from the openocd remote_bitbang
-driver.
-
-The remote bitbang driver is useful for debugging software running on
-processors which are being simulated.
-
-The bitbang interface consists of the following functions.
-
-blink on
-	Blink a light somewhere. The argument on is either 1 or 0.
-
-read
-	Sample the value of tdo.
-
-write tck tms tdi
-	Set the value of tck, tms, and tdi.
-
-reset trst srst
-	Set the value of trst, srst.
-
-An additional function, quit, is added to the remote_bitbang interface to
-indicate there will be no more requests and the connection with the remote
-driver should be closed.
-
-These five functions are encoded in ascii by assigning a single character to
-each possible request. The assignments are:
-
-	B - Blink on
-	b - Blink off
-	R - Read request
-	Q - Quit request
-	0 - Write 0 0 0
-	1 - Write 0 0 1
-	2 - Write 0 1 0
-	3 - Write 0 1 1
-	4 - Write 1 0 0
-	5 - Write 1 0 1
-	6 - Write 1 1 0
-	7 - Write 1 1 1
-	r - Reset 0 0
-	s - Reset 0 1
-	t - Reset 1 0
-	u - Reset 1 1
-
-The read response is encoded in ascii as either digit 0 or 1.
-
- */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/69f466b5/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/main.txt
----------------------------------------------------------------------
diff --git a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/main.txt b/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/main.txt
deleted file mode 100755
index c14096b..0000000
--- a/docs/os/tutorials/downloads/openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4/doc/manual/main.txt
+++ /dev/null
@@ -1,105 +0,0 @@
-/** @mainpage OpenOCD Developer's Guide
-
-Welcome to the OpenOCD Developer's Guide -- the developer's resource for
-learning about the internal architecture of the OpenOCD project. @par
-
-In addition, this document contains the tactical and strategic plans
-and processes that have been developed by and for the OpenOCD community.
-
-Developers that want to contribute to OpenOCD should read the following
-sections before starting work:
-
-- The List of @subpage thelist enumerates opportunities for improving or
-extending the OpenOCD platform.  If your ideas are on The List, you might
-check the mailing list archives to find the status of your feature (or bug).
-- The @subpage styleguide provides rules that developers should
-  follow when writing new code for OpenOCD.
-- The @subpage patchguide provides policies that developers should
-  follow when submitting patches to the project.
-- The @subpage bugs page contains the content of the BUGS file, which
-  provides instructions for submitting bug reports to the maintainers.
-- The @subpage releases page describes the project's release process.
-
-@ref primer provide introductory materials for new developers on various
-specific topics.
-
-Finally, the @ref oocd pages explain how the code has been organized
-into layers of APIs, providing an overview of how they fit together.
-These pages attempt to give developers a high-level perspective of the
-various code modules provided by OpenOCD.
-
- */
-
-/** @page primer OpenOCD Technical Primers
-
-This pages lists Technical Primers available for OpenOCD Developers.
-They seek to provide information to pull novices up the learning curves
-associated with the fundamental technologies used by OpenOCD.
-
-- @subpage primerdocs
-- @subpage primerautotools
-- @subpage primertcl
-- @subpage primerjtag
-
-The above documents should bridge any "ancillary" gaps in contributor
-knowledge, without having to learn the complete languages or technology.
-They should provide enough information for experienced developers to
-learn how to make "correct" changes when creating patches.
-
-Beyond the fundamentals, the following primers provide introductory
-tutorials for OpenOCD's sub-systems.  These complement the @ref oocd
-pages that provide more high-level perspective on related topics.
-
-- @subpage primercommand
-
-In all cases, these Primers should use idiomatic conventions that the
-community has agreed are the "right way of doing things".  In this
-respect, these documents typically assume some familiarity with the
-information contained in one or more @ref styleguide, or they will
-directly refer to specific style guides as supplemental reading.
-
-Contributions or suggestions for new Technical Primers are welcome.
-
- */
-
-/** @page oocd OpenOCD Architecture
-
-The OpenOCD library consists of several APIs that build together to
-provide the support functionality.  The following list shows how these
-modules are stacked in the current implementation (from bottom to top):
-
-- @subpage helperdocs
-  - @ref helperporting
-  - @ref helperjim
-  - @ref helpercommand
-  - @ref helperlogging
-- @subpage jtagdocs
-  - @ref jtagcore
-  - @ref jtagtcl
-  - @ref jtagcmd
-  - @ref jtagiface
-  - @ref jtagdriver
-- @subpage targetdocs
-  - @ref targetarm
-  - @ref targetnotarm
-  - @ref targetmips
-  - @ref targetregister
-  - @ref targetimage
-  - @ref targettrace
-- @subpage flashdocs
-  - @ref flashcfi
-  - @ref flashnand
-  - @ref flashtarget
-- @subpage serverdocs
-  - @ref servergdb
-  - @ref servertelnet
-  - @ref serverhttp
-- @subpage appdocs
-
-Obviously, there are some nuances to the stack that are not shown by
-this linear list of layers.
-
-The List of @ref thelist enumerates opportunities for improving or
-extending the OpenOCD platform.
-
- */