Решил побаловаца внешними банками памяти. Собсно, у кого какой опыт подключения к AVR, ARM7 ? Интересно посмотреть схемки, софт, и тп. Можно собрать в кучу пока все, потом в вику. Также неплохо услышать avr123 с его тоннами ссылок А также принципы действия, основы, что читать...
Сергей писал(а): у кого какой опыт подключения к AVR
Подключал в железе датафлэш SPI AT45DB161 - 2 мегабайта за 60 руб - опыт описал и выложил исходнички - http://avr123.nm.ru/z7.htm
Все апноуты по AVR есть внизу странички - http://avr123.nm.ru/07.htm - Ctrl+F и введите тип памяти - "ентер" - найдутся примеры наверняка.
Сергей писал(а): ARM7 ? Интересно посмотреть схемки, софт, и тп.
Это есть на сайтах производителей - макетные платы - development board - обычно там и внешняя память есть. Платы со все документацией и примерами исходников есть на - http://www.keil.com/boards/ http://olimex.com и http://st.com Примеры исходников для разной памяти есть и примерах в компиляторах и в PROTEUS ! конечно же.
Сергей писал(а): А также принципы действия, основы, что читать...
Сомневаюсь что нужно так глубоко копать ... но очевидно на сайтах производителей это лежит и в учебниках наверно.
FRAM в примерах не встерчал, интересно конечно. Вот описание карткое http://kazus.ru/articles/419.html Видел, что в макетных платах применяют SDRAM, SRAM ( какие еще есть? ) - что лежит в основе выбора типа памяти?
Я так понял, при работе с внешней flash, МК должен поддерживать это. И при работе используеца либо только внешняя либо только внутренняя или как?
Добавлено спустя 43 секунды: Хочеца услышать или прочитать теорию работы всего этого..
Используют SRAM в основном. Она простая и тупая - выставил адрес - записали или прочитали данные. DRAM сложнее - ее надо периодически регенерировать. Зато она больше и сильно дешевле. Флэши и ПЗУхи всякие - это вообще зоопарк. Есть стандарт только на I2C EEPROM, а все остальное у каждого свое. По поводу загрузки программы из внешней памяти не знаю, ни разу не сталкивался. В АРМах можно наверно, а в АВР вряд-ли. Из того что знаю - к АВРам некоторым можно цеплять 64к памяти и они ее могут аппаратно использовать как оперативу. Правда работать будет немного медленнее, чем встроенная, да и адресное пространство пересекается - так что или все переменные во внешней, или часть ее не видно будет. Ну а если делать все вручную - то хоть мегабайт цепляй, если ног хватит. Только функции записи и чтения самому писать придется, не говоря уже об указателях. Я так работал с внешней 256кб SRAM - но задача простая была - массив int`ов сохранить и прочитать. Тоесть стек туда тащить не приходилось, да и разнородные переменные создавать тоже было не нужно. А иначе - придется свой некий диспетчер памяти писать, или что-то типа FATа - чтоб знать потом что по какому адресу лежит.
Меня интересует как раз такое подключение при котором не нужно в код ничего добавлять (кроме возможно инициализации памяти). Кто знает как это сделать? В частности для LPC2138 арма...
Виталий писал(а):Меня интересует как раз такое подключение при котором не нужно в код ничего добавлять (кроме возможно инициализации памяти). Кто знает как это сделать? В частности для LPC2138 арма...
Для ARM'ов, чтобы добавить оперативки и она были прозрачна с точки зрения программиста (ну, тока инициализировать в начале), нужно чтобы у камня была встроена поддержка этого безобразия ) для lpc они называют это EBI - external bus interface. Ни у одного камня серии lpc20xx/lpc21xx такого нету. А вообще, часто это зовут MMU или MCU.. будет у тебя такой камень, сможешь на нем линукс запускать нормально =) Самый простенький lpc с таким интерфейсом - lpc22xx
-= Александр =- писал(а):DRAM сложнее - ее надо периодически регенерировать. Зато она больше и сильно дешевле.
Сейчас не редко в ДШ в их составе вижу блок регенерации. И интерфейс не сильно сложнее. Пока руки не доходят до экспериментов с подключением драм к аврке.
ПС: У авр 4-8 КиБ внешней ОЗУ не используется, т.к. совпадают с адресами внутренней памяти и обрашение идет к внутренней.
EdGull писал(а):а я подключал в железе датафлэш SPI microSD - 1024 мегабайта за 105 руб
Не ссорьтесь Каждой памяти - свое применение. Датафлэш помрет при непрерывной записи оперативных данных, требует фактически поддержки FAT на борту МК, зато FRAM - дороговата и малого объема.
Еще интересна реализация "задачности". То есть нужно както скомпилить программу. Записываем ее куданить во флеш(внешнюю) а потом, имеющимся бутлоадером(или прошитой в МК программой) выполнять эти отдельные подпрограммы. Это както называеца? В какую сторону рыть?
Сергей писал(а):Еще интересна реализация "задачности". То есть нужно както скомпилить программу. Записываем ее куданить во флеш(внешнюю) а потом, имеющимся бутлоадером(или прошитой в МК программой) выполнять эти отдельные подпрограммы. Это както называеца? В какую сторону рыть?
ЭТО называется ОС - Операционая Система Рыть в сторону OS,malloc, exec
Да не, инфа есть... примерно в каждой второй книжке по ассемблеру... а некоторые извращенцы даже этим всем занимались в детстве, пробовали свою ОСь написать... поэтому и молчим ) лучше возьми готовое и не извращайся )