Methane 0 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба в том-то и дело, что модули могут быть разными и с разной внутренней организацией. В конечном устройстве для управления ими используются разные CPLD в зависимости от типа используемых микросхем. В большинстве случаев формируется 2-банковая система. При этом модуль может иметь организацию 16М (2 банка по 8М), 32М (2 банка по 16М) и 64М (2 банка по 32М), однако может быть и однобанковая архитектура (то есть сигналы /CS0 и /CS1 конвертятся CPLD'шкой в старший адрес и один /CS) Моя задача - обеспечить запись и проверку контрольной суммы модуля. Также на каждом модуле есть (впаяны перемычки) некий ID, по которому можно судить о внутренней организации. Фактически, в CPLD целевого девайса и записана прошивка, которая меняет свои функции (адрес, /CS0, /CS1) в зависимости от модуля и для самого девайса внутренняя организация модуля не важна (он не пишет ничего туда, только читает) Вообще, я тоже могу поставить некую CPLD в свой девайс, однако хочу убедиться, что в данном случае контроллер External Memory LPC не обеспечит мне аналогичный функционал Была мысль использовать ту CPLD, которая стоит в целевом устройстве и воткнуть в свой девайс панельку под нее, но доступ к этой микросхеме в целевом девайсе достаточно затруднен и, в силу 90% кривости рук обслуживающего персонала, очень нежелателен в принципе Какой-то "поток разума". Что вы вообще делаете? Поставте контроллер со SDRAM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 10 февраля, 2009 Опубликовано 10 февраля, 2009 · Жалоба Какой-то "поток разума". Что вы вообще делаете? Поставте контроллер со SDRAM. а нафига мне SDRAM, если мне нужны совершенно конкретные, готовые модули? :laughing: Решил объединить /CS0 и /CS1 по AND, то же самое /CS2 и /CS3 на каких-нибудь PicoGate, получим два банка по 32М BLSы идут лесом, буду пользовать общий /WR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 11 февраля, 2009 Опубликовано 11 февраля, 2009 (изменено) · Жалоба Нашел документ lpc24xx_externalmemory.pdf, нормально все расписано, с диаграммами по тактам ожидания. Натолкнулся тут на такую вещь. Отлаживаю в симуляторе Keil 3.4. Делаю указатель на DWORD, указываю ему старт 0х8000 0000. Пр попытке записи в эту область получаю *** error 65: access violation at 0x80000000 : no 'write' permission Посмотрел настройки банков - все в норме, Write Protect сброшен. Но чую, что не там собака порылась :( Изменено 11 февраля, 2009 пользователем toweroff Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 11 февраля, 2009 Опубликовано 11 февраля, 2009 · Жалоба Нашел в Debug->Memory Map Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bigarmer 0 12 февраля, 2009 Опубликовано 12 февраля, 2009 · Жалоба Have a look at the schematics of EA LPC2468 OEM board. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться