Hello, Rifkat Abdulin! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 21 Jun 2005 05:22:23
+0000 (UTC):
RA> Разобрался - все оказалось проще - MPLAB не сохраняет build RA> options проекта при его закрытии! Это при работе в всязке с RA> Hi-Tech. Интересно, 7й MPLAB нормален в этом плане?
Периодически что-то клинит, и он перестает генерировать hex. Помогает полазить по опциям проекта в части компиляции или линковки. Потыкаешь - появляется. Отчасти поэтому я мплабом и не пользуюсь. Отчасти потому, что так и не нашел способа как сделать одну штуку - резервирование места в hex и размещении там заданных данных. Сейчас это выглядит так:
В самой программе написано (вся программа - в одном файле).
#ifdef _ROM_ID_ const byte id0l @ 0xffa; const byte id0h @ 0xffb; const byte id1l @ 0xffc; const byte id1h @ 0xffd; const byte id2l @ 0xffe; const byte id2h @ 0xfff; #endif /* _ROM_ID_ */
#ifdef _ROM_ID_ asm("psect id,local,class=CODE,delta=2"); asm("retlw 0"); asm("retlw 0"); asm("retlw 0"); asm("retlw 0"); asm("retlw 0"); asm("retlw 1"); #endif
Компилируется так:
PICC -E$$$ -O -G -Zg -INTEL -D24 -ASMLIST -RESROMFFA-FFF -L-Pid=ffah -16F73 file.c
В результате в hex по адресу FFA помещаются указанные команды, а программатор при прожиге пишет по этим адресам свою сериализацию. Как тоже сделать двумя проходами (компиляцией и линковкой) я не нашел... Буду признателен, если кто предложит, лучше, если по-прежнему не разбивая один файл на части.
dima
formatting link