![]() |
Prusa Slicer 2.6.0
|
#include "ac_cfg.h"#include <ctype.h>#include <limits.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <sys/time.h>#include <time.h>#include "avrdude.h"#include "libavrdude.h"#include "crc16.h"#include "jtag3.h"#include "jtag3_private.h"#include "usbdevs.h"
Include dependency graph for jtag3.c:Go to the source code of this file.
Classes | |
| struct | pdata |
Macros | |
| #define | PDATA(pgm) ((struct pdata *)(pgm->cookie)) |
| #define | PGM_FL_IS_DW (0x0001) |
| #define | PGM_FL_IS_PDI (0x0002) |
| #define | PGM_FL_IS_JTAG (0x0004) |
| #define | PGM_FL_IS_EDBG (0x0008) |
Functions | |
| static int | jtag3_open (PROGRAMMER *pgm, char *port) |
| static int | jtag3_edbg_prepare (PROGRAMMER *pgm) |
| static int | jtag3_edbg_signoff (PROGRAMMER *pgm) |
| static int | jtag3_edbg_send (PROGRAMMER *pgm, unsigned char *data, size_t len) |
| static int | jtag3_edbg_recv_frame (PROGRAMMER *pgm, unsigned char **msg) |
| static int | jtag3_initialize (PROGRAMMER *pgm, AVRPART *p) |
| static int | jtag3_chip_erase (PROGRAMMER *pgm, AVRPART *p) |
| static int | jtag3_read_byte (PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char *value) |
| static int | jtag3_write_byte (PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char data) |
| static int | jtag3_set_sck_period (PROGRAMMER *pgm, double v) |
| static void | jtag3_print_parms1 (PROGRAMMER *pgm, const char *p) |
| static int | jtag3_paged_write (PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes) |
| static unsigned char | jtag3_memtype (PROGRAMMER *pgm, AVRPART *p, unsigned long addr) |
| static unsigned int | jtag3_memaddr (PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned long addr) |
| void | jtag3_setup (PROGRAMMER *pgm) |
| void | jtag3_teardown (PROGRAMMER *pgm) |
| static unsigned long | b4_to_u32 (unsigned char *b) |
| static void | u32_to_b4 (unsigned char *b, unsigned long l) |
| static unsigned short | b2_to_u16 (unsigned char *b) |
| static void | u16_to_b2 (unsigned char *b, unsigned short l) |
| static void | jtag3_print_data (unsigned char *b, size_t s) |
| static void | jtag3_prmsg (PROGRAMMER *pgm, unsigned char *data, size_t len) |
| static void | jtag3_prevent (PROGRAMMER *pgm, unsigned char *data, size_t len) |
| int | jtag3_send (PROGRAMMER *pgm, unsigned char *data, size_t len) |
| static int | jtag3_drain (PROGRAMMER *pgm, int display) |
| static int | jtag3_recv_frame (PROGRAMMER *pgm, unsigned char **msg) |
| int | jtag3_recv (PROGRAMMER *pgm, unsigned char **msg) |
| int | jtag3_command (PROGRAMMER *pgm, unsigned char *cmd, unsigned int cmdlen, unsigned char **resp, const char *descr) |
| int | jtag3_getsync (PROGRAMMER *pgm, int mode) |
| static int | jtag3_chip_erase_dw (PROGRAMMER *pgm, AVRPART *p) |
| static int | jtag3_program_enable_dummy (PROGRAMMER *pgm, AVRPART *p) |
| static int | jtag3_program_enable (PROGRAMMER *pgm) |
| static int | jtag3_program_disable (PROGRAMMER *pgm) |
| static int | jtag3_set_sck_xmega_pdi (PROGRAMMER *pgm, unsigned char *clk) |
| static int | jtag3_set_sck_xmega_jtag (PROGRAMMER *pgm, unsigned char *clk) |
| static int | jtag3_set_sck_mega_jtag (PROGRAMMER *pgm, unsigned char *clk) |
| static void | jtag3_disable (PROGRAMMER *pgm) |
| static void | jtag3_enable (PROGRAMMER *pgm) |
| static int | jtag3_parseextparms (PROGRAMMER *pgm, LISTID extparms) |
| int | jtag3_open_common (PROGRAMMER *pgm, char *port) |
| static int | jtag3_open_dw (PROGRAMMER *pgm, char *port) |
| static int | jtag3_open_pdi (PROGRAMMER *pgm, char *port) |
| void | jtag3_close (PROGRAMMER *pgm) |
| static int | jtag3_page_erase (PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int addr) |
| static int | jtag3_paged_load (PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes) |
| int | jtag3_getparm (PROGRAMMER *pgm, unsigned char scope, unsigned char section, unsigned char parm, unsigned char *value, unsigned char length) |
| int | jtag3_setparm (PROGRAMMER *pgm, unsigned char scope, unsigned char section, unsigned char parm, unsigned char *value, unsigned char length) |
| static void | jtag3_display (PROGRAMMER *pgm, const char *p) |
| static void | jtag3_print_parms (PROGRAMMER *pgm) |
| void | jtag3_initpgm (PROGRAMMER *pgm) |
| void | jtag3_dw_initpgm (PROGRAMMER *pgm) |
| void | jtag3_pdi_initpgm (PROGRAMMER *pgm) |
Variables | |
| const char | jtag3_desc [] = "Atmel JTAGICE3" |
| const char | jtag3_dw_desc [] = "Atmel JTAGICE3 in debugWire mode" |
| const char | jtag3_pdi_desc [] = "Atmel JTAGICE3 in PDI mode" |
| #define PGM_FL_IS_DW (0x0001) |
| #define PGM_FL_IS_EDBG (0x0008) |
| #define PGM_FL_IS_JTAG (0x0004) |
| #define PGM_FL_IS_PDI (0x0002) |
|
static |
Referenced by jtag3_print_parms1().
Here is the caller graph for this function:
|
static |
Referenced by jtag3_prevent().
Here is the caller graph for this function:
|
static |
References CMD3_ERASE_MEMORY, free(), jtag3_command(), pgm, SCOPE_AVR, and XMEGA_ERASE_CHIP.
Referenced by jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), MSG_INFO, and progname.
Referenced by jtag3_dw_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:| void jtag3_close | ( | PROGRAMMER * | pgm | ) |
References avrdude_message(), CMD3_SIGN_OFF, programmer_t::fd, programmer_t::flag, free(), filedescriptor::ifd, jtag3_command(), jtag3_edbg_signoff(), MSG_NOTICE2, pgm, PGM_FL_IS_EDBG, progname, SCOPE_AVR, SCOPE_GENERAL, and serial_close.
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:| int jtag3_command | ( | PROGRAMMER * | pgm, |
| unsigned char * | cmd, | ||
| unsigned int | cmdlen, | ||
| unsigned char ** | resp, | ||
| const char * | descr | ||
| ) |
References avrdude_message(), cmd, free(), jtag3_prmsg(), jtag3_recv(), jtag3_send(), MSG_INFO, MSG_NOTICE2, pgm, progname, RSP3_OK, RSP3_STATUS_MASK, and verbose.
Referenced by jtag3_chip_erase(), jtag3_close(), jtag3_display(), jtag3_getparm(), jtag3_getsync(), jtag3_initialize(), jtag3_page_erase(), jtag3_paged_load(), jtag3_paged_write(), jtag3_program_disable(), jtag3_program_enable(), jtag3_read_byte(), jtag3_setparm(), and jtag3_write_byte().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References free(), jtag3_program_disable(), PDATA, pgm, and void().
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), cmd, CMD3_GET_INFO, CMD3_INFO_SERIAL, free(), jtag3_command(), jtag3_getparm(), jtag3_print_parms1(), MSG_INFO, PARM3_HW_VER, pgm, progname, RSP3_INFO, SCOPE_GENERAL, and SCOPE_INFO.
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References programmer_t::fd, pgm, and serial_drain.
Referenced by jtag3_open_common().
Here is the caller graph for this function:| void jtag3_dw_initpgm | ( | PROGRAMMER * | pgm | ) |
References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::flag, programmer_t::initialize, jtag3_chip_erase_dw(), jtag3_close(), jtag3_disable(), jtag3_display(), jtag3_enable(), jtag3_initialize(), jtag3_open_dw(), jtag3_paged_load(), jtag3_paged_write(), jtag3_print_parms(), jtag3_program_enable_dummy(), jtag3_read_byte(), jtag3_setup(), jtag3_teardown(), jtag3_write_byte(), programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, PGM_FL_IS_DW, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::setup, programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.
Here is the call graph for this function:
|
static |
References avrdude_message(), CMSISDAP_CMD_CONNECT, CMSISDAP_CMD_LED, CMSISDAP_CONN_SWD, CMSISDAP_LED_CONNECT, programmer_t::fd, MSG_DEBUG, MSG_INFO, MSG_NOTICE2, pgm, progname, serial_recv, serial_send, filedescriptor::usb, USBDEV_MAX_XFER_3, and verbose.
Referenced by jtag3_getsync().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), EDBG_VENDOR_AVR_RSP, programmer_t::fd, free(), malloc(), MSG_INFO, MSG_NOTICE2, MSG_TRACE, pgm, progname, serial_recv, serial_send, filedescriptor::usb, and USBDEV_MAX_XFER_3.
Referenced by jtag3_recv_frame().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), EDBG_VENDOR_AVR_CMD, programmer_t::fd, MSG_DEBUG, MSG_INFO, MSG_NOTICE2, PDATA, pgm, progname, serial_recv, serial_send, TOKEN, u16_to_b2(), filedescriptor::usb, USBDEV_MAX_XFER_3, and verbose.
Referenced by jtag3_send().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), CMSISDAP_CMD_DISCONNECT, CMSISDAP_CMD_LED, CMSISDAP_LED_CONNECT, programmer_t::fd, MSG_DEBUG, MSG_INFO, pgm, progname, serial_recv, serial_send, filedescriptor::usb, USBDEV_MAX_XFER_3, and verbose.
Referenced by jtag3_close().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the caller graph for this function:| int jtag3_getparm | ( | PROGRAMMER * | pgm, |
| unsigned char | scope, | ||
| unsigned char | section, | ||
| unsigned char | parm, | ||
| unsigned char * | value, | ||
| unsigned char | length | ||
| ) |
References avrdude_message(), CMD3_GET_PARAMETER, free(), jtag3_command(), MSG_INFO, MSG_NOTICE2, pgm, progname, and RSP3_DATA.
Referenced by jtag3_display(), jtag3_initialize(), and jtag3_print_parms1().
Here is the call graph for this function:
Here is the caller graph for this function:| int jtag3_getsync | ( | PROGRAMMER * | pgm, |
| int | mode | ||
| ) |
References avrdude_message(), CMD3_SIGN_ON, programmer_t::flag, free(), jtag3_command(), jtag3_edbg_prepare(), MSG_DEBUG, pgm, PGM_FL_IS_EDBG, progname, and SCOPE_GENERAL.
Referenced by jtag3_open(), jtag3_open_dw(), and jtag3_open_pdi().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References mega_device_desc::allow_full_page_bitstream, mega_device_desc::always_one, xmega_device_desc::app_size, avr_locate_mem(), avrdude_message(), AVRPART_ALLOWFULLPAGEBITSTREAM, AVRPART_HAS_DW, AVRPART_HAS_JTAG, AVRPART_HAS_PDI, programmer_t::bitclock, mega_device_desc::boot_address, xmega_device_desc::boot_size, cmd, CMD3_SIGN_ON, avrpart::desc, avrmem::desc, mega_device_desc::eearh_address, mega_device_desc::eearl_address, avrpart::eecr, mega_device_desc::eecr_address, mega_device_desc::eedr_address, mega_device_desc::eeprom_page_size, xmega_device_desc::eeprom_page_size, mega_device_desc::eeprom_size, xmega_device_desc::eeprom_size, programmer_t::fd, programmer_t::flag, avrpart::flags, mega_device_desc::flash_page_size, xmega_device_desc::flash_page_size, mega_device_desc::flash_size, free(), avrpart::idr, mega_device_desc::idr_address, jtag3_command(), jtag3_getparm(), jtag3_set_sck_mega_jtag(), jtag3_set_sck_xmega_jtag(), jtag3_set_sck_xmega_pdi(), jtag3_setparm(), ldata(), lfirst(), lnext(), long, malloc(), avrpart::mcu_base, xmega_device_desc::mcu_base_addr, avrpart::mem, MSG_INFO, MSG_NOTICE, MSG_NOTICE2, xmega_device_desc::nvm_app_offset, avrpart::nvm_base, xmega_device_desc::nvm_base_addr, xmega_device_desc::nvm_boot_offset, xmega_device_desc::nvm_data_offset, xmega_device_desc::nvm_eeprom_offset, xmega_device_desc::nvm_fuse_offset, xmega_device_desc::nvm_lock_offset, xmega_device_desc::nvm_prod_sig_offset, xmega_device_desc::nvm_user_sig_offset, mega_device_desc::ocd_revision, avrpart::ocdrev, avrmem::offset, ovsigck, avrmem::page_size, PARM3_ARCH, PARM3_ARCH_MEGA, PARM3_ARCH_TINY, PARM3_ARCH_XMEGA, PARM3_CONN_DW, PARM3_CONN_JTAG, PARM3_CONN_PDI, PARM3_CONNECTION, PARM3_DEVICEDESC, PARM3_FW_MAJOR, PARM3_JTAGCHAIN, PARM3_SESS_PROGRAMMING, PARM3_SESS_PURPOSE, PDATA, pgm, PGM_FL_IS_DW, PGM_FL_IS_EDBG, PGM_FL_IS_PDI, progname, avrmem::readsize, RSP3_DATA, SCOPE_AVR, SCOPE_GENERAL, avrmem::size, avrpart::spmcr, mega_device_desc::spmcr_address, u16_to_b2(), u32_to_b4(), filedescriptor::usb, and USBDEV_MAX_XFER_3.
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:| void jtag3_initpgm | ( | PROGRAMMER * | pgm | ) |
References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::flag, programmer_t::initialize, jtag3_chip_erase(), jtag3_close(), jtag3_disable(), jtag3_display(), jtag3_enable(), jtag3_initialize(), jtag3_open(), jtag3_page_erase(), jtag3_paged_load(), jtag3_paged_write(), jtag3_parseextparms(), jtag3_print_parms(), jtag3_program_enable_dummy(), jtag3_read_byte(), jtag3_set_sck_period(), jtag3_setup(), jtag3_teardown(), jtag3_write_byte(), programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, programmer_t::parseextparams, pgm, PGM_FL_IS_JTAG, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_sck_period, programmer_t::setup, programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.
Here is the call graph for this function:
|
static |
References AVRPART_HAS_PDI, avrpart::flags, PDATA, and pgm.
Referenced by jtag3_paged_load(), and jtag3_paged_write().
Here is the caller graph for this function:
|
static |
References AVRPART_HAS_PDI, avrpart::flags, MTYPE_BOOT_FLASH, MTYPE_FLASH, MTYPE_FLASH_PAGE, PDATA, and pgm.
Referenced by jtag3_page_erase(), jtag3_paged_load(), and jtag3_paged_write().
Here is the caller graph for this function:
|
static |
References avrdude_message(), jtag3_getsync(), jtag3_open_common(), MSG_NOTICE2, PARM3_CONN_JTAG, pgm, and progname.
Referenced by jtag3_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:| int jtag3_open_common | ( | PROGRAMMER * | pgm, |
| char * | port | ||
| ) |
References avrdude_message(), programmer_t::fd, programmer_t::flag, jtag3_drain(), ladd(), ldata(), lfirst(), lnext(), MSG_INFO, MSG_NOTICE, pgm, PGM_FL_IS_EDBG, PINFO_FL_SILENT, programmer_t::port, progname, serdev, serial_open, filedescriptor::usb, USB_DEVICE_JTAGICE3, usb_serdev_frame, USB_VENDOR_ATMEL, USBDEV_BULK_EP_READ_3, USBDEV_BULK_EP_WRITE_3, USBDEV_EVT_EP_READ_3, USBDEV_MAX_XFER_3, usbhid_serdev, pinfo::usbinfo, programmer_t::usbpid, and programmer_t::usbvid.
Referenced by jtag3_open(), jtag3_open_dw(), and jtag3_open_pdi().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), jtag3_getsync(), jtag3_open_common(), MSG_NOTICE2, PARM3_CONN_DW, pgm, and progname.
Referenced by jtag3_dw_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), jtag3_getsync(), jtag3_open_common(), MSG_NOTICE2, PARM3_CONN_PDI, pgm, and progname.
Referenced by jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), AVRPART_HAS_PDI, cmd, CMD3_ERASE_MEMORY, avrmem::desc, avrpart::flags, free(), jtag3_command(), jtag3_memtype(), jtag3_program_enable(), MSG_INFO, MSG_NOTICE2, MTYPE_FLASH, avrmem::offset, pgm, progname, SCOPE_AVR, u32_to_b4(), XMEGA_ERASE_APP_PAGE, XMEGA_ERASE_BOOT_PAGE, XMEGA_ERASE_EEPROM_PAGE, and XMEGA_ERASE_USERSIG.
Referenced by jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), AVRPART_HAS_PDI, avrmem::buf, cmd, CMD3_READ_MEMORY, avrmem::desc, programmer_t::flag, avrpart::flags, free(), jtag3_command(), jtag3_memaddr(), jtag3_memtype(), jtag3_program_enable(), MSG_DEBUG, MSG_INFO, MSG_NOTICE2, MTYPE_BOOT_FLASH, MTYPE_EEPROM, MTYPE_EEPROM_PAGE, MTYPE_FLASH, MTYPE_PRODSIG, MTYPE_SPM, MTYPE_USERSIG, pgm, PGM_FL_IS_DW, progname, avrmem::readsize, RSP3_DATA, SCOPE_AVR, serial_recv_timeout, and u32_to_b4().
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), AVRPART_HAS_PDI, avrmem::buf, cmd, CMD3_WRITE_MEMORY, avrmem::desc, programmer_t::flag, avrpart::flags, free(), jtag3_command(), jtag3_memaddr(), jtag3_memtype(), jtag3_program_enable(), jtag3_write_byte(), long, malloc(), MSG_DEBUG, MSG_INFO, MSG_NOTICE2, MTYPE_BOOT_FLASH, MTYPE_EEPROM_PAGE, MTYPE_EEPROM_XMEGA, MTYPE_FLASH, MTYPE_SPM, MTYPE_USERSIG, PDATA, pgm, PGM_FL_IS_DW, progname, SCOPE_AVR, serial_recv_timeout, and u32_to_b4().
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), jtag3_pdi_initpgm(), and jtag3_write_byte().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), ldata(), lfirst(), lnext(), MSG_INFO, MSG_NOTICE2, PDATA, pgm, progbuf, and progname.
Referenced by jtag3_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:| void jtag3_pdi_initpgm | ( | PROGRAMMER * | pgm | ) |
References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::flag, programmer_t::initialize, jtag3_chip_erase(), jtag3_close(), jtag3_disable(), jtag3_display(), jtag3_enable(), jtag3_initialize(), jtag3_open_pdi(), jtag3_page_erase(), jtag3_paged_load(), jtag3_paged_write(), jtag3_print_parms(), jtag3_program_enable_dummy(), jtag3_read_byte(), jtag3_set_sck_period(), jtag3_setup(), jtag3_teardown(), jtag3_write_byte(), programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, PGM_FL_IS_PDI, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_sck_period, programmer_t::setup, programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.
Here is the call graph for this function:
|
static |
References avrdude_message(), b4_to_u32(), EVT3_BREAK, EVT3_POWER, EVT3_SLEEP, MSG_INFO, MSG_TRACE, SCOPE_AVR, SCOPE_GENERAL, SCOPE_INFO, and verbose.
Referenced by jtag3_recv().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), and MSG_INFO.
Referenced by jtag3_prmsg().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References jtag3_print_parms1(), and pgm.
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), b2_to_u16(), jtag3_getparm(), MSG_INFO, PARM3_CLK_MEGA_DEBUG, PARM3_CLK_MEGA_PROG, PARM3_CLK_XMEGA_JTAG, PARM3_CLK_XMEGA_PDI, PARM3_VTARGET, pgm, SCOPE_AVR, and SCOPE_GENERAL.
Referenced by jtag3_display(), and jtag3_print_parms().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), jtag3_print_data(), MSG_INFO, MSG_TRACE, RSP3_DATA, RSP3_FAIL_DEBUGWIRE, RSP3_FAIL_NO_ANSWER, RSP3_FAIL_NO_TARGET_POWER, RSP3_FAIL_NOT_UNDERSTOOD, RSP3_FAIL_PDI, RSP3_FAIL_UNSUPP_MEMORY, RSP3_FAIL_WRONG_LENGTH, RSP3_FAIL_WRONG_MODE, RSP3_FAILED, RSP3_INFO, RSP3_OK, RSP3_PC, SCOPE_AVR, SCOPE_AVR_ISP, SCOPE_GENERAL, SCOPE_INFO, and verbose.
Referenced by jtag3_command().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References CMD3_LEAVE_PROGMODE, free(), jtag3_command(), PDATA, pgm, and SCOPE_AVR.
Referenced by jtag3_disable().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References CMD3_ENTER_PROGMODE, free(), jtag3_command(), PDATA, pgm, and SCOPE_AVR.
Referenced by jtag3_page_erase(), jtag3_paged_load(), jtag3_paged_write(), jtag3_read_byte(), and jtag3_write_byte().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the caller graph for this function:
|
static |
References avrdude_message(), AVRPART_HAS_PDI, cmd, CMD3_READ_MEMORY, avrmem::desc, programmer_t::flag, avrpart::flags, free(), jtag3_command(), jtag3_program_enable(), MSG_INFO, MSG_NOTICE2, MTYPE_EEPROM, MTYPE_EEPROM_PAGE, MTYPE_FLASH, MTYPE_FLASH_PAGE, MTYPE_FUSE_BITS, MTYPE_LOCK_BITS, MTYPE_OSCCAL_BYTE, MTYPE_PRODSIG, MTYPE_SIGN_JTAG, MTYPE_USERSIG, avrmem::offset, avrmem::page_size, PDATA, pgm, PGM_FL_IS_DW, progname, RSP3_DATA, SCOPE_AVR, and u32_to_b4().
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), jtag3_pdi_initpgm(), and jtag3_write_byte().
Here is the call graph for this function:
Here is the caller graph for this function:| int jtag3_recv | ( | PROGRAMMER * | pgm, |
| unsigned char ** | msg | ||
| ) |
References avrdude_message(), free(), jtag3_prevent(), jtag3_recv_frame(), MSG_DEBUG, MSG_NOTICE2, PDATA, pgm, progname, USB_RECV_FLAG_EVENT, USB_RECV_LENGTH_MASK, and verbose.
Referenced by jtag3_command().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), programmer_t::fd, programmer_t::flag, free(), jtag3_edbg_recv_frame(), malloc(), MSG_INFO, MSG_NOTICE2, MSG_TRACE, pgm, PGM_FL_IS_EDBG, progname, serial_recv, filedescriptor::usb, and verbose.
Referenced by jtag3_recv().
Here is the call graph for this function:
Here is the caller graph for this function:| int jtag3_send | ( | PROGRAMMER * | pgm, |
| unsigned char * | data, | ||
| size_t | len | ||
| ) |
References avrdude_message(), programmer_t::fd, programmer_t::flag, free(), jtag3_edbg_send(), malloc(), MSG_DEBUG, MSG_INFO, PDATA, pgm, PGM_FL_IS_EDBG, progname, serial_send, TOKEN, and u16_to_b2().
Referenced by jtag3_command().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References jtag3_setparm(), PARM3_CLK_MEGA_PROG, pgm, and SCOPE_AVR.
Referenced by jtag3_initialize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), MSG_INFO, PDATA, pgm, and progname.
Referenced by jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References jtag3_setparm(), PARM3_CLK_XMEGA_JTAG, pgm, and SCOPE_AVR.
Referenced by jtag3_initialize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References jtag3_setparm(), PARM3_CLK_XMEGA_PDI, pgm, and SCOPE_AVR.
Referenced by jtag3_initialize().
Here is the call graph for this function:
Here is the caller graph for this function:| int jtag3_setparm | ( | PROGRAMMER * | pgm, |
| unsigned char | scope, | ||
| unsigned char | section, | ||
| unsigned char | parm, | ||
| unsigned char * | value, | ||
| unsigned char | length | ||
| ) |
References avrdude_message(), CMD3_SET_PARAMETER, free(), jtag3_command(), malloc(), MSG_INFO, MSG_NOTICE2, pgm, and progname.
Referenced by jtag3_initialize(), jtag3_set_sck_mega_jtag(), jtag3_set_sck_xmega_jtag(), and jtag3_set_sck_xmega_pdi().
Here is the call graph for this function:
Here is the caller graph for this function:| void jtag3_setup | ( | PROGRAMMER * | pgm | ) |
References avrdude_message(), programmer_t::cookie, malloc(), MSG_INFO, pgm, and progname.
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:| void jtag3_teardown | ( | PROGRAMMER * | pgm | ) |
References programmer_t::cookie, free(), and pgm.
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References avrdude_message(), AVRPART_HAS_PDI, avrmem::buf, cmd, CMD3_WRITE_MEMORY, avrmem::desc, programmer_t::flag, avrpart::flags, free(), jtag3_command(), jtag3_paged_write(), jtag3_program_enable(), jtag3_read_byte(), long, MSG_NOTICE2, MTYPE_EEPROM, MTYPE_FLASH, MTYPE_FUSE_BITS, MTYPE_LOCK_BITS, MTYPE_OSCCAL_BYTE, MTYPE_PRODSIG, MTYPE_SIGN_JTAG, MTYPE_SPM, MTYPE_USERSIG, avrmem::offset, PDATA, pgm, PGM_FL_IS_DW, progname, SCOPE_AVR, and u32_to_b4().
Referenced by jtag3_dw_initpgm(), jtag3_initpgm(), jtag3_paged_write(), and jtag3_pdi_initpgm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Referenced by jtag3_edbg_send(), jtag3_initialize(), and jtag3_send().
Here is the caller graph for this function:Referenced by jtag3_initialize(), jtag3_page_erase(), jtag3_paged_load(), jtag3_paged_write(), jtag3_read_byte(), and jtag3_write_byte().
Here is the caller graph for this function:| const char jtag3_desc[] = "Atmel JTAGICE3" |
| const char jtag3_dw_desc[] = "Atmel JTAGICE3 in debugWire mode" |
| const char jtag3_pdi_desc[] = "Atmel JTAGICE3 in PDI mode" |