|
Как вызвать WFI или WFE для кортексов?, Неужели в ИАР нет таких интринсиков? |
|
|
|
Aug 12 2010, 16:09
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Потихоньку осваиваю IAR после RealView. Почему то всегда казалось, что в ИАРе полно всяких хитрых ключевых слов и "интринсиков", а РВ в этом деле немного обделён. Однако, сегодня я был немного удивлён, не обнаружив ключевого слова __wfi()  Причём нигде - ни в справке, ни в папке с инклудами. Кое как в примерах нашёл глубоко закопанный файл core_cm3.h, где определяется такой макрос в виде ассемблерной строки.  зачем так обижать кортексы? Это ИАР таким образом "поддерживает" новые камни? Или просто я туплю и всё гораздо веселее?
|
|
|
|
|
 |
Ответов
|
Aug 12 2010, 20:10
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(AHTOXA @ Aug 12 2010, 22:30)  Это не ИАР виноват  Это АРМ придумал Вон оно что! Понятно, спасибо. Но что-то я в папках последнего дистрибутива ИАРа для АРМ не нашёл CMSIS. Только в некоторых примерах... Тоже, как и zltigo, почему-то стараюсь избегать всяких "библиотек", так как они обычно не вызывают одобрения у профессионалов
|
|
|
|
|
Aug 13 2010, 06:22
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (scifi @ Aug 13 2010, 08:36)  Ну вот чем вот __wfi() лучше, чем __asm("wfi")? Тем, что первый это вставка о которой компилятор знает все и которая по этой причине не сбивает оптимизацию. Второй вариант более грубый с возможными побочными эффектами. Посему в этом случае wfi вообще не макрос, а обернут вызовом функции. QUOTE (AHTOXA @ Aug 13 2010, 07:46)  Не будете ли вы так любезны процитировать то место из моих сообщений, где я упоминал о "пользе" и "новизне"? А я Вам эти слова и не приписываю ни в коем случае. Просто отмечаю, что в таком "стандарте" нет ни новизны ни пользы. QUOTE а лишь как хидер. В нём объявлены нужные структуры ядра и инструкции. Это нормально, если-бы не уродливые имена в стиле "Pos" "Msk": CODE /* SysTick Control / Status Register Definitions */ #define SysTick_CTRL_COUNTFLAG_Pos 16 /*!< SysTick CTRL: COUNTFLAG Position */ #define SysTick_CTRL_COUNTFLAG_Msk (1ul << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ Эти "_Pos" потокание хидерам в стиле Atmel AVR. Соответственно более распространненное и разумное определение получило в нагрузку совершеннно лишний прибамбас "_Msk". При этом, думаю, те, кто подсажены на AVR, будут не слишком рады добавке "_Pos", как и я "_Msk". В общем я, как и во всех других случаях пользую ПРАВЛЕННЫЕ хидеры, если они меня по стилю не устраивают. Как минимум, так: CODE #define SYSTICK_CTRL_COUNTFLAG BIT16
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 13 2010, 09:08
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AHTOXA @ Aug 13 2010, 11:27)  Я понимаю это ваше предложение так: вы утверждаете, что я говорю, что есть польза. То есть, именно что приписываете  Нет. В русском языке, есть совершенно обыденный оборот речи, например, стоите Вы и любуетесь на солнышко и подходит к Вам человек, и говорит, "Вот Вы говорите, что погода хорошая....". Вы что, ему начнете для начала рассказывать, что этого не говорили? Или просто согласитесь/опровергните? Еще раз повторяю прямым текстом - я никоим образом не собирался Вам приписывать эти слова. Извините, если был не так понят.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
sonycman Как вызвать WFI или WFE для кортексов? Aug 12 2010, 16:09 zltigo QUOTE (AHTOXA @ Aug 12 2010, 21:30) Это А... Aug 12 2010, 18:47  AHTOXA А если вот такая ссылка?
И плюс факт, что все (мн... Aug 12 2010, 19:01   zltigo QUOTE (AHTOXA @ Aug 12 2010, 22:01) этот ... Aug 12 2010, 19:20    AHTOXA Цитата(zltigo @ Aug 13 2010, 01:20) Так у... Aug 13 2010, 04:46   Faterland Цитата(scifi @ Aug 13 2010, 08:36) Если т... Aug 13 2010, 06:06
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|