domingo, 27 de enero de 2008

IP

Como curiosidad, pienso que uno de los puntos importantes en el proyecto es tratar el tema de la dirección IP. Tenemos que pensar que vamos a utilizar conexión ethernet y que necesitaremos una ip que nos caracterice.

Por defecto platform builder entiende que utilizamos un servidor DHCP que nos proporcionará una IP sin ningun tipo de problema, pero que pasa si queremos tener una Ip estática. Una de las formas de disponer de ella es tocar la configuración a nivel de archivo.


Para realizar este paso, tenemos que acceder al archivo platform.reg. Dentro de dicho archivo hemos de buscar: [HKEY_LOCAL_MACHINE\Comm\PCI\STE1001\Parms\TcpIp] y realizar un par de ajustes.

Si nos fijamos "EnableDHCP"=dword:1 nos indica que para asignar IP utilizará DHCP, si queremos fijar nuestra propia Ip, tendremos que poner esta variable a 0 y posteriormente tendremos que ajustar los parametros a nivel de Ip, Mascara..

Aqui os dejo una captura donde se aprecia que por defecto DHCP esta activado.



Por último os dejo un ejemplo de configuración para fijar IP.

"EnableDHCP"=dword:0
"DNS"="192.168.1.1"
"DefaultGateway"="192.168.1.1"
"UseZeroBroadcast"=dword:0
"IpAddress"="192.168.1.220"
"Subnetmask"="255.255.252.0"

Imagen final v2 (windows ce 5.0)

Bueno, como podeis ver en alguna de las entradas, la versión 6.0 nos daba algun que otro problema al cargar la imagen. Por este motivo y ya que disponemos de la versión anterior, realizaremos la imagen sobre windows ce 5.0

Antes de empezar a enumerar los elementos que hemos seleccionado, hay que hablar de las despendencias. ¿Realmente podemos realizar un proyecto 100% costumizado? La respuesta es NO. Al seleccionar determinados elementos, se crean una dependencias en las que de forma obligada se incluyen otros elementos en el diseño final.



En esta imagen podemos ver, como para poder deshacernos de un componente de la imagen final, primero hay que remover todas las dependencias.



Una vez acalarado este punto, vamos a definir los elmentos seleccionados por nosotros y posteriormente verem0s que se han añadido mucho por dependencia.

Elementos que hemos seleccionado:

BSP:
  • VIA BSP cepc:86 ( El de nuestra placa para la versión windows ce 5.0)

Applications and Services Development:
  • .NET Compact Framework 2.0
  • Standar SDK for windows c.e
  • XML
  • C libraries and runtimes
Aplication End User
  • Active Sync
  • CAB file Installer/Unistaller
Core OS services:
  • USB host Support
Comunication Services and Networking
  • TCP/IP
  • Universal Plug and Play (UPnP)
  • LAN
    • Wired Local Area Network
  • Servers
    • FTP
    • TELNET
Device Managment
  • SNMP
File System and data Store
  • Compresion
Shell and user interface: (Introducido poder ver algo en el monitor, no obligatorio en proyecto final)
  • Minimal GDI configuration
  • User interface
    • Mouse
    • Network user interface
Como ya hemos comentado esto genera unas dependencias que ahora mostraremos en las siguientes imagenes. En dichas imagenes se muestran todos los lementos de la imagen.

Para diferenciar los elmentos introducidos por nosotros y los introducidos por dependecias, hay que fijarse en las señales verdes. Si son señales verdes con una flecha hacia abajo, es un elemento que hemos introducido nosotros, el resto son elementos por dependencia.




Como se puede apreciar, el número de elementos que se añaden al proyecto es muy elevado, por lo que resulta complejo diseñar un proyecto que exclusivamente cumpla los requisitos que se nos piden, sin ningun tipo de añadido.

viernes, 25 de enero de 2008

Cargar imagenes automáticamente

Como ya sabeis, uno de los problemas que teniamos era poder cargar una imagen de forma automática. Paso fundamental en un entorno en el que no tendremos ni teclado ni pantalla.

Después de llevar varias jornadas obsesionados con el sistema de arranque que hemos visto en varios tutoriales colgados en la web, hemos decidido enfocar el problema desde otro punto de vista.

El primer paso es hacer nuestra tarjeta bootable :
  • 1ª forma: Creamos un disco de arranque en una máquina con windows 98. Importante que utilicemos este sistema operativo o alguno anterior en el que ms-dos no sea una simple emulación como pasa en windows xp. Parece una estupidez, pero si trabajamos con las últimas versiones de windows, muchos de los comandos de ms-dos no son reconocibles. Concretamente "format c: /s" que nos permite formatear y hacer el disco bootable, no es una opción presente en los discos de arranque generados en las últimas versiones de windows.
  • 2ªforma:Utilizamos la aplicación "HP USB DISK STORAGE FORMAT TOOL", que nos permite hacer bootable unidades de almacenamiento conectadas por USB. En este caso hemos de conectar la tarjeta CF mediante un lector de tarjetas que se conecte por USB, ya que es la única forma de engañar a la aplicación de HP. Por si alguien quiere la plaicación aqui dejamos el link:
