ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
117649 Топик полностью
vul (08.04.2008 10:07, просмотров: 180) ответил blackbit на ..отчего же __regvar не заработал? Всегда работал, а тут на тебе..
Так в том то и дело, что не работает у меня regvar. Делал так: __regvar __no_init unsigned char R15 @ 15; void rw_spi() { ... asm("inc r15"); } uchar _FF_spi(uchar mydata) { R15=mydata; rw_spi(); return R15; } В этом случае уже при линковании выдается следующая ошибка: Error[e117]: Incompatible runtime models. Module ?REGISTER_REGVARR15_L10 specifies that 'R15' must be 'VAR', but module ?REGISTER_CGREGR15_L10 has the value 'REG' Регистры лочил через Option -> C/C++ Compiler -> Code -> Number of registers to lock for global variables. Сейчас попробовал и вариант с параметром --lock_regs, но так понимаю, что это одно и то же. Может быть поможете разобраться с этой ошибкой? Или может быть все-таки можно как то обратиться к памяти данных из Си-шного кода? Тогда глобальный регистр мне уже и не нужен будет...