Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Что размазывать? Зачем?
Сказали уже - в EEPROM постоянно писать не нужно. Если у вас часто изменяются данные, храните (и изменяйте сколько влезет) их в ОЗУ, считывая туда из EEPROMа при включении, и записывая обратно в EEPROM при выключении питания.
Prosperous
Встал на лапы
Сообщения: 129
Зарегистрирован: Ср янв 18, 2012 19:37:10

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Prosperous »

Да я это все понял, тут в некоторых темах советуют сохранять данные в разные ячейки ЕЕПРОМ, что повышает ресурс памяти. А как это организовать? Типа цикла какого - нибудь делать с заранее известными ячейками? или в рандомные пишется и как - то отслеживается?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Как часто устройство будет включаться/выключаться? При условии, что 1 раз в день (ежедневно) , ресурса ячейки тебе хватит на 27 лет.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

273 года для EEPROM, 27 лет это если хранить в основной памяти, но программная запись туда возможна только из бутлоадера.

Переменные в RAM будут хранится, а в EEPROM - эвакуироваться.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Я имел ввиду ресурс перезаписи, у них около 10000 если память не изменяет...
но программная запись туда возможна только из бутлоадера.

В смысле? А SPM для чего?
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Так вот SPM и работает только из бутлоадера, попытка использовать команду из основной программы ни к чему не приведет. Это сделано для того чтобы программа не могла убить сама себя и основную ФЛЕШ-память при ошибке или из каких-то других соображений. На некоторых контроллерах вовсе нет бутлоадера, и команда SPM является простым балластом.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Хотел поспорить, но глянул даташит.

ATmega48A/48PA/88A/88PA/168A/168PA/328/328P support a real Read-While-Write Self-Programming mechanism. There is a separate Boot Loader Section, and the SPM instruction can only execute from there. In ATmega 48A/48PA there is no Read-While-Write support and no separate Boot Loader Section. The SPM instruction can execute from the entire Flash.

Вот на 48й я её и испытывал :)
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Для порядку везде должны быть исключения...
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение avreal »

ploop писал(а):Хотел поспорить, но глянул даташит.
...
Ну и ладушки.
Там, где есть бут-лоадер, подпрограмму записи можно разместить в секции бут-лоадера и вызывать ее откуда угодно.
Там, где бут-лоадера нет (mega48, tiny13, …), там SPM выполняется из откуда угодно, просто выполнение программы тормозится до конца записи, так как нет области RWW.

Вот где засада, так это в tiny4..10/20/40
Но у них команды SPM и нет. У них и LPM нет, флеш мапится с адреса 0x4000 для чтения обычными LDS/LD/LDD.
Если бы ещё STS/ST/STD на флеш работали :-(
А то ни EEPROM нет, ни возможности записи во флеш изнутри. Итого мимо меня.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Флеш всеравно не выгодно использовать для хранения условно-переменных данных, у нее ресурс в 10 а то и в 100 раз меньше чем у EEPROM.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Мне на самом деле ни разу не приходилось применять SPM. Испытывал помню, давно, но ради спортивного интереса. EEPROM-ки пока хватало на всё.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение avreal »

Alexeyslav писал(а):Это сделано для того чтобы программа не могла убить сама себя и основную ФЛЕШ-память при ошибке или из каких-то других соображений.
Для этого есть фьюз BOOTEN (у имеющих область бут-лоадера, скажем, у меги88) и SELFPRGEN (у не имеющих области бут-лоадера, скажем, у меги48, тини13).

Alexeyslav писал(а):На некоторых контроллерах вовсе нет бутлоадера, и команда SPM является простым балластом.
У каких контроллеров команда SPM есть, но не рабочая? Я не очень бут-лоадерами интересуюсь, мож что и пропустил.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение avreal »

Alexeyslav писал(а):Флеш всеравно не выгодно использовать для хранения условно-переменных данных, у нее ресурс в 10 а то и в 100 раз меньше чем у EEPROM.
Так «невыгодно» или «невозможно, команда- балласт» :))) ?
Да и что значит «невыгодно»?
Для каких-то данных и EEPROM может мало быть, FRAM не зря придумали.
Для каких-то и флеша хватит. Вон у MSP430 и всяких прочих ARM-ов EEPROM «не частый гость» и ничего.
Если в среднем данные нужно раз в день писать, то и флешовые 10 тысяч (однотысячные разве сейчас остались?) это 27лет, как уже писали.
Не знаю, как у кого, мои серийные устройства больше 12-14 лет пока не работали.
С выделением бОльшей области и размазыванием записей для такого срока можно и раз пять в день писать.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Prosperous
Встал на лапы
Сообщения: 129
Зарегистрирован: Ср янв 18, 2012 19:37:10

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Prosperous »

ploop писал(а):Как часто устройство будет включаться/выключаться? При условии, что 1 раз в день (ежедневно) , ресурса ячейки тебе хватит на 27 лет.

Я делаю прошивку и отдаю устройство другим разработчикам, Которые будут его тестить уже с точки зрения своих нужд. Так что не могу точно сказать. В режиме отладки я думаю не больше 1000 раз. Потом вообще относительно редко.

А по поводу перезаписи значений в разные ячейки памяти, я интересуюсь с точки зрения повышения своего профессионального уровня, мало ли в будущем пригодится.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Перезапись в разные ячейки - это другой уровень работы с ячейками. разделяешь всю память на кластеры, каждый кластер - размером с необходимую область для хранения твоих данных + 1 байт. Который если не равен $FF - значит данный кластер сейчас используется. Когда надо считать данные в первый раз - перебираешь все кластеры и останавливаешься на первом у которого этот признак не равен $FF. Каждая новая запись - в следующий по счету кластер. Чем больше кластеров тем реже каждый из них будет перезаписываться. Заодно перед записью проверять содержимое ячейки, если оно равно тому что надо записать - лишний раз её не дергать.

Второй вариант более надежный, хранить не признак кластера а контрольную сумму - если она при чтении после записи совпадает - кластер жив, если нет - записывать в следующий. Таким образом сначала затрется первый кластер, потом будет затираться следующий и т.д. Для облегчения задачи, принять соглашение если контрольная сумма равна нулю - то кластер считать поврежденным и не тратить время на рассчет контрольной суммы и проверку.
Prosperous
Встал на лапы
Сообщения: 129
Зарегистрирован: Ср янв 18, 2012 19:37:10

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Prosperous »

Спасибо за ответ :)
РЛС
Это не хвост, это антенна
Сообщения: 1371
Зарегистрирован: Вс июл 25, 2010 17:30:25
Откуда: с севера

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение РЛС »

Всем привет!
Где можно почитать хорошие статьи про робототехнику и роботов?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chip115 »

РЛС писал(а):Всем привет!
Где можно почитать хорошие статьи про робототехнику и роботов?

roboforum.ru
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
РЛС
Это не хвост, это антенна
Сообщения: 1371
Зарегистрирован: Вс июл 25, 2010 17:30:25
Откуда: с севера

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение РЛС »

Ааа они что все роботы делают на ардуинках???
\
Ответить

Вернуться в «Разные вопросы по МК»