Enlacehttp://rs271.rapidshare.com/files/73930198/hpUSBbyhacker2911.rar


De estas dos opciones, nos hemos quedado con la segunda, ya que la primera nos daba un problema al cargar la imagen mediante el loadcepc.

Una vez ya tenemos nuestras tarjeta CF bootable, no dependemos de la disquetera como pasaba anteriormente. Al iniciar la placa con la tarjeta, accedemos a ms-dos y podemos cargar la imagen de forma manual, como haciamos anteriormente con la aplicación loadcepc.

Pero como ya hemos comentado el objetivo es que todo esto sea automático, por lo que hemos creado un autoexec.bat mediante el notepad con la siguiente sentencia:

loadcepc nk.bin


Si introducimos autoexec.bat en la tarjeta CF, junto a la aplicación que lanza la imagen: loadcepc y la imagen que creamos: NK.bin, al arranacar la placa con la tarjeta, windows ce se iniciará de forma automática.

Aqui os dejo la secuencia que sigue el sistema de arranque.

miércoles, 23 de enero de 2008

Imagen ( Parado por probelmas con 6.0)


Una de las partes que nos hacia falta completar era la generación de una imagen adecuada a las especificaciones del proyecto.

El primer paso a seguir es seleccionar el BSP que nos proporciona el fabricante. Nosotros en gran parte de la fase de estudio hemos utilizado otro bsp, concretamente el emulador de x86 (windows ce 5.0) y el emulador arm (windows ce 6.0) ya que era la única de trabajar bajo emulador sin tener que descargar la imagen siempre en la placa.

Tenemos que remarcar, que para que el resultado final se pueda reflejar de una forma visual, una de las opciones que hemos seleccionado es la terminal emulator, lo que nos proporcionara una interficie gráfica que en la versión final no era necesaria.

En el mismo cuadro de opciones, seleccionamos ActiveSync, para sincronizar dispositivos.





Otros de elementos seleccionados en laimagen custom son: .NET Compact Framework 2.0, las librerias de C y XML, por que nos proporcionan soporte a programas desarollados bajo Visual Studio o programas muy sencillos en C


De las opciones de Comunicaciones, seleccionamos Network Utilites(IpCongif, Ping Route,....), TCP/IP y Winsock nos permitirá la comunicación que es parte importante de la imagen,
y habilitamos el interface Ethernet


Como complementos, hemos dado soporte al puerto serie y a la capacidad de almacenamiento mediante dispositivos usb.



Uno de los puntos importantes, es que muchas opciones vienen seleccionada de forma predeterminada, digamos que son las condiciones mínimas necesarias que se requieren al seleccionar una opción. Es decir, si queremos tener una tortilla, en la cesta de la compra tenemos que tener los huevos y el aceite o tendremos problemas.

Existen gran núemro de opciones que no entran en nuestra imagen, audio, capacidad internet, programas, entorno gráfico desarrollado, notificación de errores...Por este motivo no hemos subido cada uno de los cuadros seleccionables en el diseño, ya que muchos de ellos ni los hemos tocado.

Pulsamos a Finish y luego podemos construir la imagen, haciendo PROJECT ->Advanced Build -> BUILD & Sysgen

Despues de esperar una media hora aproximadamente, tendremos la imagen generada, la imagen se genera como "NK.bin"

viernes, 11 de enero de 2008

Semana 6 Post 4

Investigando un poco sobre la placa que trabajamos y el software que utilizamos, Windows ce 5.0 como sistema operativo y el BSP proporcionado por el fabricante hemos encontrado una información importante para el desarrollo del proyecto.

Extraido del proyecto de final de carrera de Adrián Couñago Silva (Disseny de sistema operatiu Windows CE per un dispositiu empotrat pag.86)

""Como puntos negativos podemos destacar dos:

• Creíamos que existía la posibilidad de cargar el sistema operativo desde una tarjeta Compact Flash insertada en el puerto del dispositivo. Esta opción tuvo fue rechazada porque el dispositivo no acepta este tipo de arranque.

• VIA Technologies debería dar soporte en su BSP para el almacenamiento persistente. Durante la elaboración del sistema operativo vimos que aún añadiendo los elementos relativos al soporte de almacenamiento persistente, como soporte USB, el dispositivo no reconoce estos dispositivos por lo que no disponemos de almacenamiento persistente. ""

Viendo las dificultades que hemos tenido con este tema y sabiendo que no somos los primeros en tenerlo, nos decantaremos por el disco duro finalmente.

jueves, 10 de enero de 2008

Semana 6 Post 3

Bueno, bueno...seguimos progresando adecuadamente.
Como ya sospechaba al investigar los archivos que se generan al crear el disco de arranque mediante platform builder, uno de los ejecutables es el encargado de lanzar las imagenes .bin. Recordemos que la imagen de windows ce, se encuentra en dicho formato.

Como podeis ver en las siguientes 2 imagenes, hemos podido lanzar una imagen de WCE, utilizando este método poco ortodoxo.
Recordemos:
  • Arrancamos la placa con un disquete de arranque de ms-dos.
  • Accedemos por ms-dos al directorio de la tarjeta cf.
  • Lanzamos el sistema operativo con la sentencia "loadcepc nk.bin"

Próximos objetivos a corto plazo:
  • Lanzar una aplicación sólo iniciar windows ce
  • Intentar arrancar la imagen de forma automática.

martes, 8 de enero de 2008

Semana 6 Post 2.

Seguimos con el tema de cargar imagenes. Por alguna extraña razón, no podemso arrancar desde CF. Para ver si podiamos desde otra unidad, hemos conectado una disquetera en la placa con un disco de arranque y funciona perfectamente. También hemos probado con el sistema de arranque que se genera con platform builder y funciona correctamente. Como se puede apreciar en la siguiente imagen.



El problema es que desde disquetera no podemos cargar la imagen ya que la capacidad es demasiado pequeña.

lunes, 7 de enero de 2008

Semana 6 Entrada 1 (Problema importante)


Estos días hemos estado estudiando la situación. Como recordareis, nuestro problema estaba en que no podiamos arrancar el cargador de imagenes .bin. Nuestra primera idea era que el disco de arranque que se crea con las herramientas que proporciona Windows ce 6.0 no funcionaba correctamente en nuestra placa.

Ante esta dificultad, la primera opción fue instalar en un PC la versión de windows ce 5.0 con su respectivo platform builder. Esta lo hicimos porq todos los tutoriales para cargar imagenes que encontramos, se basan en esta versión de platform builder. Por desgracia, la herramienta es la misma que presenta su versión posterior y nos ha llevado al descarte.

Viendo que el problema no era cuestión de los discos de arranque creados. El siguiente paso fue fijarse en el texto que se nos muestra y el tiempo que invierte en cada uno de los mensajes.

Al iniciarse la placa, aparece el mensaje de ""verifying dmi pool data"", invierte unos 10 segundos hasta que finalmente se nos muestra el error de disco.
Buscando posibles causas, los motivos por los que puede aparecer este mensaje son variados. Puede ser un error de placa, de conexiones, de configuración de dispositivos a nivel de arranque..
Lo primero que hicimos para descartar opciones fue resetear la placa, para descartar alguna configuración erronea y posteriormente como se muestra en la siguiente imagen nos fijamos en si la placa detectaba la tarjeta.
Por desgracia, si que la detecta lo que nos limita el radio de acción para saber los motivos del error.
Ahora mismo estamos un poco descolocados con el camino a seguir, pero miraremos el tema de configuración de la placa más detalladamente y verificaremos el estado "físico" de la placa.

jueves, 3 de enero de 2008

Semana 5 ; Post 1 (cargar imagen)

Seguimos con dificultades para cargar la imagen en nuestra placa.
Entre los modos que existen para poder volcar la iso a nuestra placa, nos hemos decantado por la siguiente:

• Formateamos un disquete de 3½
• Dejando insertado el disquete en nuestra unidad, vamos a Inicio ->
Ejecutar, escribimos cmd y pulsamos Intro.
• Nos situamos en el directorio “%ProgramFiles%\Windows CE Platform
Builder\6.00\CEPB\Utilities” de donde hayamos instalado el paquete PB.
• Ejecutamos el comando “CEPCBoot.144”
• Inmediatamente comenzará a escribir en el disquete.
• Una vez finalizado debemos copiar el contenido del disquete a la
partición del disco duro del dispositivo.
• Por último añadimos el archivo nk.bin (la imagen) al disco duro del dispositivo.

En nuestro caso, nosotros utilizamos como disco duro una tarjeta cf, por lo que hemos volcado tanto la aplicación de arranque como la imagen en la tarjeta. Al iniciar la placa con la tarjeta, nos sale el error de "ERROR EN EL DISCO".

Al encontrarnos con este error, lo primero que hicicmos es comprobar si realmente habíamos creado una aplicación de arranque correctamente. Para asegurarnos arrancamos un PC con la aplicación en un disquete y vemos que realmente esta aplicación cumple su cometido.



En teoría se nos tendría que abrir un menu como este y seleccionariamos arrancar la imagen creada en platform builder de forma local.