Цитата(Roman_V @ Apr 4 2008, 14:22)

что то я замучался с этой фигней. прочитал об моей проблеме. рекомендуют разбивать прогу на модули. вот разбил. посмотрите плиз правильно или нет. Но все равно та же ошибка. MPlab 7.20. В проекте 2 файла: "temp5.c" и "p1.c". компилю- Can't find 0x6BC words for psect bigbss in segment BIGRAM
Мне надо иметь два массива по 512 байт, 140 байт и 85 байт. Остальное это переменные всякие, но объемом не больше памяти. По поводу версии компилятора разные слухи. кто-то говорит что 9.50 хуже и старые проги будут не компиляться, кто-то наоборот. фиг знает. Мне бы отлаженый пример программки на основе моего примера с описанием ныжных мне массивов. Было бы здорово!
P.S. уже правда для текущего проекта обошелся меньшей памятью, т.к. оптимизировал, но для будущего надо с FAT работать, а там бы иметь 2 массива по 512 байт неплохо. Спасибо!
Нужно сделать так:
Бъем прогу на 3 модуля:
temp5.c :
Код
#include <pic18.h>
//#include <pic18f4550.h> <<--- это совсем ненужно
void MyProc(void);
unsigned char i[700];
extern char m1[512],m2[512]; //прописываем внешние массивы
void main(void){
int y;
for(y=0;y<700;y++)
i[y]=9;
MyProc();
}
void MyProc(void){
int i;
for(i=0;i<512;i++){
m1[i]=2;
m2[i]=3;
}
return;
}
И еще 2 файла:
file1.c :
Код
char m1[512];
void func1(void){} // Необходимо объявить хотябы одну фиктивную функию
file2.c :
Код
char m2[512];
void func2(void){} // Необходимо объявить хотябы одну фиктивную функию
Так должно работать!

Вот прочитайте:
http://www.htsoft.com/support/faq.html#faq97