Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переменные во флэш-памяти МКконтроллера, смысл? 
:(
    Опции темы
Chai
Дата 16.10.2012, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 12.10.2012

Репутация: нет
Всего: нет



Сейчас читаю учебник по AVR, приводится пример на Си объявления структуры вроде
Код

 flash struct flash_structura
{
  int a;
  char b[25]; 
} str_flash;

а у меня сразу же возникает вопрос - почему если при этом создается переменная структурного типа flash_structura (под именем str_flash) без инициализации, то какой в этом смысл? Мы можем во флэш-памяти чего-то инициализировать в процессе работы прошивки? Там же вроде только константы?
Или я чего-то не догоняю?

Это сообщение отредактировал(а) Chai - 16.10.2012, 12:16
PM MAIL   Вверх
UniBomb
Дата 16.10.2012, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



Chai, есть же команды lpm и spm, с помощью которых ты можешь читать/писать в память программ.


--------------------
PM MAIL ICQ Skype   Вверх
Chai
Дата 16.10.2012, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 12.10.2012

Репутация: нет
Всего: нет



Цитата(UniBomb @ 16.10.2012,  14:01)
Chai, есть же команды lpm и spm, с помощью которых ты можешь читать/писать в память программ.

Т.е. считать слово, модифицировать и отправит обратно?
Когда искал инфу, мне стали непонятны два момента.

Первый:
SPM - загрузить в память программ, адресуемую регистром Z, слово из регистровой пары R1:R0 
 Запись происходит только если слово, адресуемое Z, содержит значение 0FFFFh

Это как понять - команда используется только для стирания в памяти программ?

Второй:
Инструкция SPM (запись в секцию прикладной программы) должна использоваться только внутри секции программы начальной загрузки.

"Должна" (правильный стиль программирования) или "может" (в принципе)? (большая разница)
PM MAIL   Вверх
xvr
Дата 17.10.2012, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(Chai @  16.10.2012,  18:53 Найти цитируемый пост)
Это как понять - команда используется только для стирания в памяти программ?

Только для записи в чистую (стертую) область памяти программ

Цитата(Chai @  16.10.2012,  18:53 Найти цитируемый пост)
"Должна" (правильный стиль программирования) или "может" (в принципе)? (большая разница) 

Именно 'должна'. Но это сильно зависит от конкретного МК - читайте DS (а не волные пересказы)

PM MAIL   Вверх
Chai
Дата 17.10.2012, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 12.10.2012

Репутация: нет
Всего: нет



Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1193 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.