Итак !!! typedef char const __flash* PGM_P; он съел таки ! Ура.
Цитата(MrYuran @ Mar 6 2009, 11:17)

Ну так напишите, как ему хочется - const char* __flash temp
ну или const char __flash* temp ...
Дак в том то и дело что писал ТАК !
а надо было наоборот ! ЧАР а потом КОНСТ ! во как.
===================
Но теперь линкер заругался на сегменты что-то. Как исправить ситуацию ?
Вот брань линкера дословно: at90s2313
Building configuration: Gsm_sms - Debug
Updating build tree...
gsm_avrv4_c.c
Linking
Error[e16]: Segment CODE (size: 0x664 align: 0x1) is too long for segment definition. At least 0xaa more bytes needed. The problem occurred while processing the
segment placement command "-Z(CODE)CODE=_..X_FLASH_BASE-_..X_FLASH_END", where at the moment of placement the available memory ranges were
"CODE:246-7ff"
Reserved ranges relevant to this placement:
CODE:16-23d NEAR_F
CODE:23e-245 INITTAB
CODE:246-7ff CODE
Error while running Linker
Total number of errors: 1
Total number of warnings: 0
Сообщение отредактировал dowhile - Mar 6 2009, 08:25