История изменений
Исправление PPP328, (текущая версия) :
А, всё, my bad, забыли старые .S файлы почистить. Всё решено.
Наш шаблон экспорта (вдруг кому пригодится):
/*! \brief Генерирует текстовое представление ASM-файла
* \param[in] filename Имя исходного файла
* \param[in] varname Имя переменной
* \return Статическая строка */
static const char * _assembler_generate(const char * filename,
const char * varname) {
static char s_text[VLH_ASM_FILESIZE];
sprintf(
s_text,
"#if defined(__MINGW32__) || defined(__MINGW64__)\n"
"# define VAL_TYPE(S)\n"
"# define VAL_NAME(S) _ ## S\n"
"#else\n"
"# define VAL_TYPE(S) .type S, @object\n"
"# define VAL_NAME(S) S\n"
"#endif\n"
"\n"
"/* Для ARM нужно заменить @ на # */\n"
"\n"
".section .rodata\n"
" .global VAL_NAME(%s)\n"
" VAL_TYPE(%s)\n"
" .align 4\n"
"VAL_NAME(%s):\n"
" .incbin \"%s\"\n"
" .byte 0\n"
"VAL_NAME(%s_end):\n"
" .global VAL_NAME(%s_size)\n"
" VAL_TYPE(%s_size)\n"
" .align 4\n"
"VAL_NAME(%s_size):\n"
" .int VAL_NAME(%s_end) - VAL_NAME(%s)\n",
varname,
varname,
varname,
filename,
varname,
varname,
varname,
varname,
varname,
varname
);
return s_text;
}
Исходная версия PPP328, :
А, всё, my bad, забыли старые .S файлы почистить. Всё решено.