Ой!
Уважаемый, Вы пожалуйста не сердитесь на нас, на прожженых паяльниками и дебаггерами, а поясните цель своего весьма экстравагантного подхода. Возможно, Ваша проблема (ради которой нужно размещать константу только по указанному заранее адресу во флеш-памяти) будет решена более простым способом.
Или делайте как уже тут ранее предлагали: обращайтесь к константе через указатель на нее. А адрес памяти, где она будет размещена, оставьте на откуп компилятору/линковщику.
Ну, еще как не гарантированный вариант: попробуйте поиграться с ассемблерным файлом, который CV всегда создает при компиляци проекта. Поправьте этот файл ручками так, как Вам надо, и отдайте его на "съедение" какому-либо ассемблеру.
Цитата(Apollo @ Jul 11 2007, 14:48)

Нет. Просто есть загрузчик написаный ранее и расположенный в конце FLASH, а также есть перед загрузчиком область памяти основной программы с некими нужными коэффициентами - константами, используемыми МК в работе. Константы олжны находиться в определённой странице FLASH так, чтобы при обновлении ПО загрузчиком можно было отдельно перезаписать только страницу с константами. Сейчас я пишу основную программу, которая должна считывать эти константы из FLASH. Проблема в том как их разместить начинаяс нужного адреса.
Хм... задача.
Если это действительно константы, то какая разница, на каком адресе они сидят при компиляции новой версии? Значения констант изначально опредены в программе. Если прога претерпевает изменения и ее новую версию нужно заново "залить" в МК, то и заливайте ее вместе с теми же констаттами. Пусть они находятся по другим адресам. Минусы -- ну чуть больше нужно будет времени на программирование.
Если констант не очень много, может воспользоваться внутренним EEPROM? Если много -- внешний подвесить (SPI или I2C).
Цитата
В АСМе проблем не было. просто указывал типа .org 0x0123 и всё, после этой строчки можно было обьявлять строку байт, а вот в CodeVision я не нашёл ничего по этому поводу. Выходит какой-то недоделышь этот CVAVR?
Асм -- на то и Асм, что бы ручками указывать адреса. Си -- как раз и был создан для того, что бы у программера мозги работали на решение задачи, а не отвлекались на рапределение памяти.
Что же касается "недоделыша", это Вы зря так. У каждой среды разработки и компилятора есть сильные и слабые стороны. Если компилятор что-то в принципе не умеет делать, просто, смените компилятор.