Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: lpc2929 и fx2lp
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
toweroff
Добрый день!
Что-то я в ступор впал... Не понимаю, где собака порылась

Проц работает через EMC с USB контроллером через асинхронную параллельную шину. Когда программа исполняется из flash - все в порядке
Попробовал перетащить функции, работающие с USB контроллером, в IRAM - через какое-то время (ни к чему не привязанное, все время по-разному) контроллер перестает себя адекватно вести и почти всегда впадает в ступор, точнее, как и должен, ждет команду по USB от компа, а комп недополучил порцию данных и, поэтому, новую команду не отдает и по тайм-ауту выходит в ошибку передачи.
Питание от USB, 2 линейника до 3.3 и с него до 1.8в, LPC, Cypress и 4 NOR флешки на борту
И оставил бы, как есть, во флеш, да надо бут сваять, он должен в RAM висеть...

Есть какие-то мысли на эту тему?
toweroff
Такой вопрос

Контроллер имеет внутреннюю SRAM, которая имеет свое время доступа. Есть ли регистры, определяющие время доступа к ней? Для внутренней FLASH есть, для SRAM не нашел
Или она априори может работать на максимальной частоте ядра?
toweroff
Прошу прощения за вынужденный ап, но проблема решилась именно понижением тактовой ядра
Так все-таки (пусть и для других ядер/фирм/моделей), есть ли настройки таймингов для внутренней SRAM?
Встречали такое?
aaarrr
Цитата(toweroff @ Sep 19 2012, 18:32) *
Или она априори может работать на максимальной частоте ядра?

Она может работать на частоте AHB. В данном конкретном случае частота ядра равна частоте AHB, так что ответ - да, может.

Цитата(toweroff @ Sep 19 2012, 20:57) *
Прошу прощения за вынужденный ап, но проблема решилась именно понижением тактовой ядра

Может, сказываются уменьшение задержки между последовательными обращениями к регистрам внешнего железа?
toweroff
Цитата(aaarrr @ Sep 19 2012, 21:46) *
Может, сказываются уменьшение задержки между последовательными обращениями к регистрам внешнего железа?

я тоже думал об этом, но включать (и как?) наносекундные задержки... sad.gif
NOP - но шаманство какое-то

UPD
снизил-то на 5% почти тактовую
aaarrr
Цитата(toweroff @ Sep 19 2012, 22:00) *
я тоже думал об этом, но включать (и как?) наносекундные задержки... sad.gif

А если просто SMC "покрутить"?
toweroff
Цитата(aaarrr @ Sep 19 2012, 22:11) *
А если просто SMC "покрутить"?

ну так здрасте
осцилл показывает те же задержки, там все хорошо; а вот с передачей - нет, не просто же так пишу сюда
по ходу проблема именно в доступе к внутренней SRAM

но попробую вставить нопы в цикле ожидания fx2lp, посмотрю... там вроде как флаг гасится чуть позже окончания полного чтения FIFO

УПД
бьем в бубен и пляшем у костра
один ноп после ожидания флага спас цивилизацию
blink.gif wacko.gif
жесть
aaarrr
Что и требовалось доказать.
toweroff
Цитата(aaarrr @ Sep 19 2012, 23:56) *
Что и требовалось доказать.

пока еще не "требовалось" sm.gif попробую с таймингами поиграть sm.gif
потому как нопы - это точно шаманство

УПД
поиграл с таймингами - призыв луны в ясный полдень
только ноп
тогда возникает вопрос - что происходит с ядром при обращении через AHB к SEMC при записи туда?
1) заносятся данные в регистры адреса и данных и проц побежал дальше, при следующей подобной операции ждем окончания предыдущей опирации записи, или
2) после операции записи ждем окончания, потом бежим дальше?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.