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

 
 
> WinAVR, проблемы с оптимизацией -O0, xmega, winavr, проблема с драйвером clksys_driver
MrKot
сообщение Dec 1 2009, 07:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 23-07-08
Пользователь №: 39 158



Решил во время отладки включить оптимизацию -O0, но тут компилятор выдал ошибку
constant value required. Покопался и нашел причину ошибки:
драйвер clksys_driver (из апноута), конкретно функция CCPWrite, а еще конкретнее:
Код
asm volatile(
        "movw r30,  %0"    "\n\t"
        "ldi  r16,  %2"    "\n\t"
        "out   %3, r16"    "\n\t"
        "st     Z,  %1"
        :
        : "r" (tmpAddr), "r" (value), "M" (CCP_IOREG_gc), "m" (CCP)
        : "r16", "r30", "r31"
        );

разбил блок на строки оказалась проблема в:

out %3, r16

В асме не силен, по этому прошу помощи знающих людей - в чем может быть проблема? Может быть есть другое решение работы с CCP? (хотя врядли тут без асма обойдешься...)

PS С любой оптимизацией кроме -O0 работает
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrKot
сообщение Dec 2 2009, 06:12
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 23-07-08
Пользователь №: 39 158



Спасибо, помогло!

2demiurg_spb: работа с CCP является критической по времени выполнения, и тут без асма никак.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 2 2009, 12:56
Сообщение #3


Гуру
******

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



Цитата(MrKot @ Dec 2 2009, 09:12) *
и тут без асма никак.

И как это Ваше заявление вяжется с тем, что "в асме не силен"? Просто где-то слышали, что это "круто" и т.д. и т.п. sad.gif
В 'С' сильны (хотя -O0 уже о многом говорит)? Пишите на нем, смотрите на результат в листинге при максимальной оптимизации того, чего надо и решайте, насколько "круче" можете написать на ASM после 'С'. Да, в исходнике надо пробовать подтолкнуть компилятор в нужном направлении и при этом порулить более тонкими опциями оптимизации, нежели готовые наборы.


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



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

 


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


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