Как правильно компилировать hex файлы с помощью sdcc?

Создание исполняемых модулей для электронных ключей SenseLock

Как правильно компилировать hex файлы с помощью sdcc?

Сообщение weirdo » Вт, 27 май 2008 16:48

Пробую скомплирировать самый первый файл из руководства пользователя. (demo1.c)

sdcc --model-large c:/demo1/demo1.c

Получается .ihx файл, не такой как в примере (в папке samples), большего размера

Делаю его исполняемым
hexbin demo1.c demo1.bin

Так же пробовал сначала переделывать в .hex с помощью packihx:
packihx demo1.ihx >demo1.hex

После этого запускаю pc_demo1.c. Программа зависает на выполнении bin файла.
Если бинарник делать из hex-файла, приведенного в samples (а он, насколько я понял, скомпилирован с помощью keil), то все работает верно.
weirdo
 
Сообщения: 9
Зарегистрирован: Вт, 27 май 2008 16:35

Сообщение weirdo » Вт, 27 май 2008 16:49

Естественно bin файл копирую в ключ по адресу d001
weirdo
 
Сообщения: 9
Зарегистрирован: Вт, 27 май 2008 16:35

Сообщение hijaq » Вт, 27 май 2008 17:28

В архиве с SDCC есть пример проекта для компиляции. Компилировать надо используя makefile, потому что опций при компиляции там используется больше, чем вы указали:

Код: Выделить всё
CC = $(BINPATH)/sdcc.exe --model-large --no-xinit-opt -c -I$(INCLUDE)


К тому же ещё необходимо подключить как минимум библиотеку с SES функциями (это всё так же сделано в makefile'е примера).

Различие в размере и расширении из-за того, что примеры были созданы при помощи компилятора Keil, а не SDCC.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Сообщение weirdo » Ср, 28 май 2008 08:50

Спасибо, все заработало.
weirdo
 
Сообщения: 9
Зарегистрирован: Вт, 27 май 2008 16:35


Вернуться в Исполняемые модули

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron