Roman_V 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Привет! пишу на HT-PICC 9.60PL3 для контроллера PIC16F887. У него на борту 8 кБ программной памяти. Пока программа была маленькой, то все нормально, но тут надо было увеличить программу и компилер выдал ошибку: can't find 0x895 words (0x895 withtotal) for psect "text2" in segment "CODE" Читал инет, но так и не понял причину. То ли компилятор не дает больше 2 кБ компилить, то ли моя функция main() слишком длинная. В main() перечисляются куча операторов сравнения. Нет вызовов никаких функций. Вопрос: как же мне победить эту ошибку? Если все же моя main() длинная, то как указать компилятору чтобы он начал использовать и оставшуюся память? Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Вопрос: как же мне победить эту ошибку? Прочитать расталдычку по этой ошибке (указывайте номер ошибки в дальнейшем) в <path_to_picc9.60>\docs\manual.pdf. Обратить внимание на These functions may need to be placed in new modules. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Roman_V 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Прочитать расталдычку по этой ошибке (указывайте номер ошибки в дальнейшем) в <path_to_picc9.60>\docs\manual.pdf. Обратить внимание на Спасибо за расталдычку :) Не знал что там есть дока. В отдельный модуль тоже не знаю как засунуть. Понимаю что мой огромный цикл надо как то разбить на функции и засунуть функции в отдельный файл. Я правильно понимаю? Сам цикл у меня по тактам расчитан. Наверное все это сдвинется... Не дадите пример простой как подключить файл и описать переменные? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 24 января, 2012 Опубликовано 24 января, 2012 · Жалоба Сам цикл у меня по тактам расчитан. Наверное все это сдвинется... естественно! Не дадите пример простой как подключить файл и описать переменные? Если есть затруднения при создании много-файлового проекта, можно и в один файл несколько функций поместить, нет в этом ничего страшного. void f1(void); // Простейший прототип void f2(void); void f3(void); void main(void) { while(1) { f1(); f2(); f3(); } } void f1(void) { /* ваши объявления и расчеты*/ } void f2(void) { /* ваши объявления и расчеты*/ } void f3(void) { /* ваши объявления и расчеты*/ } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Roman_V 0 25 января, 2012 Опубликовано 25 января, 2012 · Жалоба Функции как определять то я знаю. В общем выделил блоки в функции и все уместилось как надо. еще половина памяти свободно. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться