Relocatable assembler source file (spanish)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Relocatable assembler source file (spanish)

4,642 次查看
Leo_Junin
Contributor I
Estimados:
Quiero hacer un source file por cada dispositivo a controlar y que cada uno contenga las constantes, los datos, la inicializacion del dispositivo, y las rutinas propias del mismo, tales como interrupcion, etc. Mi problema es que no puedo generar una seccion de inicializacion. Ocea, tengo los source.asm por cada dispositivo funcionando ok, pero solo tengo un archivo de inicializacion para todos ellos debido a que no puedo generar la seccion de inicializacion.
Espero que entiendan mi pregunta.
Muchas gracias.
标签 (1)
0 项奖励
回复
2 回复数

546 次查看
Santa
Contributor I
NO entiendo muy bien. Que es el archivo de inicilización? Donde y para que queires al sección de inicliazación?

Nunca lo he hecho en Freescale, pero si tienes varios objetos (cada uno de tus .asm) probablemente cada uno de ellos deba tener un .inc (encabezado) que lo acompañe. La idea de los encabezados es "exportar" una lista de las constantes, variables y subrutinas globales (es decir las que puede ver otro objeto). Por ejemplo:

1. En LCD.asm hay una rutina que inicializa el LCD. Si quero poder inicializar el LCD desde otro objeto (por ejemplo el control del tecldo) debo "exportar" el nombre de la rutina para que otros la vean

LCDInic:
XDEF LCDInic ; ESTO "EXPORTA" EL LABEL!!!
lda 0x01
sta PTB
....

2. Ahora creo un LCD.inc que se verá algo así

...
XREF LCDInic ; Esto me dice que LCDInic esta definido parte

3. Y en el objeto que va a utilzar el LCD (por ejemplo main.asm) se debe incluir el encabezado:

...
INCLUDE 'LCDInic.inc'
...

; code section
MyCode: SECTION
main:
_Startup:
LDHX #__SEG_END_SSTACK ; initialize the stack pointer
TXS

; Uncomment this function call after using Device Initialization
; to use the generated code
JSR MCU_init

;¡¡¡¡¡ACA PODEMOS LLMAR A LA RUTINADE INICIO DEL LCD!!!!!
JSR LCDInic

;CLI ; enable interrupts
mainLoop:
; Insert your code here
NOP



Espero haberte entendido y que esto es lo que queiras ahcer. Puede q tngas q tener cuidado de donde estan los archivos y algunas cosas de sintaxis pero esta es la idea general.
0 项奖励
回复

546 次查看
admin
Specialist II
Hola , no eh podido hacer que dentro de una rutina en C , en procesadores HC08 (en el  main), cuando esta corriendo el programa  valla a atender una interrupcion externa por IRQ,  (Osea a menos que previamente  la invoque ej: "IRQ1INT();" .).
 
Me gustaria una ayuda o un ejemplo en donde yo me pudiera basar , gracias. 
0 项奖励
回复