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

 
 
> ARM9-Cortex clock control, он сам частоту себе подымает ?
WitFed
сообщение Sep 19 2014, 10:40
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



Подобные названию топика запросы не нагугливают конкретики. Кто в проблему погружен ?
Я на неделе обнаружил, что процессор из SoC на плате Альтеры стартует на очень слабой частоте. Функция:
Код
void my_chk() {
  volatile int i = 0;
  for (; i < 800*1000*1000; i++);
}

из 8-6 тактов цикла (в зависимости от оптимизации) работает порядка 4 минут в Baremetal режиме, а если её вызвать из Линукс-приложения (бывает на той же плате такая бяка) -- то 7 секунд.
Частота ARM-а позиционируется до 925 МГц, Линукс-результат очень подходит к этому числу.
А то, что у меня получается в без-ОС-ом случае -- на 25 МГц, которые подаются на процессор, судя по документации Альтеры, в которой больше нарыть ничего не удалось.
И ARM-овая избыточно подробна и необозрима, неудобна, ужасно пугающа, как много раз мне нагуглилось...
В ARM-ядре есть какие-то механизмы, PLL, регистры, чтобы установить множитель ко входу тактовой частоты ?
По идее, чтобы отсчитать 1 мс в любой ОС, нужно точно знать, на какой частоте ты работаешь, и запитать от неё таймер, а не надеяться на что-то внешнее.
Тогда 25 МГц и умножитель будут лучшим решением.
Но вдруг именно эту частоту 25 снаружи нужно подымать до 925 ? И Альтера должна дать описание, а их 10%, как я вижу ? Хотя и разбавленные...
Кто на ARM-ах собаку съел, как у них дело обстоит ?

И, пожалуйста, киньте конкретных ссылок для более-менее пристойного изучения этой архитектуры "сверху вниз" без ДТП, а в последнем случае уж и TRM из pdf сгодятся wink.gif
Go to the top of the page
 
+Quote Post



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

 


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


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