EEPROM - Насколько я понимаю это этакий аналог встроенной флешки, сюда можно сохранять до 500 записей каждая из который может быть от 0 до 255. Перезапись до 10 000 раз. Из плюсов, после рестарта эти данные сохраняются. SRAM - Это RAM операционная память. Flash Memory - А что это такое? Для чего это и как с этим работать?
Вы какой документ читаете? Даташит говорит про 256K флеша, 4K EEPROM и 8К RAM Flash memory и EEPROM - это энергонезависимые типы памяти, технология по которой она сделана. В данном случае Flash - это память программ (10000 циклов перезаписи), EEPROM - память данных, туда можно сохранять свои данные (100000 циклов перезаписи), SRAM - ОЗУ. В случае с Arduino в первом приближении за флеш вам волноваться не надо - среда программирования с ней все сделает сама, главное код не написать больше.
То есть с начало записывается строчка в Flash потом берется оттуда? И так каждый раз когда происходит обращение к Serial.print(F("- ")); ? В этой теме ANV писал что во Flash можно перезаписать только до 100000. Другими словами если часто выводится этот Serial.print(F("- ")); его использовать не рекомендуется?
Нет. Строка, а точнее, строковая константа, записывается во флэш при программировании контроллера (заливке скетча). Макрос F() ее только считывает. Это позволяет эффективно экономить оперативную память, особенно при использовании длинных строк.