Загрузка кода в ключ
Здравствуйте, когда пытаюсь записать код на ключ все время вылетает ошибка
Процессор: Intel(R) Core(TM) i7 CPU X 990 @ 3.47GHz
Материнская плата: Gigabyte Technology Co., Ltd. G1.Sniper
Операционная система: Microsoft Windows 7 Ultimate Edition Service Pack 1 (Build 7601) (X64)
Версия драйвера Guardant: 6.00.101
Версия комплекта разработчика: 6.00 (Релиз: 07.06.2012)
WinARM был скачен с: http://www.siwawi.arubi.uni_kl.de/avr_p … 060606.zip (guardant_code_old.pdf)
# ------------------------------------------------------------------------------
# Main Configuration
# ------------------------------------------------------------------------------
# If you modified this section, you must call "make template"!
# C-code entry point name:
CFG_ENTRYPOINT_NAME = main
# ROM configuration:
CFG_PROGRAM_ADDR = 0x00020000
CFG_PROGRAM_SIZE = 0x00008000
# RAM configuration:
CFG_RAM_ADDR = 0x40003000
CFG_RAM_SIZE = 0x00004FE0
# Input-output buffers configuration
# PC->KEY buffer name and size:
CFG_INPUT_BUFFER_NAME = iodata
CFG_INPUT_BUFFER_SIZE = 0x400
# KEY->PC buffer name and size:
CFG_OUTPUT_BUFFER_NAME = iodata
CFG_OUTPUT_BUFFER_SIZE = 0x400
# Program stack size allocate:
CFG_STACK_SIZE = 0x800
# Path of GrdAPI.h and GcaAPI.h files:
CFG_INCLUDE_DIR = ../../../../Include
# Path of library:
CFG_LIB_DIR = ../../../../Lib
# Path of service utils:
CFG_SYS_DIR = ../../../../Bin
# Output file name:
CFG_TARGET_NAME = SAMPLE
# ------------------------------------------------------------------------------
# End Main Configuration
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
# main.c
# ------------------------------------------------------------------------------
#ifdef __ARM__
#include <stdint.h>
#define DBG(...)
#else
#include <stdio.h>
#include <windows.h>
#define DBG(a ...) printf(a ...)
#endif
#include "GrdAPI.h"
#include "GcaAPI.h"
extern struct
{
BYTE buffer[1024];
} iodata ALIGNED;
DWORD func1(dwInDataLng, dwOutDataLng)
{
// Логика работы 1
return 101;
}
DWORD func2(dwInDataLng, dwOutDataLng)
{
// Логика работы 2
return 102;
}
DWORD func3(dwInDataLng, dwOutDataLng)
{
// Логика работы 3
return 103;
}
DWORD main(DWORD dwInDataLng, DWORD dwOutDataLng, DWORD dwP1)
{
switch (dwP1)
{
case 0x01:
return func1(dwInDataLng, dwOutDataLng);
case 0x02:
return func2(dwInDataLng, dwOutDataLng);
case 0x03:
return func3(dwInDataLng, dwOutDataLng);
case 0x04:
// ...
default:
return -1;
}
}
Скрин ошибки