_Pasha 0 4 декабря, 2010 Опубликовано 4 декабря, 2010 · Жалоба Всем привет! Если у кого есть более-менее серьезные работы, точеные под sdcc для пиков, отпишитесь плз - мнение, что стало лучше. Сам пристально и давно слежу за ними, по делать вещи из-под сабжа стремновато, боюсь, не хватит оптимизатора. Но, может быть это время придет скоро? А то некрочип С18 порядком забадал. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
filonov 0 21 декабря, 2010 Опубликовано 21 декабря, 2010 · Жалоба Начал проект с нуля на SDCC пока нормально, НО есть и вопросы. Не заработал printf() #include <pic18fregs.h> #include <stdio.h> #include <usart.h> void main(void) { usart_open( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_BRGH_HIGH & USART_ASYNCH_MODE & USART_EIGHT_BIT, 79 ); stdout = STREAM_USART; // Direct outout to the USART printf("Hello World\n"); } исходник выдает ..... missing definition for symbol "_stdout", required by "test.o" missing definition for symbol "_printf", required by "test.o" ..... *** Exited with status: 1 *** Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 21 декабря, 2010 Опубликовано 21 декабря, 2010 · Жалоба usart_open( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_BRGH_HIGH & USART_ASYNCH_MODE & USART_EIGHT_BIT, 79 ); Безотносительно к sdcc. Здесь наверное надо применять не "&", а "|" ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
filonov 0 21 декабря, 2010 Опубликовано 21 декабря, 2010 · Жалоба Безотносительно к sdcc. Здесь наверное надо применять не "&", а "|" ? Даже если и так, код не компилируеццо... не находит он printf() Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 21 декабря, 2010 Опубликовано 21 декабря, 2010 · Жалоба Я с sdcc имел дело несколько лет назад, и работал только с 8051. Но всё же. Как вы линкуете? Какая командная строка для линкера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 21 декабря, 2010 Опубликовано 21 декабря, 2010 · Жалоба Если код не компилируется - не хватает #include <какой-то файл>, где объявлена функция printf (stdio.h или stdlib.h). Если не линкуется - не подключена необходимая библиотека. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
filonov 0 22 декабря, 2010 Опубликовано 22 декабря, 2010 (изменено) · Жалоба И так. Скрины: Опции - все на автомате: Compiler:: -m%FAMILY -%DEVICE -V --debug -I$(SRCPATH) -c %I Linker:: -m%FAMILY -%DEVICE -V --debug -Wl-c -Wl-m $LKR(-Wl-s%LKR) -I$(SRCPATH) -o%O %OBJS %LIBS Librarian:: -c %O %OBJS %LIBS ------------- Как PikLab-у "найти" библиотеки и ассемблер? Добавить в Librarian-Custom Options:: -L "/usr/share/sddc/lib/pic16" ?? или я что-то путаю? Изменено 22 декабря, 2010 пользователем filonov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 23 декабря, 2010 Опубликовано 23 декабря, 2010 · Жалоба У-у-у. Похоже, что я вам не помощник:( Я даже не догадываюсь, что это за скрины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
filonov 0 23 декабря, 2010 Опубликовано 23 декабря, 2010 · Жалоба У-у-у. Похоже, что я вам не помощник:( Я даже не догадываюсь, что это за скрины. это скрины IDE PikLab ну Вы мне просто со скриптами линкера подскажите, если можно. От оболочки то особо полет не нарушится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 123 23 декабря, 2010 Опубликовано 23 декабря, 2010 · Жалоба Как PikLab-у "найти" библиотеки и ассемблер? Добавить в Librarian-Custom Options:: -L "/usr/share/sddc/lib/pic16" ?? или я что-то путаю? Путаете. С PikLab не работал, но строка -L "путь" означает добавление линкеру пути поиска библиотек. А ассемблер вызывается из makefile. Прописан ли у вас путь к ассемблеру и библиотекарю в PATH? Находятся ли gplib, gpasm при запуске из командной строки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 23 декабря, 2010 Опубликовано 23 декабря, 2010 · Жалоба И так. Скрины: А gputils у Вас стоЯт ваще-то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
filonov 0 23 декабря, 2010 Опубликовано 23 декабря, 2010 · Жалоба А gputils у Вас стоЯт ваще-то? да, gputils есть и в опшинсах ихних все находится Путаете. С PikLab не работал, но строка -L "путь" означает добавление линкеру пути поиска библиотек. А ассемблер вызывается из makefile. Прописан ли у вас путь к ассемблеру и библиотекарю в PATH? Находятся ли gplib, gpasm при запуске из командной строки? gplib gpasm c командной строки находятся. А вот что с опциями: Компилятор Линкер -m%FAMILY -%DEVICE -V --debug -Wl-c -Wl-m $LKR(-Wl-s%LKR) -I$(SRCPATH) -o%O %OBJS %LIBS и либы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться