В pgmspace.h объявляется указатель на flash.
#define PGM_P const char __farflash *
Оставим в стороне то, что по Сишным правилам такое положение ключа __farflash должно относиться к Указателю, а не к тому, на что он указывает. Хрен с ним. Но сам дифайн распиZдонистый донельзя. Т.е., если пишем:
PGM_P aaa, bbb; // аaa - указатель, а bbb - уже нет.
Интересно, что помешало объявить так:
typedef const char __farflash* PGM_PTR;
И все стало бы голубым и зеленым...