Например TDA7294

Форум РадиоКот :: Просмотр темы - Можно ли увеличить память под прошивку?
Форум РадиоКот
https://radiokot.ru/forum/

Можно ли увеличить память под прошивку?
https://radiokot.ru/forum/viewtopic.php?f=20&t=34706
Страница 1 из 2

Автор:  mr_smit [ Ср сен 08, 2010 13:00:38 ]
Заголовок сообщения:  Можно ли увеличить память под прошивку?

Например, имеется ATMega8, прошивка "раздулась" до 32 кВ. Можно ли поставить какую нибудь дополнительную память которая бы "приплюсовалась" к уже имеющимся в меге 8 кВ ?

Автор:  anatol378 [ Ср сен 08, 2010 13:14:58 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Вот на выбор http://www.myrobot.ru/stepbystep/mc_table.php

Автор:  ibiza11 [ Ср сен 08, 2010 13:16:18 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

На сколько мне известно, нет у AVRок нет такой возможности.

Автор:  mr_smit [ Ср сен 08, 2010 13:39:34 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

ibiza11 писал(а):
На сколько мне известно, нет у AVRок нет такой возможности.

Понятно. Спасибо. Жаль...

Автор:  >TEHb< [ Ср сен 08, 2010 17:01:21 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Однако можно в контроллере написать прошивку так, чтобы та выполняла команды уже из внешней памяти, хоть с MMC. Правда я не очень хорошо представляю как, но мне это кажется вполне себе возможным.

Автор:  Rimsky [ Ср сен 08, 2010 17:05:16 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Цитата:
но мне это кажется вполне себе возможным.

Поверьте мне, это Вам только кажется. Для МК такой подход не реален. :)

Автор:  GP1 [ Ср сен 08, 2010 17:13:12 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

есть вариант:
берем мегу48 пишем, разраслось - переходим на мегу88, разраслось еще - на мегу168, полная совместимость снизу-вверх :)))
вот только чего можно было накидать на 32к :dont_know:
может стоит ревизию программы сделать, да обрезание лишнего сделать? глядишь и в мегу8 все влезет.

Автор:  mr_smit [ Ср сен 08, 2010 18:09:00 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

GP1 писал(а):
...вот только чего можно было накидать на 32к :dont_know:


Это я только в качестве примера привел. Переборщил немного :)

Автор:  Kavka [ Ср сен 08, 2010 21:30:41 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Хе, с внешней памяти выполнять... Типа, оверлейного подхода, как в ДОСе, что-ли?
Когда надо - прошиваем нужный участок ФЛЭШа и переходим туда. 8)
Мнда, только ФЛЭШ так долго не протянет. :)

А память внешнюю к АВРкам можно прицепить, только не "программную" а для данных.
У некоторых 100-ногих мег есть выделенные ноги дли подключения внешней памяти.
Например, к 640 меге можно прицепить до 64Кб статической памяти и она будет на прямую адресуема из программы. Ну за вычетом собственной памяти меги.

Автор:  Jack_A [ Чт сен 09, 2010 08:24:45 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Rimsky писал(а):
Цитата:
но мне это кажется вполне себе возможным.

Поверьте мне, это Вам только кажется. Для МК такой подход не реален. :)


Это только на первый взгляд, если решать задачу "в лоб". Можно написать интерпретатор, зашить его в МК, а саму исполняемую программу держать на внешней SD - MMC, считывая ее как данные и потом покомандно интерпретируя. Как Basic для БК-010-01. Тогда смена программы сведется к простой замене карточки.
Но чтобы это сделать, надо иметь определенный уровень выше среднего. Кто это может сделать - делает, и уже в форум такого вопроса не задает :-)

