scifi 1 14 июня, 2018 Опубликовано 14 июня, 2018 · Жалоба чтобы проверить свои исходники на наличие потенциальных проблем. Я бы не стал утверждать, что отклонение от "строгого ANSI Си" - это потенциальная проблема. Но вам виднее, наверное. Между тем, мануал говорит, что эти ошибки можно превратить в предупреждения. Вот и компилируйте, а предупреждения в хедерах игнорируйте - это же не ваш код. Но смысла в этом не вижу никакого, так как ваш код прибит гвоздями к CMSIS, а там "strict ANSI C" невозможен по определению. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 16 14 июня, 2018 Опубликовано 14 июня, 2018 · Жалоба Я бы не стал утверждать, что отклонение от "строгого ANSI Си" - это потенциальная проблема. Но вам виднее, наверное. Между тем, мануал говорит, что эти ошибки можно превратить в предупреждения. Вот и компилируйте, а предупреждения в хедерах игнорируйте - это же не ваш код. Но смысла в этом не вижу никакого, так как ваш код прибит гвоздями к CMSIS, а там "strict ANSI C" невозможен по определению. Ну, если из листинга исчезает примерно 500 ошибок, это делает понимание оставшихся там десятков сообщений более легким. Оределил эту __NO_EMBEDDED_ASM, данная проблема в этом файле пропала. Но вот чем это грозит? Кстати, теперь оно находит эту asm- ошибку только в порте FreeRTOS ("port.c"), на файлы CMSIS вроде больше и не ругается. как-то: _asm uint32_t vPortGetIPSR( void ) { PRESERVE8 mrs r0, ipsr bx r14 } __asm void prvEnableVFP( void ) { PRESERVE8 /* The FPU enable bits are in the CPACR. */ ldr.w r0, =0xE000ED88 ldr r1, [r0] /* Enable CP10 and CP11 coprocessors, then save back. */ orr r1, r1, #( 0xf << 20 ) str r1, [r0] bx r14 nop } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 14 июня, 2018 Опубликовано 14 июня, 2018 · Жалоба Какой asm файл я не использую? Вы про "__NO_EMBEDDED_ASM" ? Для исходного кода си используют файлы с расширением .c или .cpp. А для ассемблерного - с расширением .asm. Зачем использовать кастрированный inline-ассемблер вместо нормального?? Тем более у вас не вставки, а полноценные функции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться