store and retrieve array of chars in flash memory

Yeah, yeah, I know.

I think this is true: The "F()" macro puts a text in the PROGMEM segment in flash (data from that segment is not copied to RAM during startup).

I have even made a sketch to explore the weird result when the PROGMEM is beyond the 64k limit: Test PROGMEM beyond 64k · GitHub.

There is also a bootloader to write to flash in runtime. That uses an own segment to write to. Arduinos (and Other AVRs) Write To Own Flash | Hackaday

@renanlopesmister do you still understand what we write ? You should be a PROGMEM expert by now :wink: