|
"asm" function is nonstandard |
|
|
|
Aug 16 2015, 11:39
|
Участник

Группа: Участник
Сообщений: 52
Регистрация: 25-12-12
Пользователь №: 74 984

|
Вообщем переписываю бутлоадер исходя из этих исходников: Посетить мою домашнюю страницуВообщем получил такую ошибку: CMSIS\CM3\CoreSupport\core_cm3.c(58): error: #667: "asm" function is nonstandardВот скриншот проблемы:  Народ, подскажите что где-то макрос какой не установил ?
Сообщение отредактировал Dениs - Aug 16 2015, 11:39
|
|
|
|
|
 |
Ответов
|
Aug 25 2015, 20:26
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 25-11-11
Пользователь №: 68 515

|
Цитата(zltigo @ Aug 25 2015, 23:07)  Вы правы...но есть нюанс,как говориться дьявол заключается в деталях...Я не знаю,почему,но для архитектур Cortex разработчики кейл включили т.н embedded assembler...а http://www.keil.com/support/man/docs/armcc...96945591462.htm в таблице 6.1 указано-inlining-never...
|
|
|
|
|
Jun 14 2018, 09:40
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
У меня та же проблема. Кейл 5 Если включаю опцию "Strict ANCI C", то вижу ту же ошибку: .\Libraries\CMSIS\Include\cmsis_armcc.h(468): error: #667: "asm" function is nonstandard __attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) .\Libraries\CMSIS\Include\cmsis_armcc.h(483): error: #667: "asm" function is nonstandard __attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) .\Libraries\CMSIS\Include\cmsis_armcc.h(670): error: #667: "asm" function is nonstandard __attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value)
Подключил самую новую CMSIS, думал в хедерах это пофиксили, но все по-старому. Что делать, править исходники CMSIS? вот собственно на это ругается: Код #ifndef __NO_EMBEDDED_ASM __attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) { rev16 r0, r0 bx lr } #endif
#ifndef __NO_EMBEDDED_ASM __attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) { revsh r0, r0 bx lr } #endif
#ifndef __NO_EMBEDDED_ASM __attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value) { rrx r0, r0 bx lr } #endif
|
|
|
|
|
Jun 14 2018, 11:16
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(jcxz @ Jun 14 2018, 13:03)  А зачем не используете asm-файл? Какой asm файл я не использую? Вы про "__NO_EMBEDDED_ASM" ? ну я не знаю. Предки так делали и нам завещали, даже не задумывался над этим. А что, лучше включить? Цитата The usage of the Embedded Assembler can be disabled by with define __NO_EMBEDDED_ASM. This avoids potential side effects of the Embedded Assembler. Refer to Compiler User Guide - Using the Inline and Embedded Assemblers of the Arm Compiler for more information.
|
|
|
|
Сообщений в этой теме
Dениs "asm" function is nonstandard Aug 16 2015, 11:39 zltigo QUOTE (Dениs @ Aug 16 2015, 14:39) CMSIS... Aug 16 2015, 11:54 Dениs Хорошо, как же тогда использовать __set_MSP(...) н... Aug 16 2015, 14:43  zltigo QUOTE (Dениs @ Aug 16 2015, 17:43) Если ж... Aug 16 2015, 14:56   Dениs Это укор в том случае если я знаю АСМ АРМ-ов ... а... Aug 16 2015, 15:34    zltigo QUOTE (Dениs @ Aug 16 2015, 18:34) Так чт... Aug 16 2015, 15:49   romas2010 Цитата(zltigo @ Aug 16 2015, 17:56) У Вас... Aug 25 2015, 20:03      scifi Цитата(Ruslan1 @ Jun 14 2018, 13:43) чтоб... Jun 14 2018, 11:21       Ruslan1 Цитата(scifi @ Jun 14 2018, 13:21) Я бы н... Jun 14 2018, 11:31
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|