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

 
 
> AT91SAM7S деление, Вопрос о реализации опереции деления
ZiB
сообщение Mar 19 2009, 05:31
Сообщение #1


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

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Всем, привет!

Осваиваю AT91SAM7S256. Eclipse + GCC + SAM-ICE.
Запустил демо проект с сайта at91.com (getting-started-project-1.4-at91sam7s-ek)

В функции конфигурации DBGU модуля, установка (точнее расчет) скорости обмена занимает почти 3 секунды.
AT91C_BASE_DBGU->DBGU_BRGR = mck / (baudrate * 16); // mck = 48 000 000, baudrate = 9600
так как апаратного деления у ARM-а нет, то деление происходит программным способом.

Вопрос:
Насколько оптимально производит деление компилаятор gcc?
в сравнении с IAR-ом?

Планирую в проекте использовать цело численное деление.

CODE
void DBGU_Configure(unsigned int mode,
unsigned int baudrate,
unsigned int mck)
{
// Reset & disable receiver and transmitter, disable interrupts
AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RSTRX | AT91C_US_RSTTX;
AT91C_BASE_DBGU->DBGU_IDR = 0xFFFFFFFF;

// Configure baud rate
AT91C_BASE_DBGU->DBGU_BRGR = mck / (baudrate * 16);

// Configure mode register
AT91C_BASE_DBGU->DBGU_MR = mode;

// Disable DMA channel
AT91C_BASE_DBGU->DBGU_PTCR = AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS;

// Enable receiver and transmitter
AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RXEN | AT91C_US_TXEN;
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
klen
сообщение Mar 19 2009, 06:22
Сообщение #2


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



целочисленное деление если я не ошибаюсь не дольше числа(если предположить что операции однотактовые ) тактов равное числу битов операндов + небольшие накладные расходы в зависимосто от архитектуры проца. Я както мерял, получалось на случайных данных порядка 20 тактов на arm7tdmi.

Мож в другом засада? Для 3-х секеунд это как то уж вообще сложно объяснение придумать, пустого цикла задержки отладчика в crt-коде нет?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th August 2025 - 22:40
Рейтинг@Mail.ru


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