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

 
 
> keil 4.21 __asm inline-функции
romas2010
сообщение Jun 6 2012, 15:48
Сообщение #1


Участник
*

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



Добрый день! подскажите,как в тексте программы на С вставить ассемблерную инструкцию.Именно вставить,а не вызвать ассемблерную функцию. Нужно что-то типа оператора inline в Паскале....Пробовал через конструкцию static __asm __inline FUNC()....и через __forceinline и через #pragma inline-компилятор упорно генерит вызов,в окне дизассемблера вижу BL.W func....может все дело в т.н. embrdded assembler для процессоров Cortex M3?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
brag
сообщение Jun 11 2012, 07:18
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
А почему не -O3?

На реальных алгоритмах -O3 приводит к сильному раздуванию кода и часто - стека. Что на кристаллах с медленной 128бит флешкой и кешем неблагоприятно сказывается на производительности. Речь идеот конкретно о Cortex-M3 и личном опыте.
Раньше иногда включал -ftree-vectorize, но потом и от этого отказался(в rvct вроде тоже что-то подобное есть), проще ручками делать циклы, не (особо) нуждающиеся в векторизации/раскрутке.

Цитата
GNUC похоже до сих пор генерит самый большой по размеру код. (но иногда быстрый)
для ARM7 в 2009 году: http://electronix.ru/forum/index.php?showtopic=68880

на счет размера согласен. по производительности все равны +-, сейчас уже 2012 год как ни как sm.gif

Цитата
там один байт в заголовке надо поправить (а то стоит что EABI, но приватный) после жрет. Но надо быть аккуратным с библиотеками.

спасибо, попробую. а библиотеки не юзаю практически

Цитата
А как заставить кейл отлаживать gcc-шный elf?
Как для этого проект настраивать?

кормим elf да и все. только надо компилить с -gdwarf-2 -gstrict-dwarf иначе может не видеть debug-символов.
как настроить: http://www.keil.com/support/docs/2310.htm
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:57
Рейтинг@Mail.ru


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