There is only one option to have strings sitting in flash: they are defined as const and linker script places these to flash ROM space.
When you flash now image (bootloader) - these const variables come from Flash ROM.
But no way to update, to write, during runtime: it would need a function to erase the flash, to write a segment etc.
For my understanding: all what is defined as const can sit in ROM, as available there during startup. But writing to ROM during is not possible, except you would reprogram the Flash ROM with a special procedure (like the bootloader does).
You can use the MAP file generated in order to check where such a const variable is located. Or define a const variable and check the address (via UART print).
It is not a compiler and language feature: the linker will organize where the variables end up. There not really a keyword in C language to specify it should be in ROM flash.
You can use attribute(()) or relay on: const goes to flash ROM.
A keyword R in front of a string might just define as "const" and therefore it goes to ROM. But the linker is in charge to assign global variables to memory regions, even ROM flash. Not any keyword available on source code level to control (memory management is not a feature of a compiler).