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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Keil RV3.50 и FIQ, error: #130: expected a "{"
aaarrr
сообщение Jun 10 2009, 09:08
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AlexanderPo @ Jun 10 2009, 13:02) *
И как просто, не зарываясь в asm, реализовать обработку FIQ непонятно...

Да почему непонятно? Зачем зарываться в асм?

Цитата(GetSmart @ Jun 10 2009, 13:03) *
Глупость да и только. Никаких сложностей __fiq не требовал. Кроме этого раньше была аналогичная глупость с вложенными прерываниями. Браво, Кейл!

Глупость - использовать модификатор __fiq не вдаваясь в подробности, дескать, компилятор все сделает. Максимум, что он может - это сократить сохранение/восстановление контекста, человек способен придумать более разумное использование банка.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 10 2009, 09:11
Сообщение #17


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ Jun 10 2009, 14:08) *
Глупость - использовать модификатор __fiq не вдаваясь в подробности, дескать, компилятор все сделает. Максимум, что он может - это сократить сохранение/восстановление контекста, человек способен придумать более разумное использование банка.

Это законное удобство, на которое расчитывает юзер компилятора. Да, хотя бы не сохранять 4 регистра, уже экономия.
Какой человек? Что придумать?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 10 2009, 09:19
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Вместо __fiq поставь __irq. Проверенно работает. Толко вход в фунцию рекомендую писать на ассемблере.

Сообщение отредактировал Sanya_kv - Jun 10 2009, 09:23
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 10 2009, 09:36
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Jun 10 2009, 13:11) *
Это законное удобство, на которое расчитывает юзер компилятора. Да, хотя бы не сохранять 4 регистра, уже экономия.

Удобства и экономии на 3 копейки, при заметном усложнении компилятора (типа, тут используем вместо R0-R3 R8-R11, но если есть вызов вложенных процедур, то используем R8-R11 для сохранения R0-R3, и все это ради одного обработчика).

Цитата(GetSmart @ Jun 10 2009, 13:11) *
Какой человек? Что придумать?

Ну, если думать некому, то можно просто писать __irq - проигрыш от лишних сохранений затереятся на фоне других "изысков".
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 12 2009, 01:40
Сообщение #20


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(GetSmart @ Jun 10 2009, 12:03) *
Глупость да и только. Никаких сложностей __fiq не требовал. Кроме этого раньше была аналогичная глупость с вложенными прерываниями. Браво, Кейл!

Ну а причем тут Keil?
У Keil'овского компилятора как раз __fiq атрибут поддерживается.
Браво адресуйте непосредственно ARM-LTD, т.к. RVCT это их творение.

Цитата(GetSmart @ Jun 10 2009, 12:11) *
Это законное удобство, на которое расчитывает юзер компилятора.

А чем неудобно вместо нескольких бестолковых и нестандартных атрибутов, пользовать вообще без атрибуетов, или по крайней мере сократить их количество до одного?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 12 2009, 05:48
Сообщение #21


Гуру
******

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



Цитата(defunct @ Jun 12 2009, 04:40) *
А чем неудобно вместо нескольких бестолковых и нестандартных атрибутов, пользовать вообще без атрибуетов, или по крайней мере сократить их количество до одного?

Ну-ну sad.gif sad.gif а зачем еще, например, компилятору несколько разных бестолковых ключей оптимизации, пользовать вообще без оптимизации, или по крайней мере сократить их количество до одого? smile.gif


Цитата(aaarrr @ Jun 10 2009, 12:36) *
Ну, если думать некому, то можно просто писать __irq - проигрыш от лишних сохранений затереятся на фоне других "изысков".

Или не затеряется. В то,что среднестатический программист способен бездумно испохабить многое - верю. Только это не значит, что по этой "причине" можно делать упрощенные компиляторы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 12 2009, 08:51
Сообщение #22


Любитель
*****

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



Да, интересно, что ответили бы разрабы RealView на вопрос об отсутствии обёртки для FIQ...
Лидеры, млин, в, так сказать, компилеростроении laughing.gif

ЗЫ: хорошо жить на свете с кортексом, никаких заморочек с обёртками cool.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 13 2009, 02:05
Сообщение #23


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zltigo @ Jun 12 2009, 08:48) *
Ну-ну sad.gif sad.gif а зачем еще, например, компилятору несколько разных бестолковых ключей оптимизации, пользовать вообще без оптимизации, или по крайней мере сократить их количество до одого? smile.gif

