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

 
 
 
Reply to this topicStart new topic
> Что может быть при неправильной конфигурации MAM в LPC ?
savcom
сообщение Apr 16 2007, 03:14
Сообщение #1


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

Группа: Свой
Сообщений: 80
Регистрация: 27-12-04
Из: Москва
Пользователь №: 1 708



Работаю сейчас с LPC2378. Программа находится в FLASH, частота 73 МГц. С недавних пор программа стала вываливаться на прерывание data_handler (ошибка при чтении данных, когда используется несуществующий адрес). Точку сбоя найти удалось, там стоит обычная команда LDR R1, [PC, #+116]. По этой команде в регистр R1 должно загрузится значение 0x40000ED4 (по этому адресу находится локальная переменная), но загружается 0x20000F0, т.к. по такому адресу никакой памяти нет, то программы вываливается в data_handler. Причем в пошаговом режиме все работает нормально, а в режиме выполнения упорно загружается не то число. Прерывания отключены. Сбой имеет не совсем периодический характер, иногда этот участок кода нормально исполняется. Акселератор памяти был настроен как: MAMCR=0x02 (полный режим), MAMTIM=0x03 (при частоте > 40 МГц). Попробовал разные режимы, точки сбоя меняются на другие, иногда пропадают. Наличие сбоя так-же сильно зависит от самого кода, если например поставить перед сбойной командой команду NOP, то сбой может и прекратиться. Может кто-то сталкивался с подобным и может в этом быть в этом замешан модуль MAM?
Go to the top of the page
 
+Quote Post
Abo
сообщение Apr 16 2007, 08:14
Сообщение #2


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

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



Имею те же проблемы при частоте ядра больше 48 МГц.
На текущий момент использую MAMTIM = 4, MAMCR = 2.
На 48 при этих настройках полет нормальный.
Советую еще сюда заглянуть: http://electronix.ru/forum/index.php?showtopic=30036
Go to the top of the page
 
+Quote Post
etoja
сообщение Apr 16 2007, 08:33
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



1. Процессор LPC2378 рассчитан на 72MIPS, а не на 73MIPS.
2. Почитайте в Errata
http://www.standardics.nxp.com/support/doc...ata.lpc2378.pdf
ограничения на внутреннюю частоту PLL.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Apr 16 2007, 09:15
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(etoja @ Apr 16 2007, 11:33) *
1. Процессор LPC2378 рассчитан на 72MIPS, а не на 73MIPS.

smile.gif smile.gif smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
savcom
сообщение Apr 16 2007, 09:47
Сообщение #5


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

Группа: Свой
Сообщений: 80
Регистрация: 27-12-04
Из: Москва
Пользователь №: 1 708



Скорее всего проблема та-же с PLL что и описана была здесь: http://electronix.ru/forum/index.php?showtopic=30036
Потому что при данных: кварц = 14,7456 МГц, PLL_MVALUE = 19, PLL_NVALUE = 1, CCLKCFG = 4 частота процессора должна быть 73,728 МГц, а реальная померенная по таймеру 58,9824 МГц.
Go to the top of the page
 
+Quote Post
Abo
сообщение Apr 16 2007, 11:58
Сообщение #6


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

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



Цитата(savcom @ Apr 16 2007, 10:47) *
а реальная померенная по таймеру 58,9824 МГц.


А какая еще она должна быть?:
Fcсo = (14,7 / (1+1)) * (19 +1) * 2 = 294
Fclk = 294 / (4+1) = 58,8


А она стабильная, или дрожит около этого значения?
Может зависит от выполняемого кода?
Go to the top of the page
 
+Quote Post
savcom
сообщение Apr 16 2007, 13:13
Сообщение #7


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

Группа: Свой
Сообщений: 80
Регистрация: 27-12-04
Из: Москва
Пользователь №: 1 708



Цитата(Abo @ Apr 16 2007, 12:58) *
А какая еще она должна быть?:
Fcсo = (14,7 / (1+1)) * (19 +1) * 2 = 294
Fclk = 294 / (4+1) = 58,8


Ну хоть это радует, не все так плохо. Досадная ошибка в расчете.
Насчет измерения частоты, я смотрю сигнал с выхода PWM (что должно быть эквивалентно таймеру). На частотометре возможности подсчитать импульсы возможности нет, но на осциллографе все стабильно. К тому-же у меня еще 2 UARTA используются, так они то же стабильно работают (максимальная ошибка в них по частоте не должна превышать 5%). Поменял режим работы MAM на MAMCR=1, теперь вроде работает стабильно, но надолго ли это пока не знаю.
Go to the top of the page
 
+Quote Post

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

 


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


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