CADiLO 12 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Надо объединять темы. Я может быть неправ, несколько эмоционально рассказывая о проблеме, но мы в свое время уже сталкивались с этим и к сожалению тоже укоряли себя за недодуманность проекта. И как говорится - истина рождается в споре. Я просто отстаиваю свое мнение и думаю что кроме противников тут найдутся и союзники. Поймите - беда не в модуле. Сама запись во флешку не дает на сегодня 100% гарантии. Повторюсь еще раз. Погуглите - этим не только модули страдают. Навскидку в этом же форуме http://electronix.ru/forum/lofiversion/index.php/t81457.html Есть куча методов снижения вероятности повреждения данных во флеш, но на сегодня 100% защиты - НЕТ. Всегда может случиться ситуация при которой бумс и все..... Даже Хитачи запатентовавшая FlashPowerGuarg говорит о снижении вероятности до 0.5-0.7% но не дает 100% гарантии. Так что если нужно 100% гарантии работы устройства, то без внешних телодвижений не обойтись. Все равно прийдется обеспечить такой режим работы когда вероятная запись завершится корректно. Если шанс слетания в пару процентов вас устраивает, то тогда признаю свою неправоту. Но в свое время мы поимели из-за такого горку GR-47 со слетевшими прошивками, да и где то год назад рассказывали что и вейвкомы слетами тоже страдали при определенных условиях. Поэтому проектируя устройство я бы сейчас сам озаботился его надежностью в допустимых для проекта условиях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Я извиняюсь за глупый вопрос, а что за тип флеша используется, что в него так часто пишут? Ресурс памяти не вырабатывается за год? Может быть, эта ошибка у топикстартера именно по причине запиленности памяти возникла? И в заводских условиях модуль будет не просто перепрошит, а еще как-то отремонтирован? (но об этом никому не скажут) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Могу точно сказать как в SIM900 сделано. Под системную область зарезервирован восьмикратный размер таблицы. И она каждый раз переписывается в новое место. Кстати потому и сложности со сменой ИМЕИ на лету - нужно не только высчитать 15 цифру, посчитать КС блока записи, но и знать куда его переписать в данный момент. Все в принципе решаемо но по сравнению с SIM300D сложнее. Симком гарантирует что при штатной работе за 10 лет ресурс не выберут. Когда конкретно пишется - точно не скажу, Но когда я возился с ИМЕИ, читая память модуля, то за день 3 или 4 раза таблица меняла свое место. Не часто, но тут как в анекдоте: У мужчины шанс встретить динозавра на улице один к миллиону, а у женщины 50 на 50 - или встретит или нет. Так и с модулем - может годами проработать без приколов, а може совпасть и наложится пропадание питания на запись да еще и на конкретные адреса... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Поймите - беда не в модуле. Сама запись во флешку не дает на сегодня 100% гарантии. Ага, беда в головах. Есть волшебное средство: лес и бита. После примененя оных к головам разработчеГов волшебным образом программные автоматы обучаются корректному завершению, в схемы добавляются супервизоры, ключи питания, и потребность непрерывно писать что-то во флэш улетчивается. Китайцам следует отыскать в поднебесной аналоги означенных инструментов и применить их к горе-разработчикам модулей. Потому что то что вы озвучили никуда не годится! Погуглите - этим не только модули страдают. Навскидку в этом же форуме Мне фиолетово кто чем стадает. Я покупаю продукт и внутреннюю кухню продукта знать не желаю! Плачу деньги и хочу просто пользоваться изделием а вместо этого мне предлагают решать проблемы которые не осилили производители модема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба no comment Но за хорошее настроение спасибо. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
viakon 0 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Могу точно сказать как в SIM900 сделано. Под системную область зарезервирован восьмикратный размер таблицы. И она каждый раз переписывается в новое место. Кстати потому и сложности со сменой ИМЕИ на лету - нужно не только высчитать 15 цифру, посчитать КС блока записи, но и знать куда его переписать в данный момент. Все в принципе решаемо но по сравнению с SIM300D сложнее. Симком гарантирует что при штатной работе за 10 лет ресурс не выберут. Когда конкретно пишется - точно не скажу, Но когда я возился с ИМЕИ, читая память модуля, то за день 3 или 4 раза таблица меняла свое место. Вот объясните мне на кой надо постоянно переписывать IMEI в разные места флеша. Это константа и менять по хорошему ее нужно 1 раз на заводе, ну еще пользователю разик. И много чего другого можно не трогать а в области настроечных констант держать. А то что останется наверняка можно потерять. Единственная причина постоянной записи во флеш это своп озу, дык и при этом рестарт операционки и все дела. В общем тему надо закрывать она уже не соответствует названию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Переписывают всю таблицу. Почему так - нужно спросить их разработчиков..... Вообще иногда трудно понять логику их решений... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 20 февраля, 2013 Опубликовано 20 февраля, 2013 · Жалоба Переписывают всю таблицу. Почему так - нужно спросить их разработчиков..... Вообще иногда трудно понять логику их решений... Изумительно! А счетчик перезаписей есть ? чтобы когда он переполнится модуль склеил ласты ? У меня индустриальное примение. 10 лет в индастриал - семечки. Допустим расчитали ресурс на 10 лет, он закончился -> флэш помирает. Какие симптомы ? Какие коды ошибок ?? Что-то я в документе по AT командам не припомню сообщеий об исчерпании ресурса модуля. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 21 февраля, 2013 Опубликовано 21 февраля, 2013 · Жалоба У меня в контроллере кстати реализована похожая схема работы с флэшем. Не самое эффективное решение, но довольно простое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 42 24 февраля, 2013 Опубликовано 24 февраля, 2013 · Жалоба Переписывают всю таблицу. Почему так - нужно спросить их разработчиков..... Вообще иногда трудно понять логику их решений... Ну это действительно странно, основной флеш, по логике и сделан, чтоб постоянно хранить фирмваре и все!! Допускается его перепрошивка, но это в очень редких случаях, больше перезаписи быть не должно. Чувствую - программеры "зажирели" с тех времен, когда использовались масочные или УФ-ПЗУ... Для хранения переменных среды и др. настроек всегда использовался EEPROM- отдельная область памяти, которая есть почти в каждом МК. Причем к фирмвари она не имеет никакого отношения, и даже, если она будет повреждена при пропадании питания в момент записи, то при след. рестарте программа определит это и заполнит дефолтными значениями. При этом работоспособность устройства будет сохранена! Почему в модемах не так - трудный вопрос... И второе. В соседних темах обсуждалось, что у сим900 есть проблема с зависанием, поэтому желательно делать ключ питания. В виду этого и того, что "Переписывают всю таблицу", и ресурса флеша - точно ли хватит его, на 10 лет, как заявлено?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 24 февраля, 2013 Опубликовано 24 февраля, 2013 · Жалоба Для хранения переменных среды и др. настроек всегда использовался EEPROM- отдельная область памяти, которая есть почти в каждом МК. Причем к фирмвари она не имеет никакого отношения, и даже, если она будет повреждена при пропадании питания в момент записи, то при след. рестарте программа определит это и заполнит дефолтными значениями. При этом работоспособность устройства будет сохранена! Почему в модемах не так - трудный вопрос... EEPROM имеется далеко не во всех МК, для ARM-ов - наличие eeprom скорее редкий случай. А на АВРах и ПИКах модемов почему-то не делают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
viakon 0 25 февраля, 2013 Опубликовано 25 февраля, 2013 · Жалоба Решение хранить данные во флеш - это нормально. Главное правильно это реализовать, чтоб хватило ресурса флеш минимум на 10 лет и не происходило сбоев фирмваре. Ставить дополнительный eeprom это затраты денег, площади платы. При тираже миллион экземпляров, экономия всего в 0,5 доллара дает 500000$ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 42 25 февраля, 2013 Опубликовано 25 февраля, 2013 · Жалоба EEPROM имеется далеко не во всех МК, для ARM-ов - наличие eeprom скорее редкий случай. А на АВРах и ПИКах модемов почему-то не делают. Ну эт может быть, хотя и зря. Не всегда нужно хранить мегабайты конфигурации... А вот что странно, дак это пресловутая "паразитка", о которой тут пол-форума пишет. А странно то, почему она так влияет, скажем, есть ток по линиям данных, допустим пол-милиампера, при напряжении 3в. Ток потреления модема при запуске - где-то 20-30 ма, следовательно, на его контроллере, напряжение не поднимется выше 0.5в. Но даже если и поднимется до 1 или 2В, что это даст? Конечно, если в таких навороченных армах нет и схемы сброса с детектором напряжения - то это вообще алез!! А если есть, то никакое ядро запуститься там не может, т.к. будет находиться под активным ресетом. В чем тогда проблема?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 62 25 февраля, 2013 Опубликовано 25 февраля, 2013 · Жалоба А вот что странно, дак это пресловутая "паразитка", о которой тут пол-форума пишет. А странно то, почему она так влияет, скажем, есть ток по линиям данных, допустим пол-милиампера, при напряжении 3в. Ток потреления модема при запуске - где-то 20-30 ма, следовательно, на его контроллере, напряжение не поднимется выше 0.5в. Но даже если и поднимется до 1 или 2В, что это даст? Вы не с той стороны рассматриваете. Начните с процессов при выключении, когда потребление падает ниже плинтуса. А продолжите с того, что рабочее напряжение питания ядра порядка 1.2В. И что может натворить такое устройство если ядро породолжает работать, а любое повышение потребления его работу кратковременно прерывает. Как пример - попытка записи во Флеш завершающаяся посреди процесса т.к. энергии для ее завершения не хватает... Конечно, если в таких навороченных армах нет и схемы сброса с детектором напряжения - то это вообще алез!! А если есть, то никакое ядро запуститься там не может, т.к. будет находиться под активным ресетом. В чем тогда проблема?? Проблема в том, что при паразитной запитке пока АRM полностью не заработал уровни напряжения из-за низкого потребления ядра находятся в пределах допустимых для работы величин. Питание банальнейше не падает ниже уровня POR-а со всеми вытекающими при последующем включении... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Вы не с той стороны рассматриваете. Начните с процессов при выключении, когда потребление падает ниже плинтуса. А продолжите с того, что рабочее напряжение питания ядра порядка 1.2В. И что может натворить такое устройство если ядро породолжает работать, а любое повышение потребления его работу кратковременно прерывает. Как пример - попытка записи во Флеш завершающаяся посреди процесса т.к. энергии для ее завершения не хватает... Тут мы снова упираемся в вопрос "накой хер модуль что-то пытается писать во флэш при старте" ??? Вменяемый разработчик так делать не будет потому что такой подход гарантирует неизлечимые проблемы. Проблема в том, что при паразитной запитке пока АRM полностью не заработал уровни напряжения из-за низкого потребления ядра находятся в пределах допустимых для работы величин. Питание банальнейше не падает ниже уровня POR-а со всеми вытекающими при последующем включении... Опять же во вменяемых soc предусмотрены супервизоры для всех питающих напряжений. Если VDDIO не в норме (а при паразитке оно явно не в норме) RESET удерживается активным. Но это не китайский случай. Применение биты крайне необходимо, причем неоднократное! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться