Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

AT91SAM9XE on 10GHz???

Непрочитано 22.03.2011, 21:01  
ua_gruzin
Вид на жительство
 
Регистрация: 11.12.2006
Сообщений: 317
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
ua_gruzin на пути к лучшему
По умолчанию AT91SAM9XE on 10GHz???

Привет.
Написал код, залил...
Получил в терминале такую частоту сообщений.. что ели успевает порт компа обрабатывать.....


Код:
    
unsigned int calc=0;
unsigned int ddx=0;
unsigned int ddy=0;
    while (1)
    {
    	for (ddx=0; ddx‹1000000; ddx++)
    	{
    		for (ddy=0; ddy‹10000; ddy++)
    		{
    		calc++;
    		calc--;
    		calc=0;
    		}
    	}
    	PIO_Configure(pins_off, PIO_LISTSIZE(pins_off));
    	printf("--AFTER 80000000--\n\r");
    	calc=0;
    	for (ddx=0; ddx‹100000; ddx++)
    	{
    		for (ddy=0; ddy‹100000; ddy++)
    		{
    		calc++;
    		calc--;
    		calc=0;
    		}
    	}
    	PIO_Configure(pins_on,   PIO_LISTSIZE(pins_on));
    	printf("--AFTER 90000000--\n\r");
    }
printf - вывалвает в COM порт дебагера сообщение
Получаю кучу такого типа:
--AFTER 90000000--
--AFTER 80000000--
--AFTER 90000000--
--AFTER 80000000--
................

Где ошибка в коде, или в чем загвоздка?

Код писан в eclipse, откомпилирован в GCC.
Реклама:
ua_gruzin вне форума  
Непрочитано 22.03.2011, 21:59  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: AT91SAM9XE on 10GHz???

Все Ваши 10-ти миллиардные циклы компилятор выкидывает из выполняемого кода для оптимизации программы. Реально в цикле while(1){} выполняются только PIO_Configure() и printf(), остальное проскакивается за один шаг.
Yurkin2007 вне форума  
Непрочитано 22.03.2011, 22:02  
ua_gruzin
Вид на жительство
 
Регистрация: 11.12.2006
Сообщений: 317
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
ua_gruzin на пути к лучшему
По умолчанию Re: AT91SAM9XE on 10GHz???

Можете посоветовать как это протестить то частоту проца?
ua_gruzin вне форума  
Непрочитано 22.03.2011, 22:08  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: AT91SAM9XE on 10GHz???

Попробуйте в первом цикле calc++, а во втором calc--. И уберите calc=0, а то компилятор заранее знает результат цикла и сразу пишет calc=0, выкидывая все 10 млрд. сложений-вычитаний !
Или вручную отключите всякую оптимизацию.
Или определите переменную calc, использую волшебное слово volatile:

volatile unsigned int calc=0;

Да, и будьте готовы ждать некоторое время, т.к. , например, при скорости процессора 20млн сложений в секунду цикл в 10млрд. будет выполняться 500 сек ...

Последний раз редактировалось Yurkin2007; 22.03.2011 в 22:21.
Yurkin2007 вне форума  
Непрочитано 23.03.2011, 00:33  
ua_gruzin
Вид на жительство
 
Регистрация: 11.12.2006
Сообщений: 317
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
ua_gruzin на пути к лучшему
По умолчанию Re: AT91SAM9XE on 10GHz???

Большое спасибо, помогло.
На счет того, что операция сложения - вычитания занимает не один процессорный такт - я знаю
ua_gruzin вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AT91SAM9XE немного о USB UART ua_gruzin Микроконтроллеры, АЦП, память и т.д 0 13.02.2011 12:11


Часовой пояс GMT +4, время: 01:47.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.