|
local register variable, в определённом регистре |
|
|
|
Sep 30 2008, 09:56
|

Местный
  
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035

|
Коллеги, у меня есть код, который собирается с помощью avr-gcc, необходимо сделать чтобы он теперь собирался и с помощью IAR. Возникли проблемы с ассемблерными вставками, а в частности я не понимаю, как мне разместить локальную переменную в фиксированном регистре внутри функции. Вот как это у меня реализованно на gcc. Есть какие нибудь идеи как сделать аналогично на iar. Код static uint16_t halMeasurement(void) { register volatile uint16_t cnt asm ("r24") = 0; ... ... ... return cnt; } В документации нашёл только как подобное сделать с глобальными переменными, но это не то.
|
|
|
|
|
 |
Ответов
|
Oct 1 2008, 15:34
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Спасибо, думаю в дальнейшем пригодится. Пожалуйста. Но, видимо, главная моя мысль в Ваш мозг пока не проникла. Она заключается в следующем - надо сравнивать значения 2х аппаратных таймеров, а не одного программного и одного аппаратного. Именно в этом корень Ваших проблем, а не в том, как разработчики разных компиляторов смотрят на идеологию написания програм на языке Си. Цитата И на каком минимально интервале обеспечивается приемлемая точность калибровки Тут надо смотреть, на каком интервале ошибка, вносимая программными задержками при чтении данных с таймера станет меньше, ну скажем, 0.2% (в худшем случае). Но ответить на этот вопрос сможете только Вы сами, зная программно-аппаратную архитектуру Вашей разработки.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Oct 1 2008, 15:52
|

Местный
  
Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035

|
Цитата(Rst7 @ Oct 1 2008, 19:34)  Пожалуйста. Но, видимо, главная моя мысль в Ваш мозг пока не проникла. Она заключается в следующем - надо сравнивать значения 2х аппаратных таймеров, а не одного программного и одного аппаратного. Именно в этом корень Ваших проблем, а не в том, как разработчики разных компиляторов смотрят на идеологию написания програм на языке Си. Это Вы как определили? Опять телепатическими способностями Цитата(Rst7 @ Oct 1 2008, 19:34)  Тут надо смотреть, на каком интервале ошибка, вносимая программными задержками при чтении данных с таймера станет меньше, ну скажем, 0.2% (в худшем случае). Но ответить на этот вопрос сможете только Вы сами, зная программно-аппаратную архитектуру Вашей разработки. А как собственно вы можете гарантировать такую задержку. Контролллер прерываний в меге не имеет программируемых приоритетов. Может возникнуть одновременно эн прерываний более приоритетных нежели от пререполнения асинхронного таймера. На больших интервалах это примерно усредняется, а на малых как повезёт получается?
|
|
|
|
Сообщений в этой теме
xelax local register variable Sep 30 2008, 09:56 Dog Pawlowa Цитата(xelax @ Sep 30 2008, 12:56) Есть к... Sep 30 2008, 14:14 xelax Цитата(Dog Pawlowa @ Sep 30 2008, 18:14) ... Sep 30 2008, 14:21 Rst7 ЦитатаВозникли проблемы с ассемблерными вставками
... Oct 1 2008, 04:50 xelax Что-то как-то грустно это всё... IAR немалых денех... Oct 1 2008, 05:39 MrYuran //размещаем в свободных регистрах ввода/вывода
__n... Oct 1 2008, 05:46 Rst7 ЦитатаIAR немалых денех стоит, а функционал компил... Oct 1 2008, 06:01 zltigo Цитата(Rst7 @ Oct 1 2008, 08:01) С точки ... Oct 1 2008, 06:30  xelax Отлично, определились.
Я мелкий пижон, который пиш... Oct 1 2008, 07:03 Rst7 ЦитатаА помимо флуда есть что-то по существу?
Вам... Oct 1 2008, 07:19 tag Цитата(xelax @ Sep 30 2008, 13:56) static... Oct 1 2008, 07:22 xelax Цитата(tag @ Oct 1 2008, 11:22) ...попроб... Oct 1 2008, 08:03  zltigo Цитата(xelax @ Oct 1 2008, 10:03) ...но о... Oct 1 2008, 08:38   xelax Цитата(zltigo @ Oct 1 2008, 12:38) Вы бы ... Oct 1 2008, 09:04    tag Цитата(xelax @ Oct 1 2008, 13:04) Первую ... Oct 1 2008, 09:38    zltigo Цитата(xelax @ Oct 1 2008, 11:04) Более т... Oct 1 2008, 09:51     xelax Цитата(zltigo @ Oct 1 2008, 13:51) Это не... Oct 1 2008, 10:31      zltigo Цитата(xelax @ Oct 1 2008, 12:31) Вот это... Oct 1 2008, 10:43       xelax Цитата(zltigo @ Oct 1 2008, 14:43) Вы к э... Oct 1 2008, 13:46        zltigo Цитата(xelax @ Oct 1 2008, 15:46) вот уж ... Oct 1 2008, 14:11         xelax Цитата(zltigo @ Oct 1 2008, 18:11) Докуме... Oct 1 2008, 15:13 Rst7 ЦитатаКод который я был ВЫНУЖДЕН написать на асмов... Oct 1 2008, 09:27 Rst7 ЦитатаИзмерения нужны для калибровке RC генератора... Oct 1 2008, 10:50  singlskv Цитата(xelax @ Oct 1 2008, 19:52) На боль... Oct 1 2008, 19:43 Rst7 ЦитатаА как собственно вы можете гарантировать так... Oct 1 2008, 16:21 xelax Цитата(Rst7 @ Oct 1 2008, 20:21) Я не мог... Oct 1 2008, 19:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|