Club.NET Almería

Plataforma .NET de Ingenieros/Ingenieros Técnicos en Informática de Almería
¡Bienvenid@ a Club.NET Almería! Iniciar sesión | ÚNETE a la web | Ayuda
en Buscar
Principal Blogs Foros Imágenes Descargas

Portar código C a dispositivos móviles.

Último artículo 04-16-2007, 16:58 escrito por karloch. 3 respuestas.
Ordenar mensajes: Anterior Siguiente
  •  04-15-2007, 16:28 1018

    Portar código C a dispositivos móviles.

    http://ddj.com/dept/cpp/198702204;jsessionid=D1ZXF3EBAWH2YQSNDLRSKH0CJUNN2JVN

     


    José Antonio Álvarez Bermejo.
    - - - disclaimer - - -
    Las opiniones son como el olor corporal, a cada uno le gusta el suyo. No te esfuerces en oponerte a mi opinión por que esa es tú opinión y a mi me trae sin cuidado.
  •  04-15-2007, 16:57 1020 en respuesta a 1018

    Re: Portar código C a dispositivos móviles.

    Adjunto: jornada.jpg

    Interesante sobre todo lo de: Because Open C libraries are built on POSIX and other open-source projects, portable code on top of Open C is easier to write. This helps developers design and implement large application bases that need to run on several operating systems.

    Lástima que ya no tengo mi Nokia 3650. No obstante las limitaciones que tienen las librerías en cuanto a llamadas del sistema y carga de bibliotecas dinámicas son un poco severas, dudo que muchos programas compilansen "on the fly", se necesitaría revisar un poco el código.

    Hasta ahora la mejor aplicación que conozco para Symbian S60 es el fMSX/S60 y está hecho en ensamblador de ARM puro y duro :O

    Por otro lado, para los dispositivos basados en Windows CE 4.x y superiores tenemos el .NET Compact Framework y a tirar de C# :D. Y y para los basados en Linux (Sharp Zaurus, Nokia N770, etc...) , ¿qué decir de los basados en Linux? En ellos casi no hay diferencia entre desarrollar para un sistema de escritorio o para un dispositivo móvil. Si os fijáis, Nokia esta empezando a hacer movimientos de Symbian a Linux...

    Debo reconocer que Linux ofrece un entorno más que jugoso para nuestros dispositivos portables. Hace tiempo instalé Debian a mi Jornada 720 (StrongARM@206Mhz 32MB RAM), y era una gozada. He adjuntado una foto apt-geteando paquetes binarios directamente del repositorio ARM de Debian, a través de una tarjeta wifi PCMCIA :P Las prácticas de OGA me compilan de forma indistinta en esta minimáquina, sin hacer una sola modificación.

    La lástima es que aun no se ha hecho suficiente trabajo en el kernel para este dispositivo; soporta todas las funciones... excepto la de apagarlo. Si quieres apagar el handheld tienes que quitar la batería a lo burro, cosa que obviamente no es muy buena. Eso es lo único que hace que no pueda usar la máquina con más frecuencia :( Actualmente sigo el progeso muy de cerca en http://www.jlime.com.

    En definitiva, que C para dispositivos móviles es una realidad. Me alegra que haya llegado a Symbian S60 :)


  •  04-15-2007, 20:56 1021 en respuesta a 1020

    Re: Portar código C a dispositivos móviles.

    Sigo enamorao de tu "jornada".

    Un saludo. 


    José Antonio Álvarez Bermejo.
    - - - disclaimer - - -
    Las opiniones son como el olor corporal, a cada uno le gusta el suyo. No te esfuerces en oponerte a mi opinión por que esa es tú opinión y a mi me trae sin cuidado.
  •  04-16-2007, 16:58 1024 en respuesta a 1021

    Re: Portar código C a dispositivos móviles.

    Es un dispositivo genial, lo más cercano a un sistema sobremesa que he tenido, sin llegar a las dimensiones de un portátil. El principal problema es el que comento de que no es posible apagarse, ¿por qué no? Lo explicaré un poco.

    Estos dispositivos estan pensados para no apagarse nunca (¡en serio!), no tienen boton de apagado; sólo una tecla de "suspensión". Cuando la Jornada 720 se suspende, todos los sistemas se apagan excepto por un mínimo de energía que se mantiene para alimentar la memoria RAM y que no se pierdan los datos. Por la propia arquitectura del StrongARM, cuando el sistema sale del modo de suspensión y empieza a funcionar de nuevo, lo primero que hace el procesador es mirar en la dirección de memoria 0x0000000, que resulta estar mapeada en la ROM de la máquina, esto es, el bootloader de Windows CE 3.0. Obviamente esto no es Linux, así que no podemos recuperar el sistema tal como lo teníamos.

    Una opción verdaderamente viable, sería poder hacer un reboot del sistema desde Linux hasta Windows CE, una vez allí, suspender el aparato. Cuando quisiéramos usarlo de nuevo, basta con cargar Linux de nuevo (Linux desde la Jornada se arranca con linexec.exe, un programa similar al viejo loadlin.exe de DOS). ¿Problema? Al hacer un reboot desde Linux (bien con reboot, bien con shutdown), la máquina se resetea, pero no limpia la memoria RAM que sigue teniendo todos los datos que Linux nos ha dejado; es entonces cuando arranca el bootloader de Windows CE, que como se encuentra con el "layout" de memoria de Linux, se queda un tanto colgado :( La solución ideal sería hacer un limpiado completo de la RAM justo antes del momento del reset pero a saber como se puede conseguir eso :P

Ver como una fuente de noticias RSS en XML
Ofrecido por Community Server (Personal Edition)