|
И еще чуть-чуть места, Что задействовать под память программ? |
|
|
|
Oct 12 2009, 22:23
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367

|
Реально ли использовать EEPROM для памяти программ (исполняемого кода) в добавок к основным 0x03FF(2Kb)? В tiny2313?
|
|
|
|
|
Oct 12 2009, 22:43
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(idle1 @ Oct 13 2009, 02:23)  Реально ли использовать EEPROM для памяти программ (исполняемого кода) в добавок к основным 0x03FF(2Kb)? В tiny2313? Думаю, что нереально. Доступ к EEPROM гораздо продолжительнее, чем FLASH, чтобы на программа могла бы там работать с нормальной тактовой частотой. А главное, что это и технически невозможно. Да и тиня эта не способна модифицировать свой программый код, в отличие от старших моделей AVR (типа ATmega). Поэтому даже оверлей тут невозможно организовать (обменивать код между FALSH и EEPROM по мере надобности). Самое разумное, что можно посоветовать в том случае, когда не хватает памяти для кода - взять МК с большим объемом памяти. Однако совместимых по ногам с 2312 не существует. И последнее. Если памяти не хвататает чуток, то еще можно переписать свою программу на ассемблере, если до этого она у вас была написана под С. Startup-блок можно еще удалить, который инициирует регистры, и делать это самим. Ну вот в общем и все, что приходит в голову.
|
|
|
|
|
Oct 13 2009, 07:18
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(Xenia @ Oct 13 2009, 02:43)  Да и тиня эта не способна модифицировать свой программый код, в отличие от старших моделей AVR (типа ATmega). Поэтому даже оверлей тут невозможно организовать (обменивать код между FALSH и EEPROM по мере надобности). С чего Вы это взяли? Команды записи EEPROM присутствуют. Обмен сделать можно, только долго будет.
|
|
|
|
|
Oct 13 2009, 07:56
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367

|
Цитата(BORIV @ Oct 13 2009, 11:18)  С чего Вы это взяли? Команды записи EEPROM присутствуют. Обмен сделать можно, только долго будет. EEPROM писать то не проблема, а вот как с флеш дела обстоят? haker_fox на мой взгляд прав. Здесь я хотел убедиться в правильности своего мнения.
|
|
|
|
|
Oct 13 2009, 08:42
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(idle1 @ Oct 13 2009, 11:56)  EEPROM писать то не проблема, а вот как с флеш дела обстоят? haker_fox на мой взгляд прав. Здесь я хотел убедиться в правильности своего мнения. Извиняюсь, описался: команды записи флеш присутствуют. Ничто не мешает кусок из EEPROM перекинуть во флеш, если время не критично. (Использовал флеш для сохранения данных, редко изменяемых.)
|
|
|
|
|
Oct 13 2009, 09:16
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(Сергей Борщ @ Oct 13 2009, 13:03)  И сколько займет код для такого перекидывания? И на сколько проходов программы по обмениваемым кускам хватит ресурса флеш? Я отвечал на неправильное утверждение в посте №2. Целесообразно ли применять такое решение, зависит от конкретной задачи. В 99% случаев - нецелесообразно.
|
|
|
|
|
Oct 13 2009, 13:34
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 6-04-09
Из: Донецк
Пользователь №: 47 247

|
На сколько я знаю для tiny2313 нельзя сделать bootloader, а Вы пишите: Цитата(BORIV @ Oct 13 2009, 11:42)  команды записи флеш присутствуют. Как так? Или я чего-то не допонял...
--------------------
|
|
|
|
|
Oct 13 2009, 15:22
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(tourist @ Oct 13 2009, 17:34)  На сколько я знаю для tiny2313 нельзя сделать bootloader, а Вы пишите: Как так? Или я чего-то не допонял... Обложка даташита: -2K Bytes of in-System Self Programmable Flash.
|
|
|
|
|
Oct 13 2009, 23:37
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(BORIV @ Oct 14 2009, 00:22)  Обложка даташита: -2K Bytes of in-System Self Programmable Flash. Читайте что такое ISP.Кратко: это технология, которая позволяет программировать микросхему, не вынимая ее из устройства, т.е. не демонтируя с печатной платы, т.е. в системе.
--------------------
Выбор.
|
|
|
|
|
Oct 14 2009, 00:13
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Вообще-то нужно различать ISP (In-System-Programming) и IAP (In-Application-Programmig). Первый термин означает, что программу в память МК можно загрузить извне, без выпаивания его из устройства. Практически все современные МК имеют подобную возможность. Для этого могут использоваться совершенно разные интерфейсы JTAG, UART, SPI, USB и т.п. Но в любом случае при программировании МК используется загружаемая извне или уже встроенная в виде ROM или запрограммированной части Flash, специальная программа (исполняемый код), называемая Bootloader. Эта программа "знает как" и "умеет" программировать Flash-память данного конкретного МК. IAP же означает, что МК может модифицировать свою собственную Flash-память, выполняя в самом МК пользовательскую программу, загруженную в память программ. Причем IAP может работать исключительно с использованием встроенной программы Bootloader, а может и не использовать ее, если имеется такая аппаратно-программная возможность и алгоритмы программирования описаны в документации. МК, фигурирующий у топикстартера (ATtiny2313), совершенно точно поддерживает ISP. А вот насчет IAP я что-то не уверен. Но поскольку я не являюсь большим знатоком семейства AVR, то не буду утверждать этого однозначно.
|
|
|
|
|
Oct 14 2009, 11:07
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(haker_fox @ Oct 14 2009, 03:37)  Читайте что такое ISP.Кратко: это технология, которая позволяет программировать микросхему, не вынимая ее из устройства, т.е. не демонтируя с печатной платы, т.е. в системе. А слово SELF Вам ничего не говорит? Прочитайте хотя бы даташит, перед тем, как других учить.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|