-
- Ихмо первый вопрос: Что за микроконтроллер? Мне всегда было
интересно: почему из этой самой необходимой информации всегда
делается великая тайна? Второй вопрос - ответственность устройства,
что будет если настройки будут утеряны. Третий вопрос. Это серийное
устройство? Какова будет статистика, каков объем серии? Четвертый
вопрос - условия работы устройства. Пятый вопрос - это
само-сохранение у девайса или к параметрам есть внешний доступ?
Шестой вопрос - количество RxTx(44 знак., 27.03.2024 15:48)
- ТС вчера сообщил, что изобретает очередной ПЛК. Там и МК указан. SciFi(1 знак., 27.03.2024 15:50, ссылка)
- Мне эта тема очень близка, я как раз перерабатываю БД настроек. "Красиво" понятие очень неопределенное. Можно долго с гармошкой вприсядку рассказывать о красоте и ни о чем... Что означает "красиво"? RxTx(51 знак., 27.03.2024 15:43)
- Решение очень сильно зависит от структуры данных. Если это единый массив, который будет записываться только целиком, это одно решение. Если это 100500 отдельных параметров, каждый из которых может меняться отдельно, будет другое решение. Если комбинация, то третье решение. Еще решение зависит от готовности к потере данных, т.е. допустимо ли потерять настройки (выключение питания при перезаписи и т.п. сбои), или такое не допустимо. - AlexBi(27.03.2024 10:22)
- Красота в глазах смотрящего. Так-то можно сказать, что "красиво" -
это как в настоящих компьютерах, то есть файловая система. - SciFi(27.03.2024 09:26)
- в файловой системе конфигурация то же может храниться по разному - Make_Pic(27.03.2024 09:46)
- Синонимы проскакивающие здесь - красиво, кошерно, я бы сказал
оптимально написанный код. - Make_Pic(27.03.2024 09:40)
- Оптимально - это сильно))) POV(309 знак., 27.03.2024 09:47, ссылка)
- +Но, прям )) attribute.h , defrag.h... не хватает для полноты функционала. - SERGHIO(27.03.2024 15:09)
- Это нужны двое из ларца. "Сделайте мне красиво"... - SciFi(27.03.2024 09:44)
- Понятно... - Make_Pic(27.03.2024 09:47)
- Тобишь структура и все - Make_Pic(27.03.2024 09:50)
- Понятно... - Make_Pic(27.03.2024 09:47)
- Оптимально - это сильно))) POV(309 знак., 27.03.2024 09:47, ссылка)
- А в чем: EEPROM или Flash? Eddy_Em(808 знак., 27.03.2024 09:18, ссылка)
- У вашего метода есть особенность, если вдруг при стирании
произойдет какой-то сбой/сброс, все данные будут утеряны, т.к. нет
второго блока во флеше, который бы хранил данные в таком случае.
Надо быть готовым к такому повороту. - AlexBi(27.03.2024 12:31)
- Дык, наплевать: вероятность этого сбоя настолько мала, что можно
сказать, равна нулю. Ну, а если вдруг эта вероятность в 10 в
степени минус гугол процентов наступит, то можно будет заново
внести нужные параметры и сохранить настройки - ничего не
пострадает от этого. Eddy_Em(334 знак., 27.03.2024 12:37)
- Вероятность этого сбоя настолько мала, что можно сказать... ....То можно будет заново внести нужные параметры и сохранить настройки - ничего не пострадает от этого. Дык естественно, у тебя по степени ответственности домашнее ардуино. ОДИН прибор и последствий - неотодвинутые шторы. :)))) - RxTx(27.03.2024 15:37)
- Дык, наплевать: вероятность этого сбоя настолько мала, что можно
сказать, равна нулю. Ну, а если вдруг эта вероятность в 10 в
степени минус гугол процентов наступит, то можно будет заново
внести нужные параметры и сохранить настройки - ничего не
пострадает от этого. Eddy_Em(334 знак., 27.03.2024 12:37)
- Во flash - Make_Pic(27.03.2024 09:25)
- У меня знакомый, в достаточной мере живёт тем, что обновляет
прошивки телевизорам, когда те записывают настройки "громкость" или
"каналь" во флэшь и "происходит чота страшное". Ему приносят кирпич
и деньги. Получают телек. Что за промблемма поставиь внешнюю
ЕЕПРОМ? Они щас копейки. - mse homjak(27.03.2024 12:42)
- Если кривые ручки запороли флешу, они и с еепромой справятся. - SciFi(27.03.2024 12:44)
- Да, но с ЕЕПРОМ не получится кирпича из поделия. - mse homjak(27.03.2024 12:46)
- Запросто. Звукашки Vibra16 ISA PnP и сетевушки Realtek PCI сразу
вспоминаются. Первые при слете ставили раком комп, вторые меняли
Vendor/DeviceID и теряли драйвера. Да и мониторов было несколько
семейств (не помню уже кто, ViewSonic вроде). - LightElf(27.03.2024 15:04)
- Не, я не против. Можно написать хуйню любой степени лютости, которая поставит раком всё, до чего дотянеца и безо всякой ЕЕПРОМ. Просто, если у нас есть код записи во флэшь, он, чисто теоретически, можэт выполниться нештатно: не в то время и/или не в то место. А если нет, то нет. Данные в ЕЕПРОМ, можно, хотя-бы, выставить по умолчанию, если чексумм не сошолся или ещо чего. Когда затёрт сегмент флэши, ловить нечего. - mse homjak(27.03.2024 17:59)
- Вы недооцениваете потенциал кривых ручек :-) - SciFi(27.03.2024 12:51)
- Запросто. Звукашки Vibra16 ISA PnP и сетевушки Realtek PCI сразу
вспоминаются. Первые при слете ставили раком комп, вторые меняли
Vendor/DeviceID и теряли драйвера. Да и мониторов было несколько
семейств (не помню уже кто, ViewSonic вроде). - LightElf(27.03.2024 15:04)
- Да, но с ЕЕПРОМ не получится кирпича из поделия. - mse homjak(27.03.2024 12:46)
- Если кривые ручки запороли флешу, они и с еепромой справятся. - SciFi(27.03.2024 12:44)
- Тогда мой код подойдет. Еще надо в ld-скрипте пометить первую же
свободную секцию с выравниванием на размер блока - чтобы всю
свободную флеш-память можно было под хранилище организовать. Eddy_Em(389 знак., 27.03.2024 09:56)
- Странно, у меня такого желания не возникало. Определяешь массив
нужного размера с атрибутом aligned=4. И везде используешь
адресацию на основе указателя на этот массив. При необходимости, с
приведением типа. Можно даже задефайнить приведение типа. Дальше
компилятор сам справится. По идее, даже ассемблер справится. - Nikolay_Po(27.03.2024 11:51)
- Так если определить массив слишком маленького размера, приличная
часть ОЗУ будет неиспользована. Если слишком большого - не взлетит…
А хочется же все 100% выжать из ОЗУ - как и из флеша. - Eddy_Em(27.03.2024 11:56)
- Если ОЗУ и так мало, то баловаться с аллокаторами чревато. Коль уж
буфер такого-то размера рано или поздно будет нужен - надо под него
сразу заложить место. Тем же массивом... POV(350 знак., 27.03.2024 12:03)
- Да мне не аллокаторы, а под входные-выходные буферы более-менее
распределить память. Т.е. если есть возможность - делаем кольцевой
буфер на тот же USB размером с килобайт (и тогда оно весело в
прерываниях "прозрачно" по кускам в 64 байта данные выплевывает),
если нет - сделать поменьше (тогда будет не так весело, и длинные
тексты - скажем, вывод справки - будут блокирующими, что иногда
може быть чревато).. - Eddy_Em(27.03.2024 12:05)
- Делайте так, чтобы блокирующий вывод не создавал проблем. А то
задумка напоминает ардуино-стайл. - Nikolay_Po(27.03.2024 14:39)
- Поэтому и делаю большой кольцевой буфер обычно. Eddy_Em(585 знак., 27.03.2024 14:49)
- Делайте так, чтобы блокирующий вывод не создавал проблем. А то
задумка напоминает ардуино-стайл. - Nikolay_Po(27.03.2024 14:39)
- Да мне не аллокаторы, а под входные-выходные буферы более-менее
распределить память. Т.е. если есть возможность - делаем кольцевой
буфер на тот же USB размером с килобайт (и тогда оно весело в
прерываниях "прозрачно" по кускам в 64 байта данные выплевывает),
если нет - сделать поменьше (тогда будет не так весело, и длинные
тексты - скажем, вывод справки - будут блокирующими, что иногда
може быть чревато).. - Eddy_Em(27.03.2024 12:05)
- Если ОЗУ и так мало, то баловаться с аллокаторами чревато. Коль уж
буфер такого-то размера рано или поздно будет нужен - надо под него
сразу заложить место. Тем же массивом... POV(350 знак., 27.03.2024 12:03)
- Так если определить массив слишком маленького размера, приличная
часть ОЗУ будет неиспользована. Если слишком большого - не взлетит…
А хочется же все 100% выжать из ОЗУ - как и из флеша. - Eddy_Em(27.03.2024 11:56)
- Странно, у меня такого желания не возникало. Определяешь массив
нужного размера с атрибутом aligned=4. И везде используешь
адресацию на основе указателя на этот массив. При необходимости, с
приведением типа. Можно даже задефайнить приведение типа. Дальше
компилятор сам справится. По идее, даже ассемблер справится. - Nikolay_Po(27.03.2024 11:51)
- эмулятор EEPROM abivan(1 знак., 27.03.2024 09:33, картинка)
- У меня знакомый, в достаточной мере живёт тем, что обновляет
прошивки телевизорам, когда те записывают настройки "громкость" или
"каналь" во флэшь и "происходит чота страшное". Ему приносят кирпич
и деньги. Получают телек. Что за промблемма поставиь внешнюю
ЕЕПРОМ? Они щас копейки. - mse homjak(27.03.2024 12:42)
- У вашего метода есть особенность, если вдруг при стирании
произойдет какой-то сбой/сброс, все данные будут утеряны, т.к. нет
второго блока во флеше, который бы хранил данные в таком случае.
Надо быть готовым к такому повороту. - AlexBi(27.03.2024 12:31)
- Ихмо первый вопрос: Что за микроконтроллер? Мне всегда было
интересно: почему из этой самой необходимой информации всегда
делается великая тайна? Второй вопрос - ответственность устройства,
что будет если настройки будут утеряны. Третий вопрос. Это серийное
устройство? Какова будет статистика, каков объем серии? Четвертый
вопрос - условия работы устройства. Пятый вопрос - это
само-сохранение у девайса или к параметрам есть внешний доступ?
Шестой вопрос - количество RxTx(44 знак., 27.03.2024 15:48)