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

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

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

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

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

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

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

 
Опции темы
Непрочитано 10.08.2006, 10:59  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 72
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию Работа с памятью программ ATmega128(256)

В форуме недавно поднимался общий вопрос о различиях ATmega16 и 128. А у меня возник вопрос конкретный: как обращаться к адресам flash-памяти, большим, чем 64 кБайт в меге128 (или, тем более, меге256)?
Прочитав даташит узрел некий регистр RAMPZ, младший разряд которого овечает за выбор младших или старших 64 кБайт памяти программ. Но опять же, если верить даташиту, этот регистр используется только с командой ELPM (Extended Load Program Memory - расширенная LPM, считывание программной памяти) при "самопрограммировании" памяти программ.
А как, интересно, производится адресация в командах условных и безусловных переходов, если программный счётчик 16-разрядный?
Куда осуществляется возврат из прерывания или при выходе из функции, если стек тоже 16-разрядный?
Или, может, я не всё прочитал или не всё правильно понял?
Хелп, плиз!
Реклама:
paha1956 вне форума  
Непрочитано 10.08.2006, 12:36  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

используйте CodeVisionAVR и вам не придется заморачиваться "по пустякам".
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.08.2006, 13:01  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 72
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию

Как говорится, мелочь, а приятно...
Просто, когда такой "пустяк" не имеет, пока, объяснения, он уже перестаёт быть "пустяком". Ладно, хрен с ней, с мегой128. А вот этот самый CodeVision как будет работать с мегой 256? Как организовать правильный возврат из прерывания, т.е. на ту же страницу памяти, из которой это прерывание было вызвано, если обработчик находится в другой странице? Там РС, как я понял, 17-разрядный, а стек? Тоже 17-разрядный? Это в ОЗУ, организованном побайтно?
Мне кажется, что рано или поздно с такими "пустяками" всё-таки придётся разбираться.
paha1956 вне форума  
Непрочитано 10.08.2006, 15:31  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

скомпильте код в CVAVR и посмотрите ASM листинг если интересно.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 10.08.2006, 15:39  
Andrewg
Прописка
 
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Andrewg на пути к лучшему
По умолчанию

Что делаешь такое могучее если не секрет, Куда столько памяти?
Andrewg вне форума  
Непрочитано 10.08.2006, 16:02  
Andrewg
Прописка
 
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Andrewg на пути к лучшему
По умолчанию

А вообще, кто сколько по максимуму забивал память, и что это было?
Andrewg вне форума  
Непрочитано 10.08.2006, 16:42  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 72
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию

Вопрос пока чисто теоретический. Но, всё равно, интересно.
Самое большое (по объёму), что делал на меге128 - светодиодное панно для вывода некоего разноцветного видеоряда, наподобие джекпотовских букв "D", если кто видел. Там память в основном использовалась под сами картинки, т.е. под данные.
Ещё был проект - бегущая строка, там код занимал килобайт 60-70.

Пока ждал ответа, повнимательней почитал даташит. Понял одну важную вещь: программный счётчик PC считает не байты, а команды, которые двубайтовые. Т.е. максимум (для меги 12 64К слов, т.е. те самые 128 Кбайт. Т.е. с адресацией всё понятно. А байтовые данные из FLASH считываются именно командой ELPM.

Что касается компиляторов, в частности CodeVision, то был в инете вопрос одного человека, который спрашивал о правильности компиляции программ для меги 256. Видимо, есть проблемы. Боюсь, что и в CV они есть.
Кто-нибудь проверял?

Avr123-nm-ru, а вы работали с мегой 256 на CV? Если да, то всё ли работало правильно?
__________________
"Имею честь иметь Вашу честь в своём доме..."
paha1956 вне форума  
Непрочитано 10.08.2006, 20:20  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от paha1956
Avr123-nm-ru, а вы работали с мегой 256 на CV?
нет, только 128. Но не думаю что автор компилятора не знает о том как работать с 256 мегой.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 11.08.2006, 10:02  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 72
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию

Вобщем, понятно. Никто не знает...
__________________
"Имею честь иметь Вашу честь в своём доме..."
paha1956 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с внешней памятью AVR, в эмуляторе FxMODE Микроконтроллеры, АЦП, память и т.д 3 27.02.2009 01:43
Работа с внешней памятью ATMega 8515 oksman Микроконтроллеры, АЦП, память и т.д 0 28.11.2008 22:36
[Решено] Кстати седня праздник 256 день года! Kabron Отвлекитесь, эмбеддеры! 2 13.09.2008 15:48
Работа с памятью серии AT29 andreiesafov Микроконтроллеры, АЦП, память и т.д 2 02.08.2008 16:40
Графический LCD 640x480 на 256 цветов ua_gruzin Источники питания и свет 0 09.11.2007 12:11


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


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