реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> "asm" function is nonstandard
scifi
сообщение Jun 14 2018, 11:21
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 919
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Ruslan1 @ Jun 14 2018, 13:43) *
чтобы проверить свои исходники на наличие потенциальных проблем.

Я бы не стал утверждать, что отклонение от "строгого ANSI Си" - это потенциальная проблема. Но вам виднее, наверное.
Между тем, мануал говорит, что эти ошибки можно превратить в предупреждения. Вот и компилируйте, а предупреждения в хедерах игнорируйте - это же не ваш код. Но смысла в этом не вижу никакого, так как ваш код прибит гвоздями к CMSIS, а там "strict ANSI C" невозможен по определению.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jun 14 2018, 11:31
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 357
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(scifi @ Jun 14 2018, 13:21) *
Я бы не стал утверждать, что отклонение от "строгого 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
}
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 14 2018, 11:34
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 4 661
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Ruslan1 @ Jun 14 2018, 14:16) *
Какой asm файл я не использую? Вы про "__NO_EMBEDDED_ASM" ?

Для исходного кода си используют файлы с расширением .c или .cpp. А для ассемблерного - с расширением .asm.
Зачем использовать кастрированный inline-ассемблер вместо нормального?? Тем более у вас не вставки, а полноценные функции.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2018 - 02:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.00851 секунд с 7
ELECTRONIX ©2004-2016