И правда зачем? Вы когда-нибудь реально использовали те ключики, которые находятся между, образно говоря, "без оптимизации" и "максимальная оптимизация"?

Возвращаясь к теме - некий магический атрибут __fiq, который якобы сделает все максимально быстро и эффективно, на самом деле ничего не сделает, - не догадается компилер хранить static переменные в регистрах FIQ банка...
Отсутствие __fiq в RVCT дисциплинирует, и еще раз заставит задуматься нужен ли там __FAST__ IRQ. Если нужен - Asm в руки и делаем настоящий FAST. А если не нужен (FIQ используется просто как более приоритетный IRQ) то чем __irq атрибут не устраивает?
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 13 2009, 10:49
Сообщение #24


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(defunct @ Jun 13 2009, 06:05) *
Отсутствие __fiq в RVCT дисциплинирует, и еще раз заставит задуматься нужен ли там __FAST__ IRQ. Если нужен - Asm в руки и делаем настоящий FAST. А если не нужен (FIQ используется просто как более приоритетный IRQ) то чем __irq атрибут не устраивает?


Зачем тогда С компилятор нужен. На Asm всю прогу писать "Надёжней", "Качественней", сроки реализации "Немногим" медленнее, отладка совсем чуть-чуть, а главное программа выполняется быстрей (иногда), ... . Я согласен, что разработчики компилятора не боги, но и компилятор стоит не дешёво (хотя для кого как и где).
В данном примере действительно правильней реализовать на АSМ, из-за недостатка среды разработки.
Зачем брать автомобиль, который иногда приходится толкать? glare.gif

Сообщение отредактировал Sanya_kv - Jun 13 2009, 10:59
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 13 2009, 10:54
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



С тем же успехом можно возмущаться, что не предусмотрены атрибуты для режимов abort и не встроен обработчик swi. Сколько у Вас FIQ в программе? Я почему-то думаю, что от 0 до 1.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 13 2009, 11:04
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Один. Программно интерфейс пришлось реализовать. А с __swi все в порядке, использую довольно часто. В обще использую Keil только из-за OS, и некоторых удобств в разработке. Последние время больше симпатизирую IAR.

Сообщение отредактировал Sanya_kv - Jun 13 2009, 11:07
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 13 2009, 11:09
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Sanya_kv @ Jun 13 2009, 15:04) *
А с __swi все впорядке, использую довольно часто.

__swi - это вызов, обработчик-то все равно нужен самописный, более того, на асме (sic!). Не напрягает?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 13 2009, 11:33
Сообщение #28


Гуру
******

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



Цитата(defunct @ Jun 13 2009, 05:05) *
И правда зачем? Вы когда-нибудь реально использовали те ключики, которые находятся между, образно говоря, "без оптимизации" и "максимальная оптимизация"?

Поминаемые Вами ключики таковыми собственно не являются - это готовые наборы из других ключей. Теми, индивидуальными - пользуюсь, не ежедневно, но несомненно пользуюсь и не только в пределах проекта или отдельного файла, но и наиболее часто для отдельных кусков исходника. Это достаточно не сложно и проще, нежели преписывать куски кода на том-же ASM
Цитата
Возвращаясь к теме - некий магический атрибут __fiq, который якобы сделает все максимально быстро и эффективно, на самом деле ничего не сделает, - не догадается компилер хранить static переменные в регистрах FIQ банка...

Я не специалист по магии (и уж тем более не жду никаих чудес от компилятора )поэтому мне совершенно достато того, что я знаю, комплятор может сделать.
Цитата
Отсутствие __fiq в RVCT дисциплинирует, и еще раз заставит задуматься нужен ли там __FAST__ IRQ.

Я, считаю, что я способен думать и без таких заботливых "подсказок".
Цитата
Если нужен - Asm в руки и делаем настоящий FAST.

Если нужно выжать по максимуму я и сам напишу его обработчик на ASM в startup прямо с адреса 0x1C. Если нужно будет написать развеситый обработчик FIQ (есть у меня и такие на многие килобайты), то __fiq мне в этом, как минимум ну СОВСЕМ ничем не помешает. Ну а если просто какой-то средненький о сотню байт, то я предпочту писать на 'C' ( естественно осознавая, что потери, нежели мне вдруг с бодуна придет мысль о вызове, например, функций из обработчика, будут малосовметимыми со скоростью), нежели на ASM благодаря "заботе" об излечении от каких-то якобы имеющихся у пользователей "иллюзий".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 5th July 2025 - 04:24
Рейтинг@Mail.ru


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