Цитата(arttab @ Aug 13 2007, 05:16)

посмотреть пример в текущем топике
В примере весь код размещается в NRWWS. Там нет функциций размещенных в RWWS.
Цитата(arttab @ Aug 13 2007, 05:16)

читайте хелп на IAR (он встроен в программу). Там и как значение и как функцию и группу функций (для группы задается область) разместить по адресу есть.
Со значением все ясно, я говорю о функциях.
В EWAVR_CompilerReference.pdf ниписано:
Цитата
Function placement into named segments
It is possible to place functions into named segments using either the @ operator or the
#pragma location directive. When placing functions into segments, the segment is
specified as a string literal.
Example
void f(void) @ "MYSEGMENT";
void g(void) @ "MYSEGMENT"
{
}
#pragma location="MYSEGMENT"
void h(void);
Добавил в файл lnkm16s.xcl (у меня mega16, memory - small) строки:
Код
-Z(CODE}MY_SOURCE=100-200
-Z(CODE}MY_MAIN=201-1BFF
-Z(CODE}MY_LOADER=1C00-1FFF
Пишу:
Код
...
void test(void) @ "MY_LOADER";
...
В результате:
Fatal Error[e72]: Segment MY_LOADER must be defined in a segment definition option (-Z, -b or -P)
Пишу:
Код
...
#pragma segment = "MY_LOADER"
void test(void) @ "MY_LOADER";
...
результат тот же.
Пишу в Options->Linker->Extra Options:
Код
-Z(CODE}MY_SOURCE=100-200
-Z(CODE}MY_MAIN=201-1BFF
-Z(CODE}MY_LOADER=1C00-1FFF
В результате:
Error[e102]: No such segment type: -Z(CODE}MY_SOURCE=100-200
Где-то какая-то мелочь, а какая - не пойму.