Digi 0 3 октября, 2020 Опубликовано 3 октября, 2020 · Жалоба Пытаюсь скомпилировать программу в SDCC для FX2 контроллера (MSC51), но столкнулся с проблемой. При подключении файла vectors.asm ассемблер не может найти функцию s_GSINIT. SDCC 4.0.0 До этого с такой связкой ни разу не работал. Буду рад если поделитесь примером проекта для связки Eclipse и SDCC. Возможно что что то не так настроил. Компилирую из под ECLIPSE , для asm файлов используется sdas8051 Ошибка такая: Building file: ../src/asm/vectors.asm Invoking: SDCC Assembler sdas8051 -l -o "src/asm/vectors.rel" "../src/asm/vectors.asm" removing src/asm/vectors.rel ../src/asm/vectors.asm:43: Error: <u> undefined symbol encountered during assembly make: *** [src/asm/vectors.rel] Error 2 .module vectors ;;; ---------------------------------------------------------------- ;;; standard FX2 interrupt vectors ;;; ---------------------------------------------------------------- .area CSEG (CODE) .area GSINIT (CODE) .area CSEG (CODE) __standard_interrupt_vector:: __reset_vector:: ljmp s_GSINIT ;; 13 8-byte entries. We point them all at __isr_nop ljmp __isr_nop ; 3 bytes .ds 5 ; + 5 = 8 bytes for vector slot ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 ljmp __isr_nop .ds 5 __isr_nop:: reti ;;; ---------------------------------------------------------------- ;;; the FIFO/GPIF autovector. 14 4-byte entries. ;;; must start on a 128 byte boundary. ;;; ---------------------------------------------------------------- . = __reset_vector + 0x0080 __fifo_gpif_autovector:: ljmp __isr_nop nop Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Digi 0 4 октября, 2020 Опубликовано 4 октября, 2020 · Жалоба Вопрос снят. Объявил s_GSINIT как внешнюю и всё заработало. Уж не знаю, почему у меня её пришлось объявлять, но во всех других примерах дополнительного объявления не требовалось. .globl s_GSINIT __standard_interrupt_vector:: __reset_vector:: ljmp s_GSINIT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться