|
LPC3250 и MLC контроллер |
|
|
|
Feb 27 2013, 13:00
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154

|
Добрый всем день!!! Не могу понять то ли я ничего не понимаю то ли проблема с 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ы принимают и передают и т.д.
|
|
|
|
|
 |
Ответов
|
Mar 1 2013, 05:57
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154

|
Цитата(AlexandrY @ Feb 27 2013, 16:55)  Да есть в LPC3250 такой нюанс. Не любая периферия может быть прочитана через JTAG. Особенности шинной структуры однако. т.е. все в регистры пишеться? работаем в слепую?
|
|
|
|
|
Mar 1 2013, 07:40
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(deeper_79 @ Mar 1 2013, 09:57)  т.е. все в регистры пишеться? работаем в слепую? Вы можете вывести значения регистров по UART, например.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Mar 1 2013, 10:31
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154

|
Цитата(Lotor @ Mar 1 2013, 10:40)  Вы можете вывести значения регистров по UART, например. через UART все равно 0х07 Цитата(SyncLair @ Mar 1 2013, 11:09)  Вы можете копировать регистры в ОЗУ и там смотреть отладчиком ) а поподробней? просто не очень понимаю как это сделать?
|
|
|
|
|
Mar 1 2013, 11:48
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(deeper_79 @ Mar 1 2013, 14:31)  а поподробней? просто не очень понимаю как это сделать? Просто присвоить переменной значение регистра и посмотреть отладчиком на эту переменную. Но если Вы и по UART принимаете не то, то не вариант.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Mar 1 2013, 12:42
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154

|
Цитата(Lotor @ Mar 1 2013, 14:48)  Просто присвоить переменной значение регистра и посмотреть отладчиком на эту переменную. Но если Вы и по UART принимаете не то, то не вариант. попробовал и так на всякий случай таже ерунда, написал в поддрежку NXP посмотрим что ответят, чет есть у меня подозрения на камень щас другая плата должна прийти посмотрю на ней будет новая инфа отпишусь
|
|
|
|
|
Jul 18 2013, 06:25
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154

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