Перейти к содержанию
    

Помогите новичку со scatter-файлом

Нахрена зачем вам вообще скатер на эту область памяти? Скатер нужен, чтобы линкер размещал туда данные. Исключаете нужный вам участок из общей памяти и работаете с ним в программе как хотите. Хотите стираете, хотите заполняете. Скатер то тут причём?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 минут назад, VladislavS сказал:

Нахрена зачем вам вообще скатер на эту область памяти? Скатер нужен, чтобы линкер размещал туда данные. Исключаете нужный вам участок из общей памяти и работаете с ним в программе как хотите. Хотите стираете, хотите заполняете. Скатер то тут причём?

Первоначальная идея была в том, чтобы при прошивке инициализировать нужную страницу, заполнив ее нулями, а дальше по ходу работы программы эти данные могут быть изменены. В таком случае исключить эту страницу из скаттера нельзя, т. к. программа после запуска не знает о том, что она должна инициализировать эти данные. Для нее это просто сохраненные данные, которые она вычитывает из заданной страницы памяти. Вариант с CRC решает проблему принятия решения об инициализации данных уже со стороны программы (ну, и служит гарантией их целостности).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

EEPROM простым копированием не инициализируется. Пожтому само оно никак не занулится, только ручками из программы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: @krux, делаю Вам пока устное замечание за нарушение правил 2.1.Б и 2.1.В.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 часов назад, tathagata сказал:

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

Если изменены самой программой, то надо контролировать и целостность этих изменений, а значит программа помимо данных должна сохранить CRC, возможно копию данных с CRC и знать заводское значение этих данных на случай капитального развала или начальной инициализации.

 

20 часов назад, tathagata сказал:

т. к. программа после запуска не знает о том, что она должна инициализировать эти данные

Что значит "не знает"? На пустых данных у нее вылезет ошибка CRC которая заставит эти данные проинициализировать заводскими значениями и подтвердить их корректными CRC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

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

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...