Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.05.2007, 17:02  
anton_avr
Частый гость
 
Регистрация: 01.05.2007
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
anton_avr на пути к лучшему
По умолчанию Наращение памяти программ

Скажите, можно ли увеличить память программ микроконтроллера, скажем Atmegа? Т. е. программу разместить в EEPROM.
Реклама:
anton_avr вне форума  
Непрочитано 16.05.2007, 18:24  
kapNemo
Временная регистрация
 
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
kapNemo на пути к лучшему
По умолчанию

Нельзя.
kapNemo вне форума  
Непрочитано 16.05.2007, 20:32  
anton_avr
Частый гость
 
Регистрация: 01.05.2007
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
anton_avr на пути к лучшему
По умолчанию

А возможно это сделать с использованием интерпритатора? (обрабатывать команды при помощи мк,
а считывать с памяти)
anton_avr вне форума  
Непрочитано 16.05.2007, 22:27  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

В меге - нельзя. Есть мк, которые преназначены для работы с внешней памятью - в АОНе атмеловкий 80с32х2- там стоит память на 256 килобайт, кажется.
urry вне форума  
Непрочитано 17.05.2007, 09:15  
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Цитата:
А возможно это сделать с использованием интерпритатора? (обрабатывать команды при помощи мк,
а считывать с памяти)
Никто не мешает Вам читать данные из внешней памяти, напр. через SPI, и далее декодировать, напр. методом табличной выборки, и вызывать соответствующую команде подпрограмму. НО это применимо когда нужно оперативно изменять программу работы устройства. Команды в памяти - это не исполняемый код процессора, а своего рода высокоуровневый язык описания алгоритма работы. Если Вы захотите написать программу напр. на С, а затем оттранслировать ее, записать во внешнюю память и чтобы она выполнялась, то у Вас ничего не получится. Теоретически конечно можно, но практически нужно загружать в память программ, и если Вам не хватает памяти, то нужно либо писать более эффективную программу, либо брать другой МК.
Приведу пример из своей практики использования памяти EEPROM в качестве "памяти программ". Есть некоторое устройство телеметрии с каналом связи. Перед работой необходимо запрограммировать протокол передачи данных в зависимости от условий работы. Порядок измерения, передачи данных, паузы, скорость, количество повторений, переходы описаны в программе.
Устройство при определенных условиях переходит в режим программирования, используется свой загрузчик с командами, контрольными суммами и другой лабудой. Загружается программа в EEPROM и далее исполняется.
Пример программы:
1. Выдать кадр синхронизации 5 раз
2. Выполнить полный замер и передать кадр типа 0 1 раз
3. Выполнить полный замер и передать кадр типа 1 1 раз
4. Выполнить короткий замер и передать кадр типа 2 3 раза
5. Повторить строки с 3 по 4 10 раз
6. Перейти к строке 2
7. Конец программы

Каждая команда имеет свой код. В моем случае это был код с полями в которых указывался тип команды (замер или оператор перехода по счетчику повторений или др.), номер кадра, количество повторений кадра, дополнительные параметры. После считывания команды она декодируется и вызывается соответствующая подпрограмма.
Вообще конечно у меня это сложнее, но был и такой случай. Устройство получает по последовательному интерфейсу команду, она декодируется, т.е. из таблицы выбирается адрес подпрограммы, и исполняется. В таблице в ячейке с индексом 0 содержиться адрес подпрограммы, соответствующей команде с кодом 0 и т.д.
Подитожим. В AVR память программ CODE только встроенная, внешней может быть только память данных. Чтобы изменять программу в процессе работы можно использовать память данных совместно с интерпретатором. Для этих же целей можно использовать и внутрисхемное программирование, в т.ч. с помощью другого сервисного МК, не обязательно компьютера. Для сокращения объема кода необходимо использовать эффективное программирование. Для увеличения обьема памяти программ нужно использовать другой МК, либо два МК, двухъядерный контроллер это круто! Правда надо будет грамотно распараллелить задачи и обеспечить бесконфликтное взаимодействие.

В любой ситуации есть хотя бы один выход. Удачи.
nokazus вне форума  
Непрочитано 17.05.2007, 09:21  
julbu
Прописка
 
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
julbu на пути к лучшему
По умолчанию

Basic Stamp - делает. Может в инете и есть hex интерпритатора.
julbu вне форума  
Непрочитано 17.05.2007, 19:37  
anton_avr
Частый гость
 
Регистрация: 01.05.2007
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
anton_avr на пути к лучшему
По умолчанию

спасибо. Будем пробовать!
anton_avr вне форума  
Непрочитано 17.05.2007, 22:28  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Сообщение от julbu
Basic Stamp - делает. Может в инете и есть hex интерпритатора.
Только прошивки этого штампа нету...
Что то подобное было в РАДИО для авр.
dosikus вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новые версии программ EKuzmich Микроконтроллеры, АЦП, память и т.д 0 12.08.2009 09:40
Вопрос по ипытаниям программ на надёжность Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 0 14.03.2008 13:11
Память программ в 16F84 Микроконтроллеры, АЦП, память и т.д 4 20.11.2005 23:25
Написание программ для PIC на C DrEl Proteus, KiCAD и другие ECAD 15 28.07.2005 14:12
Как значение из памяти программ Akmal Микроконтроллеры, АЦП, память и т.д 2 20.02.2005 02:21


Часовой пояс GMT +4, время: 13:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot