Добрый день, уважаемые форумчане!
У меня вопрос немного офтопик, но проблема та-же. Когда объявляю функцию
__arm __ramfunc ворчит: (IAR 440, ADuc7020)
Код
Warning[Ta021]: Library call (??ldr32h_a) from within a __ramfunc function
Если убрать директиву
__arm то компилится нормально, но я так понимаю, что в режиме арм из ОЗУ работало бы еще быстрее.
Вот код:
Код
typedef struct
{
int16_t Re;
int16_t Im;
} cplx;
__ramfunc __arm
void Foo(cplx *x)
{
cplx T;
....
T = x[j]; // на эту и подобные строчки ругается
/*-----------*/
T.Re = x[j].Re;
T.Im = x[j].Im; // такая запись компилится в арме, но смотрится криво
...
}
Что делать? На асме писать не хотелось бы...
Заранее благодарен!