Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: размещение данных во внешней EEPROM
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Василий Зыков
Добрый день, коллеги!

Прошу помощи в очередном вопросе с размещением данных в EEPROM. Речь идет о внешней памяти EEPROM по отношению к микроконтроллеру.

1) Я описываю в программе структуру данных. Допустим, я ее размещаю в сегменте __eeprom. В этом случае я получаю от компилятора сообщение о том, что я вышел за допустимый объем объявленного сегмента (объем внешней EEPROM больше, чем внутренней EEPROM микроконтроллера). Как поступают в подобных случаях: готовят файл прошивки для EEPROM как-то по-другому? В сторонней программе? Объявляют дополнительный сегмент с нужным размером?

2) Если я размещаю данные во внутренней EEPROM микроконтроллера, то при обращении программы к структуре данных компилятор автоматически вставляет процедуры доступа к внутренней EEPROM. Если же я данные размещаю во внешней памяти - то как мне подменить процедуры доступа своими?
Сергей Борщ
Цитата(Василий Зыков @ Apr 17 2010, 06:45) *
Как поступают в подобных случаях: готовят файл прошивки для EEPROM как-то по-другому? В сторонней программе? Объявляют дополнительный сегмент с нужным размером?
Оба способа хороши. Сделайте просто отдельный проект, в котором объявлена константа с типом той структуры и присвойте ей начальное значение. На выходе получите файл прошивки для eeprom. Преимущество отдельного проекта в том, что вы можете в линкерном скрипте задать любые адреса. Даже те, которые совпадают с занятыми адресами в основной программе.
Цитата(Василий Зыков @ Apr 17 2010, 06:45) *
Если же я данные размещаю во внешней памяти - то как мне подменить процедуры доступа своими?
В C - никак. Начинайте осваивать C++.
Василий Зыков
Цитата(Сергей Борщ @ Apr 17 2010, 12:58) *
Оба способа хороши. Сделайте просто отдельный проект, в котором объявлена константа с типом той структуры и присвойте ей начальное значение. На выходе получите файл прошивки для eeprom. Преимущество отдельного проекта в том, что вы можете в линкерном скрипте задать любые адреса. Даже те, которые совпадают с занятыми адресами в основной программе.
В C - никак. Начинайте осваивать C++.


Спасибо. Вчера так и сделал - отдельный проект для данных EEPROM. И общее описание структуры данных для двух проектов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.