Здравствуйте Всем! Тут такая проблема.... Имеется LPC2214. Конфигурирую банк памяти на CS0 вот так:
BCFG0 = 0x00001840; // WST1 = 5, WST2 = 4
Кручу в цикле следующий код :
while (1) {
memcpy ( plis, (op_code ) , 4 );
}
Где plis - банк памяти 0 ( 8 битный) , op_code - массив из 4 значений, которые я в этот банк пытаюсь записать.
Происходит следующее : когда виглером из иара шью флеш контроллера и сразу смотрю сигналы внешнего интерфейса памяти, то вижу, что сигнал BLS0 действительно уходит в низкий уровень на 4 такта, как и должен, затем уходит в высокий уровень на 10 тактов (????????????) и так далее 4 раза ( пишу 4 значения). Вопрос первый - какой период работы интерфейса внешней памяти???? Я поиграл значением WST2 - и все равно в сумме получаю, что на запись одного байта у меня уходит 14 тактов..., т.к при уменьшении значения WST2 растягивается время нахождения в высоком уровне между перепадами.....
Далее самое интересное... Отключаю виглер сбрасываю плату и наблюдаю, действительно BLS0 уходит в низкий уровень 4 раза, но при этом время нахождения в высоком уровне растягивается, т.е получается, что после того, как я зашил код в МК интерфейс внешней памяти работает с одними таймингами...... сбрасываю контроллер - с другими......
Народ, помогите пожалуйста!!!
|