Цитата(ЯadiatoR @ Sep 7 2015, 11:45)

Да что вы мучаетесь? напишите const volatile и будет вам счастье
Volatile не помогает, при оптимизации строчка выкидывается
Цитата(EvgenWL @ Sep 7 2015, 12:18)

Twin_by, а как Вы на работающем устройстве определяете версию залитой в него прошивки? Напишите команду чтения версии вот и будет обращение к строке и никаких volatile не понадобится.
А на работающем никак не определить версию ПО. Этого и не нужно. Нужно после того как сняли модуль, прочитать микроконтроллер и с помощью hex-editor (XVI32) найти имя прошивки.
Цитата(V_G @ Sep 7 2015, 11:24)

Пишу в AVRStudio на ассемблере.
Вот такая строка в кодовом сегменте:
Код
Version:
.DB __DAY__,__MONTH__,__YEAR__,__HOUR__,__MINUTE__,__SECOND__ ;версия ПО
пропишет в память дату и время компиляции прошивки (удобнее,чем № версии).
Если нет аналогичной возможности на Си, попробуйте сделать ассемблерную вставку.
Попробовал ваш вариант. Но ругается ошибкой " Error 1 unknown pseudo-op: `.db' ". Пишу в AtmelStudio 6.2
Код
asm("Version: .DB DAY__,__MONTH__,__YEAR__,__HOUR__,__MINUTE__,__SECOND");