прошивка EEPROM

Обсуждаем контроллеры компании Atmel.
Ответить
Вымогатель припоя
Аватара пользователя
Сообщения: 620
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

добрый день

прототип проекта, в процессе отработки EEPROM инициализирована необходимыми данными (участок памяти)

необходимо при прошивке конечного контроллера залить этот участок по назначению в контроллер

можно ссылки, идеи, мысли итд

спасибо

ATmega328
linux, avr-gcc
свисток + AVR MKII
Arduino-MK / avrdude

зы
в инете набегом, поэтому вопросы без арт-подготовки :о)
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Реклама
akl
Друг Кота
Сообщения: 4450
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Часто приходится так делать на своем программаторе AS-4 (AS-2). Читаю EEPROM в буфер программатора, сохраняю в файл. При прошивке боевого контроллера загружаю этот файл в буфер EEPROM и прошиваю.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

1. Сделать .eep файлик и прошить его через avrdude. Он прекрасно умеет прошивать eeprom.
2. Варианты в коде C прописать секцию, описание:
https://www.avrfreaks.net/comment/14608 ... nt-1460806
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Засада может быть при прошивке. Если лапки мк подтянуты в программаторе не так, как в боевой схеме, то хана инфе в епроме.
Docendo discimus
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 620
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

спасибо, немного не так поняли...

уже разобрался :о)
вопрос был в том, как дудкой слить EEPROM в файл... (ну, а потом его и использовать... для заливки)
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Реклама
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Дудка прекрасно может и считать точно также в .eep файлик. И потом прошивать его на другие МК.
Но вообще подход несколько неправильный просто, копировать так. Поэтому сразу привел пример более правильного подхода.
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1407
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

Посредством EEMEM создаёте .eep, дудкой пишете, дудкой читаете. Зачем ещё какие то извращения?
Вымогатель припоя
Аватара пользователя
Сообщения: 620
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

to NStorm
Но вообще подход несколько неправильный просто, копировать так. Поэтому сразу привел пример более правильного подхода.
создается "сетка данных" (НЕ В ПРОГРАММЕ, бл... мур...) и потом эту "сетку" надо сохранить для переноса на конечные контроллеры (процесс создания сетки и все сопутствующие вопросы опустим, ладушки?!)
в данном случае, я считаю (хозяин тоже, мур...) что - это единственно оптимальный и удобный путь!

поэтому, ув. кот,OKF, EEMEM - не катит, ни куда... (про него хозяин тоже в курсе, мур...)

если есть более удобные, правильно-трушные методы, выкладывайте, полосатые, бум процарапывать ... без затрагивания темы "создания сетки", это уж хозяин сам там баракозит и хреначит... вот есть чип, нужно из него вытряхнуть содержимое EEPROM-а и/ака подготовить его для заливки на другие чипы!

ну а так, вот пойми этих двуногих, сегодня им подавай таку еду, завтра другу... враги котов, какие-то... :))
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Два варианта.
Всё данные для EEPROM прописывается в проекте. Эта область указана как данные EEPROM и при компиляции проекта создаётся файл .eep, который и заливают в МК.
Прототип в процессе работы сохраняет данные в EEPROM. Программатором считываем EEPROM в файл.eep, который потом заливаем в последующие МК. Этот способ плох тем, что если в проект внесли изменения в работу с EEPROM, могут съехать адреса переменных.
Так что лучше всего данные ручками прописать в самом проекте и скомпилировать.
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 620
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

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

### UPDATE ###

походу еще задачка нарисовалась :о)

имеем указатель на свободный участом EEPROM

Код: Выделить всё

#define FREE_PTR ((sizeof(...) ... ))
вопрос: как препроцессором/варнингом вывести значение указателя?
Последний раз редактировалось sunjob Вт ноя 26, 2019 21:52:24, всего редактировалось 1 раз.
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Код: Выделить всё

#define VALUE_TO_STRING(x) #x
#define VALUE(x) VALUE_TO_STRING(x)
#pragma message "Free: " VALUE(FREE_PTR)
По "сетке" - кто мешает сетку не шить сразу как бинарные данные в EEPROM, а сконвертировать в вид EEMEM? И потом уже из кода генерировать пусть для начала тот же самый .eep, но для внесения изменений надо будет поправить человеко-читаемый код в тексте проги, а не лезть в хекс.
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Как то диковато читать сценки из ролевых игр...
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 620
Зарегистрирован: Ср дек 08, 2010 19:03:17

Сообщение sunjob »

препроцессор не разворачивает sizeof()
зы
По "сетке" ... тыц
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Ответить

Вернуться в «AVR»