Exemplo n.º 1
0
static int stk500generic_open(PROGRAMMER * pgm, char * port)
{
  stk500_initpgm(pgm);
  if (pgm->open(pgm, port) >= 0)
    {
      fprintf(stderr,
	      "%s: successfully opened stk500v1 device -- please use -c stk500v1\n",
	      progname);
      return 0;
    }

  pgm->close(pgm);

  stk500v2_initpgm(pgm);
  if (pgm->open(pgm, port) >= 0)
    {
      fprintf(stderr,
	      "%s: successfully opened stk500v2 device -- please use -c stk500v2\n",
	      progname);
      return 0;
    }

  fprintf(stderr,
	  "%s: cannot open either stk500v1 or stk500v2 programmer\n",
	  progname);
  return -1;
}
Exemplo n.º 2
0
static void stk500generic_setup(PROGRAMMER * pgm)
{
  /*
   * Only STK500v2 needs setup/teardown.
   */
  stk500v2_initpgm(pgm);
  pgm->setup(pgm);
}
Exemplo n.º 3
0
void wiring_initpgm(PROGRAMMER * pgm)
{
  /* The Wiring bootloader uses a near-complete STK500v2 protocol. */

  stk500v2_initpgm(pgm);

  strcpy(pgm->type, "Wiring");
  pgm->open           = wiring_open;
  pgm->close          = wiring_close;

  pgm->setup          = wiring_setup;
  pgm->teardown       = wiring_teardown;
  pgm->parseextparams = wiring_parseextparms;
}
Exemplo n.º 4
0
static void stk500generic_teardown(PROGRAMMER * pgm)
{
  stk500v2_initpgm(pgm);
  pgm->teardown(pgm);
}