Цитата(yung @ Jan 13 2012, 18:37)

В АВР-студио эта процедура не видится (стоит ret) вместо тела.
Ваша процедура не содержит ни одного исполняемого оператора. Что Вы ожидали увидить кроме RET?
Цитата(yung @ Jan 13 2012, 18:37)

А компилятор не видит, что эта область занята и пытается по тем же адресам расположить другие переменные.
Этот механизм не для того, чтобы "двигать" переменные по ОЗУ туда-сюда, как Вы этого желаете, а для доступа к регистрам устройств, спроецированных на память...
Цитата(yung @ Jan 13 2012, 18:37)

Можно ли как-то объяснить ему, что место уже занято?
Нет. Но, можно сделать другой финт: сказать транслятору, что размер памяти меньше, чем есть на самом деле, а остаток использовать для распределения переменных по фиксированным адресам.