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.