Цитата(YAM @ Feb 14 2008, 20:21)

Т.е. реально теряем один из трёх байт при упаковке констант?
все верно. C30 использует PSV для доступа к константам во флеши. PSV - это механизм отображения памяти программ в область памяти данных. Так как программное слово 24-битное, а машинное - 16-битное, в ОЗУ отображается только младшее слово слова программ. В результате все инструкции могут работать с данными во флеши как с данными в ОЗУ (только на чтение). Получается как бы расширение Гарвардской архитектуры.
Если это не устраивает (картинки, фонты, другие большие массивы) - массив в асмовый файл и функцию для доступа с использованием инструкций табличного чтения. Но будьте готовы к уменьшению общей скорости.