diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/dummy.c | 372 | ||||
-rwxr-xr-x | src/server/httpd/Stylizer.java | 228 | ||||
-rw-r--r-- | src/target/target/mega128.cfg | 84 |
3 files changed, 342 insertions, 342 deletions
diff --git a/src/jtag/dummy.c b/src/jtag/dummy.c index 49161a60..158a8d5f 100644 --- a/src/jtag/dummy.c +++ b/src/jtag/dummy.c @@ -1,186 +1,186 @@ -/***************************************************************************
- * Copyright (C) 2008 by Øyvind Harboe *
- * oyvind.harboe@zylin.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, write to the *
- * Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
- ***************************************************************************/
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "replacements.h"
-
-#include "jtag.h"
-#include "bitbang.h"
-
-
-/* my private tap controller state, which tracks state for calling code */
-static tap_state_t dummy_state = TAP_RESET;
-
-static int dummy_clock; /* edge detector */
-
-static int clock_count; /* count clocks in any stable state, only stable states */
-
-static u32 dummy_data;
-
-
-static int dummy_speed(int speed);
-static int dummy_register_commands(struct command_context_s *cmd_ctx);
-static int dummy_init(void);
-static int dummy_quit(void);
-static int dummy_khz(int khz, int *jtag_speed);
-static int dummy_speed_div(int speed, int *khz);
-
-
-/* The dummy driver is used to easily check the code path
- * where the target is unresponsive.
- */
-jtag_interface_t dummy_interface =
-{
- .name = "dummy",
-
- .execute_queue = bitbang_execute_queue,
-
- .speed = dummy_speed,
- .register_commands = dummy_register_commands,
- .khz = dummy_khz,
- .speed_div = dummy_speed_div,
-
- .init = dummy_init,
- .quit = dummy_quit,
-};
-
-static int dummy_read(void);
-static void dummy_write(int tck, int tms, int tdi);
-static void dummy_reset(int trst, int srst);
-static void dummy_led(int on);
-
-static bitbang_interface_t dummy_bitbang =
-{
- .read = dummy_read,
- .write = dummy_write,
- .reset = dummy_reset,
- .blink = dummy_led
-};
-
-static int dummy_read(void)
-{
- int data = 1 & dummy_data;
- dummy_data = (dummy_data >> 1) | (1<<31);
- return data;
-}
-
-
-static void dummy_write(int tck, int tms, int tdi)
-{
- /* TAP standard: "state transitions occur on rising edge of clock" */
- if( tck != dummy_clock )
- {
- if( tck )
- {
- tap_state_t old_state = dummy_state;
- dummy_state = tap_state_transition( old_state, tms );
-
- if( old_state != dummy_state )
- {
- if( clock_count )
- {
- LOG_DEBUG("dummy_tap: %d stable clocks", clock_count);
- clock_count = 0;
- }
-
- LOG_DEBUG("dummy_tap: %s", tap_state_name(dummy_state) );
-
-#if defined(DEBUG)
- if(dummy_state == TAP_DRCAPTURE)
- dummy_data = 0x01255043;
-#endif
- }
- else
- {
- /* this is a stable state clock edge, no change of state here,
- * simply increment clock_count for subsequent logging
- */
- ++clock_count;
- }
- }
- dummy_clock = tck;
- }
-}
-
-static void dummy_reset(int trst, int srst)
-{
- dummy_clock = 0;
-
- if (trst || (srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))
- dummy_state = TAP_RESET;
-
- LOG_DEBUG("reset to: %s", tap_state_name(dummy_state) );
-}
-
-static int dummy_khz(int khz, int *jtag_speed)
-{
- if (khz==0)
- {
- *jtag_speed=0;
- }
- else
- {
- *jtag_speed=64000/khz;
- }
- return ERROR_OK;
-}
-
-static int dummy_speed_div(int speed, int *khz)
-{
- if (speed==0)
- {
- *khz = 0;
- }
- else
- {
- *khz=64000/speed;
- }
-
- return ERROR_OK;
-}
-
-static int dummy_speed(int speed)
-{
- return ERROR_OK;
-}
-
-static int dummy_register_commands(struct command_context_s *cmd_ctx)
-{
- return ERROR_OK;
-}
-
-static int dummy_init(void)
-{
- bitbang_interface = &dummy_bitbang;
-
- return ERROR_OK;
-}
-
-static int dummy_quit(void)
-{
- return ERROR_OK;
-}
-
-static void dummy_led(int on)
-{
-}
-
+/*************************************************************************** + * Copyright (C) 2008 by Øyvind Harboe * + * oyvind.harboe@zylin.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, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "replacements.h" + +#include "jtag.h" +#include "bitbang.h" + + +/* my private tap controller state, which tracks state for calling code */ +static tap_state_t dummy_state = TAP_RESET; + +static int dummy_clock; /* edge detector */ + +static int clock_count; /* count clocks in any stable state, only stable states */ + +static u32 dummy_data; + + +static int dummy_speed(int speed); +static int dummy_register_commands(struct command_context_s *cmd_ctx); +static int dummy_init(void); +static int dummy_quit(void); +static int dummy_khz(int khz, int *jtag_speed); +static int dummy_speed_div(int speed, int *khz); + + +/* The dummy driver is used to easily check the code path + * where the target is unresponsive. + */ +jtag_interface_t dummy_interface = +{ + .name = "dummy", + + .execute_queue = bitbang_execute_queue, + + .speed = dummy_speed, + .register_commands = dummy_register_commands, + .khz = dummy_khz, + .speed_div = dummy_speed_div, + + .init = dummy_init, + .quit = dummy_quit, +}; + +static int dummy_read(void); +static void dummy_write(int tck, int tms, int tdi); +static void dummy_reset(int trst, int srst); +static void dummy_led(int on); + +static bitbang_interface_t dummy_bitbang = +{ + .read = dummy_read, + .write = dummy_write, + .reset = dummy_reset, + .blink = dummy_led +}; + +static int dummy_read(void) +{ + int data = 1 & dummy_data; + dummy_data = (dummy_data >> 1) | (1<<31); + return data; +} + + +static void dummy_write(int tck, int tms, int tdi) +{ + /* TAP standard: "state transitions occur on rising edge of clock" */ + if( tck != dummy_clock ) + { + if( tck ) + { + tap_state_t old_state = dummy_state; + dummy_state = tap_state_transition( old_state, tms ); + + if( old_state != dummy_state ) + { + if( clock_count ) + { + LOG_DEBUG("dummy_tap: %d stable clocks", clock_count); + clock_count = 0; + } + + LOG_DEBUG("dummy_tap: %s", tap_state_name(dummy_state) ); + +#if defined(DEBUG) + if(dummy_state == TAP_DRCAPTURE) + dummy_data = 0x01255043; +#endif + } + else + { + /* this is a stable state clock edge, no change of state here, + * simply increment clock_count for subsequent logging + */ + ++clock_count; + } + } + dummy_clock = tck; + } +} + +static void dummy_reset(int trst, int srst) +{ + dummy_clock = 0; + + if (trst || (srst && (jtag_reset_config & RESET_SRST_PULLS_TRST))) + dummy_state = TAP_RESET; + + LOG_DEBUG("reset to: %s", tap_state_name(dummy_state) ); +} + +static int dummy_khz(int khz, int *jtag_speed) +{ + if (khz==0) + { + *jtag_speed=0; + } + else + { + *jtag_speed=64000/khz; + } + return ERROR_OK; +} + +static int dummy_speed_div(int speed, int *khz) +{ + if (speed==0) + { + *khz = 0; + } + else + { + *khz=64000/speed; + } + + return ERROR_OK; +} + +static int dummy_speed(int speed) +{ + return ERROR_OK; +} + +static int dummy_register_commands(struct command_context_s *cmd_ctx) +{ + return ERROR_OK; +} + +static int dummy_init(void) +{ + bitbang_interface = &dummy_bitbang; + + return ERROR_OK; +} + +static int dummy_quit(void) +{ + return ERROR_OK; +} + +static void dummy_led(int on) +{ +} + diff --git a/src/server/httpd/Stylizer.java b/src/server/httpd/Stylizer.java index 3b8bee3e..721e84ca 100755 --- a/src/server/httpd/Stylizer.java +++ b/src/server/httpd/Stylizer.java @@ -1,114 +1,114 @@ -import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.xpath.XPathAPI;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/** used to generate .tcl files from */
-public class Stylizer
-{
- // Global value so it can be ref'd by the tree-adapter
- static Document document;
- public static void main(String argv[])
- {
- if (argv.length != 3)
- {
- System.err.println("Usage: java Stylizer stylesheet xmlfile outputdir");
- System.exit(1);
- }
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- try
- {
- System.err.println("Starting conversion...");
-
- File stylesheet = new File(argv[0]);
- File datafile = new File(argv[1]);
- DocumentBuilder builder = factory.newDocumentBuilder();
- document = builder.parse(datafile);
-
- NodeList list = XPathAPI.selectNodeList(document, "website/language/page");
-
- for (int i=0; i<list.getLength(); i++)
- {
- Node node=list.item(i);
-
- // Use a Transformer for output
- TransformerFactory tFactory = TransformerFactory.newInstance();
- StreamSource stylesource = new StreamSource(stylesheet);
- Transformer transformer = tFactory.newTransformer(stylesource);
-
- Node fileName = XPathAPI.selectSingleNode(node, "outfile/text()");
-
- System.err.println("Converting " + fileName.getNodeValue());
- DOMSource source = new DOMSource(document);
-
- OutputStream output=new FileOutputStream(new File(argv[2], fileName.getNodeValue()));
-
-
- try
- {
- StreamResult result = new StreamResult(output);
-
- transformer.setParameter("pagetogenerate", fileName.getNodeValue());
- transformer.transform(source, result);
- }
- finally
- {
- output.close();
- }
- }
- } catch (TransformerConfigurationException tce)
- {
- // Error generated by the parser
- System.out.println("\n** Transformer Factory error");
- System.out.println(" " + tce.getMessage());
- // Use the contained exception, if any
- Throwable x = tce;
- if (tce.getException() != null)
- x = tce.getException();
- x.printStackTrace();
- } catch (TransformerException te)
- {
- // Error generated by the parser
- System.out.println("\n** Transformation error");
- System.out.println(" " + te.getMessage());
- // Use the contained exception, if any
- Throwable x = te;
- if (te.getException() != null)
- x = te.getException();
- x.printStackTrace();
- } catch (SAXException sxe)
- {
- // Error generated by this application
- // (or a parser-initialization error)
- Exception x = sxe;
- if (sxe.getException() != null)
- x = sxe.getException();
- x.printStackTrace();
- } catch (ParserConfigurationException pce)
- {
- // Parser with specified options can't be built
- pce.printStackTrace();
- } catch (IOException ioe)
- {
- // I/O error
- ioe.printStackTrace();
- }
- } // main
-}
+import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; + +import org.apache.xpath.XPathAPI; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; + +/** used to generate .tcl files from */ +public class Stylizer +{ + // Global value so it can be ref'd by the tree-adapter + static Document document; + public static void main(String argv[]) + { + if (argv.length != 3) + { + System.err.println("Usage: java Stylizer stylesheet xmlfile outputdir"); + System.exit(1); + } + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + try + { + System.err.println("Starting conversion..."); + + File stylesheet = new File(argv[0]); + File datafile = new File(argv[1]); + DocumentBuilder builder = factory.newDocumentBuilder(); + document = builder.parse(datafile); + + NodeList list = XPathAPI.selectNodeList(document, "website/language/page"); + + for (int i=0; i<list.getLength(); i++) + { + Node node=list.item(i); + + // Use a Transformer for output + TransformerFactory tFactory = TransformerFactory.newInstance(); + StreamSource stylesource = new StreamSource(stylesheet); + Transformer transformer = tFactory.newTransformer(stylesource); + + Node fileName = XPathAPI.selectSingleNode(node, "outfile/text()"); + + System.err.println("Converting " + fileName.getNodeValue()); + DOMSource source = new DOMSource(document); + + OutputStream output=new FileOutputStream(new File(argv[2], fileName.getNodeValue())); + + + try + { + StreamResult result = new StreamResult(output); + + transformer.setParameter("pagetogenerate", fileName.getNodeValue()); + transformer.transform(source, result); + } + finally + { + output.close(); + } + } + } catch (TransformerConfigurationException tce) + { + // Error generated by the parser + System.out.println("\n** Transformer Factory error"); + System.out.println(" " + tce.getMessage()); + // Use the contained exception, if any + Throwable x = tce; + if (tce.getException() != null) + x = tce.getException(); + x.printStackTrace(); + } catch (TransformerException te) + { + // Error generated by the parser + System.out.println("\n** Transformation error"); + System.out.println(" " + te.getMessage()); + // Use the contained exception, if any + Throwable x = te; + if (te.getException() != null) + x = te.getException(); + x.printStackTrace(); + } catch (SAXException sxe) + { + // Error generated by this application + // (or a parser-initialization error) + Exception x = sxe; + if (sxe.getException() != null) + x = sxe.getException(); + x.printStackTrace(); + } catch (ParserConfigurationException pce) + { + // Parser with specified options can't be built + pce.printStackTrace(); + } catch (IOException ioe) + { + // I/O error + ioe.printStackTrace(); + } + } // main +} diff --git a/src/target/target/mega128.cfg b/src/target/target/mega128.cfg index 978726d8..964542c9 100644 --- a/src/target/target/mega128.cfg +++ b/src/target/target/mega128.cfg @@ -1,42 +1,42 @@ -# for avr
-
- set _CHIPNAME avr
- set _ENDIAN little
-
-# jtag speed
-jtag_khz 4500
-
-reset_config srst_only
-jtag_nsrst_delay 100
-
-#jtag scan chain
-if { [info exists CPUTAPID ] } {
- set _CPUTAPID $CPUTAPID
-} else {
- set _CPUTAPID 0x8970203F
-}
-jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
-set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
-target create $_TARGETNAME avr -endian $_ENDIAN -chain-position $_TARGETNAME
-
-#$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0
-
-flash bank avr 0 0 0 0 0
-
-#to use it, script will be like:
-#init
-#jtag_khz 4500
-#reset init
-#verify_ircapture disable
-#
-#halt
-#wait halt
-#poll
-#avr mass_erase 0
-#flash write_image E:/Versaloon/Software/CAMERAPROTOCOLAGENT.hex
-#reset run
-#shutdown
-#
-# For more information about the configuration files, take a look at:
-# openocd.texi
+# for avr + + set _CHIPNAME avr + set _ENDIAN little + +# jtag speed +jtag_khz 4500 + +reset_config srst_only +jtag_nsrst_delay 100 + +#jtag scan chain +if { [info exists CPUTAPID ] } { + set _CPUTAPID $CPUTAPID +} else { + set _CPUTAPID 0x8970203F +} +jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID + +set _TARGETNAME [format "%s.cpu" $_CHIPNAME] +target create $_TARGETNAME avr -endian $_ENDIAN -chain-position $_TARGETNAME + +#$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0 + +flash bank avr 0 0 0 0 0 + +#to use it, script will be like: +#init +#jtag_khz 4500 +#reset init +#verify_ircapture disable +# +#halt +#wait halt +#poll +#avr mass_erase 0 +#flash write_image E:/Versaloon/Software/CAMERAPROTOCOLAGENT.hex +#reset run +#shutdown +# +# For more information about the configuration files, take a look at: +# openocd.texi |