Перейти к содержанию
    

SDCC и таблица вектора

Пытаюсь скомпилировать программу в 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	  

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос снят. Объявил s_GSINIT как внешнюю и всё заработало.  Уж не знаю, почему у меня её пришлось объявлять, но во всех других примерах дополнительного объявления не требовалось. 


		.globl	s_GSINIT

__standard_interrupt_vector::
__reset_vector::

	ljmp	s_GSINIT

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...