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

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

|
Реально ли использовать EEPROM для памяти программ (исполняемого кода) в добавок к основным 0x03FF(2Kb)? В tiny2313?
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 27)
|
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 Вам ничего не говорит? Прочитайте хотя бы даташит, перед тем, как других учить.
|
|
|
|
|
Oct 15 2009, 07:04
|

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

|
Цитата(BORIV @ Oct 15 2009, 15:23)  Контроллер 2313 прекрасно сбалансирован и очень дёшев. Сбалансирован для определенного ряда задач. Цитата(BORIV @ Oct 15 2009, 15:23)  А если всё время не хватает памяти, следует в первую очередь обратить внимание на стиль программирования. И на задачу, которую пытаемся реализовать на данном кристалле - тоже. Цитата(BORIV @ Oct 15 2009, 15:23)  Адептам языков высокого уровня это не объяснишь. ЯВУ тут непричем.
--------------------
Выбор.
|
|
|
|
|
Oct 15 2009, 07:57
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(haker_fox @ Oct 15 2009, 11:04)  Сбалансирован для определенного ряда задач.
И на задачу, которую пытаемся реализовать на данном кристалле - тоже.
ЯВУ тут непричем. Поясню что я хотел сказать. Если других ресурсов кристалла, кроме памяти программ, для решаемой задачи достаточно, то и памяти должно хватить. Естественно, подразумеваются задачи для микроконтроллера, задачи по управлению чем-то на основании чего-то. Языки "низкого уровня", как Вы их хотите, повидимому, назвать, позволяют "успешно программировать" не особенно вникая во внутренности кристалла и его особенности, что Вы с коллегами наглядно и продемонстрировали, не зная возможностей базового кристалла семейсва Tiny. Я нисколько не против применения языков высокого уровня. Только и задача должна быть соответствующая. Для ATtiny2313, я бы их не советовал.
|
|
|
|
|
Oct 15 2009, 08:05
|

старший лаборант
     
Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097

|
Цитата(Xenia @ Oct 13 2009, 01:43)  Однако совместимых по ногам с 2312 не существует. Существуют, но не AVR. AT89LP4052. Только RESET инвертировать. 4 кБ. В DIP-20, но с другой цоколёвкой, "51" есть даже с 8 кБ флэши - P89LPC9221. (Прошу не рассматривать вышесказанное как пиар 51  )
--------------------
Китайская комплектация - европейское качество! ;)
|
|
|
|
|
Oct 15 2009, 11:46
|

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

|
Цитата(BORIV @ Oct 15 2009, 16:57)  Если других ресурсов кристалла, кроме памяти программ, для решаемой задачи достаточно, то и памяти должно хватить. Естественно, подразумеваются задачи для микроконтроллера, задачи по управлению чем-то на основании чего-то. Несогласен. Пусть ресурсы, кроме памяти, тини нас устраивают. Хватает портов, таймеров и проч. Но необходимо разместить множество константных данных: таблицы, строки и т.п. Что делать? Ставить внешнюю память для этого? Ну или просто алгоритм задачи объемный? И даже периферии тини12 (раритет) хватит. А памяти - нет. Цитата(BORIV @ Oct 15 2009, 16:57)  Языки "низкого уровня", как Вы их хотите, повидимому, назвать Что-то я не припоминаю, чтобы говорил о языках низкого уровня, т.е об ассемблере. Цитата(BORIV @ Oct 15 2009, 16:57)  позволяют "успешно программировать" не особенно вникая во внутренности кристалла и его особенности Это не так! ЯВУ (Вы, видимо, его назвали "языком низкого уровня") нисколько не позволяет замаскировать внутринности кристалла. Никто не освобождает от необходимости записывать данные в регистры ввода-вывода, обрабатывать прерывывания и т.д. Цитата(BORIV @ Oct 15 2009, 16:57)  что Вы с коллегами наглядно и продемонстрировали, не зная возможностей базового кристалла семейсва Tiny. Еще раз повторяю: это была ошибка. Просто ошибка. Это случается со всеми. И это не повод говорить о не знании. Цитата(BORIV @ Oct 15 2009, 16:57)  Я нисколько не против применения языков высокого уровня. Только и задача должна быть соответствующая. Для ATtiny2313, я бы их не советовал. Да не в з адаче дело. ЯВУ может быть использован как для реализации мигалки светодиодом, так и для DES алгоритма. И ЯВУ можно применть для тини. Умеренно естественно! Но если программа на ЯВУ не помещается в память тини, это тоже не повод говорить, что ЯВУ плох.
--------------------
Выбор.
|
|
|
|
|
Oct 15 2009, 18:52
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820

|
Цитата(haker_fox @ Oct 15 2009, 15:46)  Да не в задаче дело. ЯВУ может быть использован как для реализации мигалки светодиодом, так и для DES алгоритма. И ЯВУ можно применть для тини. Умеренно естественно! Но если программа на ЯВУ не помещается в память тини, это тоже не повод говорить, что ЯВУ плох. Тогда согласитесь, что не стоит говорить о том, что не хватает памяти, если "мигалка светодиодом" на ЯВУ не помещается. Все упоминают задачи, которые гораздо сложнее "мигалки светодиодами", хоть бы пару примеров привели.
|
|
|
|
|
Oct 15 2009, 21:55
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
В данном случае, как мне кажется, это вы не знаете о чём говорите. Выигрыш программирования на ASM по сравнению с тем же Си от IAR, к примеру не превышает 10% при хорошем знании того и другого. И то это при условии, что значительно лучше используются регистры. При объёмных данных думаю компилятор вас уделает.
В данном случае обсуждение бессмысленно на мой взгляд. Есть МК ATMega8(88), которая стоит те же деньги, занимает на плате меньше места, располагает большими ресурсами и имеет 8К памяти. При желании меняется как на м48 так и на м168, со всеми вытекающими.
|
|
|
|
|
Oct 15 2009, 23:31
|

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

|
Цитата(BORIV @ Oct 16 2009, 03:52)  Тогда согласитесь, что не стоит говорить о том, что не хватает памяти, если "мигалка светодиодом" на ЯВУ не помещается. Так про это никто, кроме Вас пока и не говорит в этом топике. Цитата(BORIV @ Oct 16 2009, 03:52)  Все упоминают задачи, которые гораздо сложнее "мигалки светодиодами", хоть бы пару примеров привели. Контроллер коллекторного двигателя постоянного тока, система управления трехзвенным манипулятором... подходит?  Цитата(SasaVitebsk @ Oct 16 2009, 06:55)  При объёмных данных думаю компилятор вас уделает. +1. Цитата(SasaVitebsk @ Oct 16 2009, 06:55)  В данном случае обсуждение бессмысленно на мой взгляд. +1.
--------------------
Выбор.
|
|
|
|
|
Oct 16 2009, 09:26
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(BORIV @ Oct 16 2009, 11:16)  Ну, если Мега8 занимает меньше места на плате, чем тини2313 и контроллер коллекторного двигателя постоянного тока- это не контроллер светодиода опторазвязки, дискутировать действительно ... . Откройте pdf и посмотрите: Atmega8(TQFP) 9.23*9.23 (мм) Attiny2312(SOIC) 10*12.7 (мм) Дип корпус уже умер, а до mlf мы ещё не дошли. В своё время отказ от 2313 произошёл только из-за её размеров и сопоставимых возможностей. В настоящий момент t2313 мы не применяем. Только м48/м8/м88. Цена на м8 опустилась ниже 1$. При последнем применении цена на t2313 была выше чем на m8. Причина думаю в популярности m8. Каждая задача по своему сложная. Бывают достаточно сложные "контроллеры светодиодов". Никто и не возражает. Но вот вам на вскидку недавно делал HART модем. Там у меня два фильтра 5-го порядка и перемножение сигналов. Никто не спорит, я это запросто напишу и на ASM. Но при экспериментах я экспериментировал с этими фильтрами. Я их за день перебирал 10-15 штук. Моделировал на PC и вставлял. Смотрел качество восстановления. Экспериментировал с АРУ и прочим. И не надо мне рассказывать сколько за день я бы проверил фильтров на ASM. Сколько я бы ошибок сделал при переносе на ASM. Я просто знаю. Для примера - у меня есть бутлоадер с Wake протоколом, шифрованием и полной идентификацией. Всё это влазит в 1к на Си. В открытых исходниках я видел бутлоадер с шифрацией без протокола и идентификации ~700 байт. Учитывая что сам Wake занимает байт 200 с идентификацией - стоит задуматься. Правда?
|
|
|
|
|
Oct 17 2009, 00:59
|

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

|
Цитата(SasaVitebsk @ Oct 16 2009, 18:26)  И не надо мне рассказывать сколько за день я бы проверил фильтров на ASM. Сколько я бы ошибок сделал при переносе на ASM. Я просто знаю. Просто возникает ощущение, что уважаемый BORIV, особенно после этого Цитата(BORIV @ Oct 16 2009, 03:52)  Все упоминают задачи, которые гораздо сложнее "мигалки светодиодами", хоть бы пару примеров привели. не часто сталкивается с задачами "сложнее мигалки светодиодами". Чтож, это вполне нормально!
--------------------
Выбор.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|