Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC3250 и MLC контроллер
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
deeper_79
Добрый всем день!!!
Не могу понять то ли я ничего не понимаю то ли проблема с LPC3250
Есть такой код

CODE
int main(void)
{

P3_OUTP_CLR_bit.GPO_20=1;
P3_OUTP_SET_bit.GPO_19=1;

FLASHCLK_CTRL_bit.SLC_NAND_ENA=0;
FLASHCLK_CTRL_bit.SLC_MLC_SEL=1;


// CE controlled by NAND controller
MLC_CEH = 1;

// unlocks the access to MLC NAND Timing register
MLC_LOCK_PR = 0xA25E;
MLC_ICR = 4;
MLC_LOCK_PR = 0xA25E;
MLC_TIME_REG =( 3UL << 0 ) | // Write pulse width (tWP)
( 2UL << 4 ) | // Write high hold time (tWH)
( 3UL << 8 ) | // Read pulse width (tRP)
( 2UL << 12) | // Read high hold time (tREH)
( 4UL << 16) | // Read high to high impedance (tRHZ)
( 2UL << 19) | // Read/Write high to busy (tWB/tRB)
( 5UL << 24); // nCE low to dout valid (tCEA)
}
// main loop
while(1)
{
};
}

и когда начинаю отладку через J-link в IRAM (bootmap=1) после ресета вижу во всех регистрах MLC число 0х07, даже в которых такого значения по определению быть не может (например регистр MLC_CEH=0x07). При работе кода который выше значения в регистрах котроллера MLC не меняються, причем вся остальная перефирия работает UARTы принимают и передают и т.д.
AlexandrY
Цитата(deeper_79 @ Feb 27 2013, 15:00) *
Не могу понять то ли я ничего не понимаю то ли проблема с LPC3250


Да есть в LPC3250 такой нюанс. Не любая периферия может быть прочитана через JTAG.
Особенности шинной структуры однако.
deeper_79
Цитата(AlexandrY @ Feb 27 2013, 16:55) *
Да есть в LPC3250 такой нюанс. Не любая периферия может быть прочитана через JTAG.
Особенности шинной структуры однако.

т.е. все в регистры пишеться? работаем в слепую?
Lotor
Цитата(deeper_79 @ Mar 1 2013, 09:57) *
т.е. все в регистры пишеться? работаем в слепую?

Вы можете вывести значения регистров по UART, например.
SyncLair
Вы можете копировать регистры в ОЗУ и там смотреть отладчиком )
deeper_79
Цитата(Lotor @ Mar 1 2013, 10:40) *
Вы можете вывести значения регистров по UART, например.

через UART все равно 0х07

Цитата(SyncLair @ Mar 1 2013, 11:09) *
Вы можете копировать регистры в ОЗУ и там смотреть отладчиком )

а поподробней? просто не очень понимаю как это сделать?
Lotor
Цитата(deeper_79 @ Mar 1 2013, 14:31) *
а поподробней? просто не очень понимаю как это сделать?

Просто присвоить переменной значение регистра и посмотреть отладчиком на эту переменную. Но если Вы и по UART принимаете не то, то не вариант.
deeper_79
Цитата(Lotor @ Mar 1 2013, 14:48) *
Просто присвоить переменной значение регистра и посмотреть отладчиком на эту переменную. Но если Вы и по UART принимаете не то, то не вариант.

попробовал и так на всякий случай таже ерунда, написал в поддрежку NXP посмотрим что ответят, чет есть у меня подозрения на камень щас другая плата должна прийти посмотрю на ней

будет новая инфа отпишусь
deeper_79
Цитата(deeper_79 @ Mar 1 2013, 15:42) *
попробовал и так на всякий случай таже ерунда, написал в поддрежку NXP посмотрим что ответят, чет есть у меня подозрения на камень щас другая плата должна прийти посмотрю на ней

будет новая инфа отпишусь



все конце концов заработало, но отладку приходиться проводить в слепую, NXP так ничего и не сказало.
Golikov A.
а среда не кеил?
У кейла в дебаге большая беда с отображением значений переменных. Отображаются только те что попадают в общие регистры, остальные отображают не верные значение. Я когда какую то математику отлаживал чуть бошка не лопнула. Самый верный способ это волатаил глобальная переменная, в нее присваиваете регистр, тогда кеил не исказит значения.. вроде бы...
toweroff
Цитата(Golikov A. @ Jul 19 2013, 09:28) *
а среда не кеил?
У кейла в дебаге большая беда с отображением значений переменных. Отображаются только те что попадают в общие регистры, остальные отображают не верные значение. Я когда какую то математику отлаживал чуть бошка не лопнула. Самый верный способ это волатаил глобальная переменная, в нее присваиваете регистр, тогда кеил не исказит значения.. вроде бы...

а для некоторых камней - вообще никакой отладки, даже общей. Я как-то упоминал LPC29xx

Сейчас пробую собрать SVD для SystemView по типу CMSIS кортексов, может что получится


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.