[an error occurred while processing this directive]
![]() |
|
Вопрос не в макросе.
Мне нужно заталкивать 32 битные данные по JTAG.
//* Define instructions
#define NOP 0xE1A00000
#define READ_REG 0xE58E0000
#define WRITE_REG 0xE59E0000
#define READ_MEM 0xE4901004
#define READ_MEM_HALFWORD 0xE0D010B4
#define WRITE_MEM 0xE4801004
#define WRITE_MEM_HALFWORD 0xE1C010B4
#define STM 0xE88E0000 //* or 0xE8AE0000
#define LDM 0xE89E0000
#define READ_CPSR 0xE10F0000
#define WRITE_CPSR 0xE12FF000
#define BRANCH_PC_5 0xEAFFFFFBКроме того на READ_REG, WRITE_REG накладываются маски:
JTAG_Execute(READ_REG | (index<<12), NULL);
Обыскавшись в поисках ошибок у себя решил придраться к константам.
Но хочется найти объяснеие теоретическое, а потом переписывать константы - задом наперед.
У IAR/AVR Little-Endian?
![]() |