TwiceAsNice
2019-02-18
|
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>
#include "download_fx2.h"
Macros | |
#define | FX2_CPUCS_ADDR (0xE600) |
#define | FX2_INT_RAMSIZE (0x4000) |
#define | VENDORCMD_TIMEOUT (5000) |
#define | MAX_LINE_LENGTH (512) |
#define | MAX_BYTES_PER_LINE (256) |
#define | EEPROM_WRITE_SIZE (1024) |
#define | ROUND_UP(n, v) ((((n) + ((v) - 1)) / (v)) * (v)) |
#define | CHAR_TO_HEXVAL(c) ((((c) >= '0') && ((c) <= '9')) ? ((c) - '0') : ((((c) - 'A') & 0x0F) + 10)) |
#define | GET_HEX_BYTE(char_p) (((CHAR_TO_HEXVAL((char_p)[0])) << 4) | (CHAR_TO_HEXVAL((char_p)[1]))) |
#define | GET_HEX_WORD(char_p) |
#define | FX2_VENDAX_SIZE (sizeof (fx2_vendax) / (256 * sizeof(char))) |
Enumerations | |
enum | fx2_fw_tgt_p { FW_TARGET_NONE = 0, FW_TARGET_RAM, FW_TARGET_SM_I2C, FW_TARGET_LR_I2C } |
Functions | |
static int | fx2_reset (libusb_device_handle *h, int cpu_enable) |
static int | fx2_load_vendax (libusb_device_handle *h) |
int | fx2_ram_download (libusb_device_handle *h, char *filename, unsigned char extended, char *errmsg) |
Variables | |
static char | fx2_vendax [][256] |
#define CHAR_TO_HEXVAL | ( | c | ) | ((((c) >= '0') && ((c) <= '9')) ? ((c) - '0') : ((((c) - 'A') & 0x0F) + 10)) |
#define EEPROM_WRITE_SIZE (1024) |
#define FX2_CPUCS_ADDR (0xE600) |
#define FX2_INT_RAMSIZE (0x4000) |
#define FX2_VENDAX_SIZE (sizeof (fx2_vendax) / (256 * sizeof(char))) |
#define GET_HEX_BYTE | ( | char_p | ) | (((CHAR_TO_HEXVAL((char_p)[0])) << 4) | (CHAR_TO_HEXVAL((char_p)[1]))) |
#define GET_HEX_WORD | ( | char_p | ) |
#define MAX_BYTES_PER_LINE (256) |
#define MAX_LINE_LENGTH (512) |
#define VENDORCMD_TIMEOUT (5000) |
enum fx2_fw_tgt_p |
|
static |
int fx2_ram_download | ( | libusb_device_handle * | h, |
char * | filename, | ||
unsigned char | extended, | ||
char * | errmsg | ||
) |
|
static |
|
static |