static enum aice_target_endian data_endian;
/* Constants for AICE command format length */
-static const int32_t AICE_FORMAT_HTDA = 3;
-static const int32_t AICE_FORMAT_HTDC = 7;
-static const int32_t AICE_FORMAT_HTDMA = 4;
-static const int32_t AICE_FORMAT_HTDMB = 8;
-static const int32_t AICE_FORMAT_HTDMC = 8;
-static const int32_t AICE_FORMAT_HTDMD = 12;
-static const int32_t AICE_FORMAT_DTHA = 6;
-static const int32_t AICE_FORMAT_DTHB = 2;
-static const int32_t AICE_FORMAT_DTHMA = 8;
-static const int32_t AICE_FORMAT_DTHMB = 4;
+#define AICE_FORMAT_HTDA (3)
+#define AICE_FORMAT_HTDC (7)
+#define AICE_FORMAT_HTDMA (4)
+#define AICE_FORMAT_HTDMB (8)
+#define AICE_FORMAT_HTDMC (8)
+#define AICE_FORMAT_HTDMD (12)
+#define AICE_FORMAT_DTHA (6)
+#define AICE_FORMAT_DTHB (2)
+#define AICE_FORMAT_DTHMA (8)
+#define AICE_FORMAT_DTHMB (4)
/* Constants for AICE command */
static const uint8_t AICE_CMD_SCAN_CHAIN = 0x00;
/* Read data from USB into in_buffer. */
static int aice_usb_read(uint8_t *in_buffer, int expected_size)
{
- int32_t result = usb_bulk_read_ex(aice_handler.usb_handle, aice_handler.usb_read_ep,
+ int result = usb_bulk_read_ex(aice_handler.usb_handle, aice_handler.usb_read_ep,
(char *)in_buffer, expected_size, AICE_USB_TIMEOUT);
- LOG_DEBUG_IO("aice_usb_read, result = %" PRId32, result);
+ LOG_DEBUG_IO("aice_usb_read, result = %d", result);
return result;
}
static int aice_scan_chain(uint32_t *id_codes, uint8_t *num_of_ids)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("SCAN_CHAIN, length: 0x0F");
/** TODO: modify receive length */
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHA);
if (AICE_FORMAT_DTHA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRIu32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHA, result);
return ERROR_FAIL;
}
int aice_read_ctrl(uint32_t address, uint32_t *data)
{
- int32_t result;
-
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
(AICE_COMMAND_MODE_BATCH == aice_command_mode))
aice_usb_packet_flush();
LOG_DEBUG("READ_CTRL, address: 0x%" PRIx32, address);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHA);
if (AICE_FORMAT_DTHA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRIu32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHA, result);
return ERROR_FAIL;
}
int aice_write_ctrl(uint32_t address, uint32_t data)
{
- int32_t result;
-
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
aice_usb_packet_flush();
} else if (AICE_COMMAND_MODE_BATCH == aice_command_mode) {
LOG_DEBUG("WRITE_CTRL, address: 0x%" PRIx32 ", data: 0x%" PRIx32, address, data);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHB);
if (AICE_FORMAT_DTHB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRIu32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHB, result);
return ERROR_FAIL;
}
int aice_read_dtr(uint8_t target_id, uint32_t *data)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("READ_DTR, COREID: %" PRIu8, target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
if (AICE_FORMAT_DTHMA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMA, result);
return ERROR_FAIL;
}
int aice_read_dtr_to_buffer(uint8_t target_id, uint32_t buffer_idx)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("READ_DTR_TO_BUFFER, COREID: %" PRIu8, target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")", AICE_FORMAT_DTHMB, result);
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)", AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_write_dtr(uint8_t target_id, uint32_t data)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("WRITE_DTR, COREID: %" PRIu8 ", data: 0x%" PRIx32, target_id, data);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")", AICE_FORMAT_DTHMB, result);
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)", AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_write_dtr_from_buffer(uint8_t target_id, uint32_t buffer_idx)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("WRITE_DTR_FROM_BUFFER, COREID: %" PRIu8 "", target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")", AICE_FORMAT_DTHMB, result);
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)", AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_read_misc(uint8_t target_id, uint32_t address, uint32_t *data)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("READ_MISC, COREID: %" PRIu8 ", address: 0x%" PRIx32, target_id, address);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
if (AICE_FORMAT_DTHMA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMA, result);
return ERROR_AICE_DISCONNECT;
}
int aice_write_misc(uint8_t target_id, uint32_t address, uint32_t data)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("WRITE_MISC, COREID: %" PRIu8 ", address: 0x%" PRIx32 ", data: 0x%" PRIx32,
target_id, address, data);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_read_edmsr(uint8_t target_id, uint32_t address, uint32_t *data)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("READ_EDMSR, COREID: %" PRIu8 ", address: 0x%" PRIx32, target_id, address);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
if (AICE_FORMAT_DTHMA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMA, result);
return ERROR_FAIL;
}
int aice_write_edmsr(uint8_t target_id, uint32_t address, uint32_t data)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("WRITE_EDMSR, COREID: %" PRIu8 ", address: 0x%" PRIx32 ", data: 0x%" PRIx32,
target_id, address, data);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
static int aice_write_dim(uint8_t target_id, uint32_t *word, uint8_t num_of_words)
{
- int32_t result;
uint32_t big_endian_word[4];
int retry_times = 0;
big_endian_word[2],
big_endian_word[3]);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")", AICE_FORMAT_DTHMB, result);
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)", AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
static int aice_do_execute(uint8_t target_id)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("EXECUTE, COREID: %" PRIu8 "", target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_write_mem_b(uint8_t target_id, uint32_t address, uint32_t data)
{
- int32_t result;
int retry_times = 0;
LOG_DEBUG("WRITE_MEM_B, COREID: %" PRIu8 ", ADDRESS %08" PRIx32 " VALUE %08" PRIx32,
address, data & 0x000000FF, data_endian);
aice_usb_write(usb_out_buffer, AICE_FORMAT_HTDMD);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32
- ", result=%" PRId32 ")", AICE_FORMAT_DTHMB, result);
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)", AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_write_mem_h(uint8_t target_id, uint32_t address, uint32_t data)
{
- int32_t result;
int retry_times = 0;
LOG_DEBUG("WRITE_MEM_H, COREID: %" PRIu8 ", ADDRESS %08" PRIx32 " VALUE %08" PRIx32,
(address >> 1) & 0x7FFFFFFF, data & 0x0000FFFF, data_endian);
aice_usb_write(usb_out_buffer, AICE_FORMAT_HTDMD);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_write_mem(uint8_t target_id, uint32_t address, uint32_t data)
{
- int32_t result;
int retry_times = 0;
LOG_DEBUG("WRITE_MEM, COREID: %" PRIu8 ", ADDRESS %08" PRIx32 " VALUE %08" PRIx32,
(address >> 2) & 0x3FFFFFFF, data, data_endian);
aice_usb_write(usb_out_buffer, AICE_FORMAT_HTDMD);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_fastread_mem(uint8_t target_id, uint8_t *word, uint32_t num_of_words)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("FASTREAD_MEM, COREID: %" PRIu8 ", # of DATA %08" PRIx32,
target_id, num_of_words);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA + (num_of_words - 1) * 4);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA + (num_of_words - 1) * 4);
if (result < 0) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%" PRIu32 ", result=%d)",
AICE_FORMAT_DTHMA + (num_of_words - 1) * 4, result);
return ERROR_FAIL;
}
int aice_fastwrite_mem(uint8_t target_id, const uint8_t *word, uint32_t num_of_words)
{
- int32_t result;
int retry_times = 0;
if (AICE_COMMAND_MODE_PACK == aice_command_mode) {
LOG_DEBUG("FASTWRITE_MEM, COREID: %" PRIu8 ", # of DATA %08" PRIx32,
target_id, num_of_words);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}
int aice_read_mem_b(uint8_t target_id, uint32_t address, uint32_t *data)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("READ_MEM_B, COREID: %" PRIu8 "", target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
if (AICE_FORMAT_DTHMA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMA, result);
return ERROR_FAIL;
}
int aice_read_mem_h(uint8_t target_id, uint32_t address, uint32_t *data)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("READ_MEM_H, CORE_ID: %" PRIu8 "", target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
if (AICE_FORMAT_DTHMA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMA, result);
return ERROR_FAIL;
}
int aice_read_mem(uint8_t target_id, uint32_t address, uint32_t *data)
{
- int32_t result;
int retry_times = 0;
if ((AICE_COMMAND_MODE_PACK == aice_command_mode) ||
LOG_DEBUG("READ_MEM, COREID: %" PRIu8 "", target_id);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA);
if (AICE_FORMAT_DTHMA != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMA, result);
return ERROR_FAIL;
}
int aice_batch_buffer_read(uint8_t buf_index, uint32_t *word, uint32_t num_of_words)
{
- int32_t result;
int retry_times = 0;
do {
LOG_DEBUG("BATCH_BUFFER_READ, # of DATA %08" PRIx32, num_of_words);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA + (num_of_words - 1) * 4);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMA + (num_of_words - 1) * 4);
if (result < 0) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%" PRIu32 ", result=%d)",
AICE_FORMAT_DTHMA + (num_of_words - 1) * 4, result);
return ERROR_FAIL;
}
int aice_batch_buffer_write(uint8_t buf_index, const uint8_t *word, uint32_t num_of_words)
{
- int32_t result;
int retry_times = 0;
if (num_of_words == 0)
LOG_DEBUG("BATCH_BUFFER_WRITE, # of DATA %08" PRIx32, num_of_words);
- result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
+ int result = aice_usb_read(usb_in_buffer, AICE_FORMAT_DTHMB);
if (AICE_FORMAT_DTHMB != result) {
- LOG_ERROR("aice_usb_read failed (requested=%" PRId32 ", result=%" PRId32 ")",
+ LOG_ERROR("aice_usb_read failed (requested=%d, result=%d)",
AICE_FORMAT_DTHMB, result);
return ERROR_FAIL;
}