Автор:  Rimsky [ Чт сен 09, 2010 14:27:58 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Цитата:
Можно написать интерпретатор, зашить его в МК, а саму исполняемую программу держать на внешней SD - MMC

Где то я уже такое говно видел. По моему в мастерките. Типа модульный конструктор с интерпретатором типа языка бейсика для начинающих. Я думаю те ребята, которые серьезно занимаются электроникой и делаю вещи, а не тратят время на всякую херню типа интерпретаторов, даже о этом и не подумают.

Автор:  Int_13h [ Пт сен 10, 2010 17:22:31 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

mr_smit писал(а):
Например, имеется ATMega8, прошивка "раздулась" до 32 кВ. Можно ли поставить какую нибудь дополнительную память которая бы "приплюсовалась" к уже имеющимся в меге 8 кВ ?

такая возможность есть только если код выполняется из памяти (RAM), а не из флеша так что берите ARM и флешку на несколько гигабайт - подгружаете код в RAM и будет вам щастье, а до кучи можно ещё и сжатие сделать чтоб больше кода вместилось в флеш, ну по мойму 51е тоже так могут если память не изменяет, интерпретаторы не слишком эффективный метод особенно по скорости, да и вообще 8 битки использовать для ресурсоёмких задач это изврат, когда есть быстрые и дешовые ARMы от NXP или если уж так полюбились AVR есть Xmega (8/16бит) как минимум и AVR32 (но по цене они проигрывают филлипсовским ARMмам).

Автор:  Jack_A [ Пт сен 10, 2010 20:46:52 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Rimsky писал(а):
Цитата:
Можно написать интерпретатор, зашить его в МК, а саму исполняемую программу держать на внешней SD - MMC

Я думаю те ребята, которые серьезно занимаются электроникой и делаю вещи, а не тратят время на всякую херню типа интерпретаторов, даже о этом и не подумают.

Ну зачем так категорично, не говоря уж об - грубо? Все зависит от конкретной задачи, условий эксплуатации - я имею в виду, если чел не просто лепит что-то для себя, а делает серьезную вещь именно для промышленного применения ( хоть форум и любительский, но неужели никто тут не делал серьезных вещей?)
Я в далеких 80-х делал такую систему, причем не для микроконтроллеров, а на миниЭВМ СМ-4. Хоть там архитектура фон-Неймановская, и на первый взгляд, такой подход мало применим к Гарвардской архитектуре микроконтроллеров, но это если не вдумываться.
У нас в системе был транслятор, преобразовывавший исходный текст программы контроля в компактный псевдокод, который уже и исполнялся собственно интерпретатором. А в чем преимущество - спросите? Огромное! Пользователи системы, простые инженеры, не знающие азов программирования, ЖЕНЩИНЫ - писали работоспособные программы контроля РЭА! - потому что на языке, близком к естественному. Кстати о быстродействии. Поскольку интерпретатору не нужно тратить время каждый раз на анализ текста, достаточно в 3-5 команд принять параметры и уже затем исполнять их с максимально возможной скоростью - быстродействие было просто изумительным. Во всяком случае, компьютер не тормозил процесс, большая часть времени уходила на ожидание завершения процессов измерения.
Мне, напрмер, вполне вероятным представляется контроллер, управляющий какой-нибудь линией. При смене технологии не нужно тащить МК на перепрошивку - достаточно сменить карточку с псевдокодом, который может быть сделан кросс-компилятором на ПК.
Кажется, я про это уже рассказывал, только не помню -- где и кому :-)
Хотя каждый имеет право на свое мнение. Только вот мнение, что "то, чего я не понимаю - гуано" - ошибочно всегда.

Автор:  wss60 [ Пт сен 10, 2010 20:54:22 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Делал я такое правда осталось только часть исходников :)

Код:
unsigned int cmd_api=0,adress_cmd;

unsigned int prog[]=
{
1,0,1,4,
2,0,1,8,
0,0,500,12,
2,0,0,16,
0,0,500,20,
3,0,0,4
};

/***command,data,addr***/
void command(unsigned int adress_){

        switch(prog[adress_]){
   
         case 0: delay_ms(prog[cmd_api+2]);                             //delay                  //delay
                 cmd_api=prog[cmd_api+3];break;  //set addr
      
       case 1: set_ddr(prog[cmd_api+1] , prog[cmd_api+2]);            //DDR
                 cmd_api=prog[cmd_api+3];break;  //set addr   

       case 2: set_port(prog[cmd_api+1] , prog[cmd_api+2]);           //PORT
                 cmd_api=prog[cmd_api+3];break;  //set addr

       case 3:                                                        //reset
                 cmd_api=prog[cmd_api+3];break;  //set addr
            
            
            
        
                       
                  };
}

void delay_ms(unsigned int ms){
    unsigned int zaehler;
   
    while (ms) {
        zaehler = F_CPU / 5000;
       
        while (zaehler) {
            asm volatile("nop");
            zaehler--;
        }
        ms--;
    }
}
void set_ddr (char cmd_1,char cmd_2){

        switch(cmd_1){
   
                case 0: DDRA=cmd_2;break;
            case 1: DDRB=cmd_2;break;
            case 2: DDRC=cmd_2;break;
            case 3: DDRD=cmd_2;break;
               
               };

}
void set_port(char cmd_1,char cmd_2){

        switch(cmd_1){
   
                case 0: PORTA=cmd_2;break;
            case 1: PORTB=cmd_2;break;
            case 2: PORTC=cmd_2;break;
            case 3: PORTD=cmd_2;break;
               
               };

}

Автор:  Rimsky [ Сб сен 11, 2010 11:33:51 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Цитата:
Ну зачем так категорично, не говоря уж об - грубо? Все зависит от конкретной задачи, условий эксплуатации - я имею в виду, если чел не просто лепит что-то для себя, а делает серьезную вещь именно для промышленного применения ( хоть форум и любительский, но неужели никто тут не делал серьезных вещей?)

Мое высказывания отражает лишь мое мнение по поводу интерпретаторов и всяческой такой фиговины. Я не переходил на личности, ни кому не грубил и т.д. То что эта вещь для промышленного применения и чел, как Вы говорите не лепит, то почему он совершенно не знает элементарного , а точнее архитектуры того МК который он использует? :)), а Вам напомню, что Вы забыли перфокарты посоветовать.. :)) По поводу второго, на форуме много умных и уважаемых людей, но они не задают идиотских вопросом и вату не катают.

Автор:  Jack_A [ Сб сен 11, 2010 21:23:34 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Rimsky писал(а):
Вам напомню, что Вы забыли перфокарты посоветовать.. :)) По поводу второго, на форуме много умных и уважаемых людей, но они не задают идиотских вопросом и вату не катают.

Сколько сарказма и самолюбования! Теперь я понимаю, кто Е.Петросяну тексты пишет. Я в лагере не сидел и блатной слэнг "вату катать" до меня не дошел.
Прощайте, Римский, насегда - в этом мире, надеюсь, не встретимся.

Автор:  Rimsky [ Вс сен 12, 2010 05:11:50 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

Цитата:
Прощайте, Римский, насегда - в этом мире, надеюсь, не встретимся.

Пока, пока. Батьке привет! :))

Автор:  YS [ Пн сен 13, 2010 19:17:24 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

А все-таки интерпретатор это не всегда говно... Все зависит от ситуации. И это не смотря на то, что я, признаться, косо смотрю даже на java... Если надо впихнуть в МК AVR с 8Кб памяти гораздо больший объем кода, и нет возможности перейти на другой МК (что, конечно, самое разумное решение), выход только один - интерпретатор. Но, конечно, высокопроизводительной работы в этом случае ждать не приходится. Хотя, с другой стороны, все операции, критичные к ресурсам, можно реализовать в родном коде в виде команд... Короче, все зависит от конкретной ситуации.

Автор:  Jack_A [ Пн сен 13, 2010 20:21:11 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

YS писал(а):
Хотя, с другой стороны, все операции, критичные к ресурсам, можно реализовать в родном коде в виде команд... Короче, все зависит от конкретной ситуации.

Не только можно - нужно! Никто не станет спорить : Бейсик, к примеру, в смысле быстродействия - полный отстой. Но когда нам понадобилось быстро собрать систему програмирования - взяли его, бо там готовая работа с файлами, форматные преобразования, библиотека функций. А критичные по времени выполнения блоки написали на асме, благо сам Бесик поставлялся в дистрибутивах и позволял смастерить систему на свой вкус, включая функции пользователя. Как говорил Маменко, "публика неистовствовала" - простота Бейсика в сочетании с быстродействием на уровне машинных команд.
Если решение соответствует заданным критериям, то уже третьестепенной важности - на чем оно, да хоть на Коболе.

Автор:  Danko [ Вт сен 14, 2010 10:01:02 ]
Заголовок сообщения:  Re: Можно ли увеличить память под прошивку?

YS писал(а):
Если надо впихнуть в МК AVR с 8Кб памяти гораздо больший объем кода, и нет возможности перейти на другой МК (что, конечно, самое разумное решение)


YS писал(а):
(что, конечно, самое разумное решение)
Поддерживаю

С самого начала читаю ветку и до сих пор понять не могу.

Есть рабочий проект, допустим на мега8, точнее не проект, а рабочее устройство. Нужно изменить программу, добавить новые функции и программа уже не помещается. И что мы просто подцепляем флешку, переписываем программу с нуля. Программу ладно, а где уверенность, что флешку есть куда подцепить. Т.е. еще и переделываем плату.

Так где логика держатся за мега8 ?

Объясните пожалуйста.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/