-
- У вашего метода есть особенность, если вдруг при стирании
произойдет какой-то сбой/сброс, все данные будут утеряны, т.к. нет
второго блока во флеше, который бы хранил данные в таком случае.
Надо быть готовым к такому повороту. - 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)