|
|
  |
LPC4088+NOR Flash, Проблемы со статической памятью на CS1 |
|
|
|
Aug 12 2013, 20:29
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 12 2013, 21:39)  1. EMCSC в 0. Это даст нам выставление на пинах EMC (An..A0) адреса в виде (An+1..A1). Если бит будет в 1, то нужный пин A0 не будет работать! 2. К baseaddr прибавляем нужный адрес, сдвинутый на 1 разряд влево должно работать Так получается, что при EMCSC = 1 A0 в режиме доступа по словам не используется вообще, все линии адреса смещаются вправо на один. А при EMCSC = 0 линии все-таки не смещаются, происходит следующее: static memory addresses are shifted to match the lowest address bit needed for bus width. Но как по мне, это значит, что адрес автоматически сдвигается влево на разряд, или я что-то не понимаю?
|
|
|
|
|
Aug 12 2013, 20:43
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(Polaris @ Aug 13 2013, 00:29)  Так получается, что при EMCSC = 1 A0 в режиме доступа по словам не используется вообще, все линии адреса смещаются вправо на один. А при EMCSC = 0 линии все-таки не смещаются, происходит следующее: static memory addresses are shifted to match the lowest address bit needed for bus width. Но как по мне, это значит, что адрес автоматически сдвигается влево на разряд, или я что-то не понимаю? да как раз не влево, а вправо! к первому нужному биту, в зависимости от разрядности шины в 16-битном варианте - на 1 бит, в 32-битном - на два, в 8-битном - вообще не сдвигается (0) в результате самый младший адресный пин будет принимать значение A1, A2 или A0 Но, т.к. NOR адресуется, все-таки, с нуля, то значение адреса нужно сдвинуть на 1 бит теперь уже влевоНарисуйте уже картинку себе и все сразу станет ясно. В данном случае физические пины - это некоторое окно, на которое отображается содержимое адреса, когда лезешь в область CS1 Старшая часть дешифруется и начинается работа с EMC и содержимым младшей части (сколько там? A0-A24 или A25). Нарисуйте эту картинку и куча вопросов сразу отпадет сама собой
|
|
|
|
|
Aug 12 2013, 21:32
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 12 2013, 22:43)  да как раз не влево, а вправо! к первому нужному биту, в зависимости от разрядности шины в 16-битном варианте - на 1 бит, в 32-битном - на два, в 8-битном - вообще не сдвигается (0) в результате самый младший адресный пин будет принимать значение A1, A2 или A0 Но, т.к. NOR адресуется, все-таки, с нуля, то значение адреса нужно сдвинуть на 1 бит теперь уже влево Нарисуйте уже картинку себе и все сразу станет ясно. В данном случае физические пины - это некоторое окно, на которое отображается содержимое адреса, когда лезешь в область CS1 Старшая часть дешифруется и начинается работа с EMC и содержимым младшей части (сколько там? A0-A24 или A25). Нарисуйте эту картинку и куча вопросов сразу отпадет сама собой Ок, спасибо, что-то я совсем торможу. Завтра попробую вычитать, но я вроде бы пробовал уже и сдвигать, эффекта это не дало. Но в любом случае попробую еще, других вариантов пока нет. Спасибо!
|
|
|
|
|
Aug 13 2013, 09:25
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 13 2013, 11:16)  да сколько раз-то! EMCSC=0! Какое-то там описание очень противоречивое, в CMSIS вообще другое написано как обычно. Но эффекта нет и при EMCSC = 0, как я уже и говорил.
|
|
|
|
|
Aug 13 2013, 09:36
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 13 2013, 11:31)  а вот при нулевом бите нужно уже как раз смотреть задержки что там с тактированием EMC, какая частота? что показывает осциллограф? совпадают реальные тайминги с рассчитанными? Частота 60 МГц, 120 поделена на 2. Тайминги выставлены на максимум. Осциллографом тут довольно затруднительно подцепиться, к сожалению.
|
|
|
|
|
Aug 13 2013, 10:43
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 13 2013, 12:13)  Кстати, а куда подключен по схеме /WR NOR? P4.25, как и полагается
|
|
|
|
|
Aug 13 2013, 11:24
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 13 2013, 13:03)  Проверьте настройки ByteLane на всякий случай. Жаль, что осциллом не заглянуть, много шаманств бы не понадобилось Что там еще.. ChipSelect=LOW, буферизацию отключить пока, BurstRead тоже Ага, уже поотключал это. А что конкретно наиболее характерно посмотреть осциллографом? Возможно, что где-то смог отковырнуть лак на дорожках.
|
|
|
|
|
Aug 13 2013, 12:39
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 13 2013, 13:37)  /WR относительно /CS, их длительности Запустить в цикле чтение/запись по паре-тройке адресов, четных и нечетных; посмотреть, что же все-таки на самом деле творится в младших разрядах адреса
Вот еще нашел что интересное:
EMCControl register
Сам по себе EMC-то включен? Ну да, включен, конечно
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|