Diferencia entre revisiones de «ETC-II 2008/09»

De WikiRobotics
Saltar a: navegación, buscar
(Objetivos)
(Consejos)
Línea 26: Línea 26:
 
<br>
 
<br>
 
Conviene usar ''Makefile'' desde el principio.
 
Conviene usar ''Makefile'' desde el principio.
 +
 +
=== Fichero Makefile ===
 +
 +
La herramienta ''make'' nos permite simplicar la compilación de un programa, al permitir definir en un fichero una serie de reglas o pasos, para que a partir de una serie de archivos fuente se obtenga el fichero o ficheros ejecutables del proyecto.<br>
 +
Dichas reglas se escribirán en un fichero llamado '''Makefile''' que será llamado por defecto al ejecutar el comando '''make'''<br>
 +
Un ejemplo sencillo es el siguiente:<br>
 +
<pre>
 +
 +
test.exe: test.obj
 +
tlink /v test.obj
 +
 +
test.obj: test.asm
 +
tasm /zi test.asm
 +
 +
 +
clean:
 +
del *.obj
 +
del test.exe
 +
 +
</pre>
 +
 +
Se lee de la siguiente forma. Para generar el programa ejecutable ''test.exe'' necesitamos el fichero objeto ''test.obj'' y ejecutaremos el comando ''tlink /v test.obj''.<br>
 +
En caso de que no exista el ''test.obj'' se buscará por el fichero la regla para construirlo. En este caso aparece más abajo y se interpreta: Para generar el ''test.obj'' se parte del ''test.asm'' y se ejecuta el comando ''tasm /zi test.asm''.<br>
 +
Por último tenemos una opción para borrar los pasos intermedios de la compilación y el resultado. Esto es útil cuando nos queremos asegurar que el proceso empiece desde el principio y que no use ningún ''.obj'' anterior. Se invoca haciendo:<br>
 +
>make clean<br>
  
 
= Descarga de archivos =
 
= Descarga de archivos =

Revisión del 22:11 26 oct 2008

Ultima hora

  • En el driver hay un error. Solo devuelve 128 posiciones de memoria. En la zona de descargas podeis encontrar una version que corrige el error y pronto estará en la web. (Por cierto el uninstall tampoco funciona por ahora)
  • En la zona de descargas teneis un programa que se llama TEST.ASM que permite probar el driver. Para ello crea un fichero que se llama MEM2.BIN, lo rellena de datos y luego comprueba que se leen bien. Además los representa en ASCII en la pantalla.

Resumen Objetivos Entrega

  • Realización del programa Lector/Editor Hexadecimal
  • Creación de librerias (teclado)
  • Uso de los servicios de la BIOS y del DOS
  • Detectar la correcta instalación de un driver en memoria
  • Compilación usando Makefiles

Consejos

Pasos para la programación del Editor

1. Hacer la estructura del programa partiendo en uno de los ejemplos de la práctica 0
2. Comprobar que existe el driver: Tabla INT, 0CAFEH y STATUS
3. Leer toda la memoria y dejar los valores en un ARRAY en el programa principal.
4. Pinta esos datos en pantalla de forma ordenada: Necesaria función conversion de binario a representación hexadecimal en ASCII
5. Funciones de teclado (Por ejemplo usando Libreria) e implementación del cursor.
6. Meter inteligencia al cursor, de forma que sepa en que byte está en cada momento.
7. Meter funcionalidad de edición de valores.
8. Añadir resto de funciones. Scroll, CTRL-G, ...

Conviene usar Makefile desde el principio.

Fichero Makefile

La herramienta make nos permite simplicar la compilación de un programa, al permitir definir en un fichero una serie de reglas o pasos, para que a partir de una serie de archivos fuente se obtenga el fichero o ficheros ejecutables del proyecto.
Dichas reglas se escribirán en un fichero llamado Makefile que será llamado por defecto al ejecutar el comando make
Un ejemplo sencillo es el siguiente:


test.exe: test.obj
	tlink /v test.obj

test.obj: test.asm
	tasm /zi test.asm


clean:
	del *.obj 
	del test.exe

Se lee de la siguiente forma. Para generar el programa ejecutable test.exe necesitamos el fichero objeto test.obj y ejecutaremos el comando tlink /v test.obj.
En caso de que no exista el test.obj se buscará por el fichero la regla para construirlo. En este caso aparece más abajo y se interpreta: Para generar el test.obj se parte del test.asm y se ejecuta el comando tasm /zi test.asm.
Por último tenemos una opción para borrar los pasos intermedios de la compilación y el resultado. Esto es útil cuando nos queremos asegurar que el proceso empiece desde el principio y que no use ningún .obj anterior. Se invoca haciendo:
>make clean

Descarga de archivos

Enlaces