PDA

View Full Version : [Tutorial] Desarrollo de App nativas para el Z6


c_ro87
08-05-2008, 07:12 AM
El desarrollo de software nativo bajo motomagx (Probado en Z6)

HowTo - MMNSWD (MotoMagxSWDev)
Version v0.1.0r
2008-05-22
by Abram, traducido por c_ro87

Bueno para comenzar a desarrollar app nativas para Z6 deben disponer de Linux y el SDK del Z6 . La distribucion de linux puede ser cualquiera, pero de 32 bits, ya que el SDK no ha sido testeado en una de 64 bits, los usuarios de Windows pueden usar, andLinux: >>http://www.andlinux.org/<< las diferencias entre las diferentes versiones de linux son las tecnicas para montar archivos.


Para comenzar
Descargar e instalar svn y ncftp:
Code:
#> sudo apt-get install subversion ncftp
Descargar el SDK:
Code:
#> svn co https://ezx.darktech.org/svn/trunk/arm-eabi
Actualizar el SDK:
Code:
#> svn up
A partir de este punto se asume que tenemos una distro de linux y la red esta preparada para trabajar con el Z6, svn y ncfto estan instalados y el SDK ha sido descargado y extraido en el Home-Drectory.

Ahora vamos a examinar el codigo del Z6SneX
Descargarlo con el siguiente codigo:
svn co https://ezx.darktech.org/svn/trunk/projects/Z6SnesX

Bueno una vez que vieron el codigo fuente, que seguramente poco entenderan, pasemos a ver el Makefile, que sera esencial en todos los proyectos, basicamente este es el encabezado de un Makefile generico, lo unico que le deben cambiar es la primera linea: /home/abram/z6/arm-eabi, por el lugar donde ustedes tienen el SDK, por ejemplo en mi caso seria /Home/cristian/arm-eabi, cristian es el nombre de mi usuario en linux

Makefile:

TOOLPREFIX: = /home/abram/z6/arm-eabi
#TOOLPREFIX:= /arm-eabi
#Remember to set TOOLPREFIX to your own specific Path!
QTDIR := $(TOOLPREFIX)/lib/qt-2.3.8
EZXDIR := $(TOOLPREFIX)/lib/ezx-z6
UPLOAD_PATH := /mmc/mmca1/bin/
CC = $(TOOLPREFIX)/bin/arm-linux-gnueabi-gcc
CXX = $(TOOLPREFIX)/bin/arm-linux-gnueabi-g++
LD = $(TOOLPREFIX)/bin/arm-linux-gnueabi-g++
CFLAGS = -pipe -Wall -W -O2 -DNO_DEBUG $(INCPATH)

CXXFLAGS = -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG $(INCPATH)
INCPATH = -I$(QTDIR)/include -I$(EZXDIR)/include -I $(TOOLPREFIX)/arm-linux-gnueabi/include
LDFLAGS = -s
LINK = $(TOOLPREFIX)/bin/arm-linux-gnueabi-gcc
LFLAGS =
LIBS = $(SUBLIBS) -L$(TOOLPREFIX)/arm-linux-gnueabi/lib -L$(QTDIR)/lib -L$(EZXDIR)/lib -lm -lqte-mt -lezxpm -ljpeg -lezxappbase -lezxtapi-xscale-r -llog_util -llighting
MOC = $(QTDIR)/bin/moc
UIC = $(QTDIR)/bin/uic

TAR = tar -cf
GZIP = gzip -9f = gzip -9f

…let us pass…

install: i (TARGETS)
ncftpput - u of root - p "" 192.168.16.2 i (UPLOAD_PATH) i (TARGETS)

Explicacion:
Lo que hace este makefile es copiar todo lo necesaria al Mobil por FTP y dependiendo de lo que queremos hacer llamando la funcion make install se genera la App nativa en la direccion UPLOAD_PATH := del makefile

Bueno aqui les dejo el codigo fuente de la app zBTTime con su respectivo makefile, despues de verlo, no tendran problemas en entender como se arma el makefile y entenderan las funciones del SDK que yo use...

SOURCE CODE zBTTime (http://rapidshare.com/files/135007553/bt.zip.html)


Aclaraciones de como compilar:
Supongamos que tenemos la carpeta /Home/cristian/aplicacion, en donde esta la app a compilar, con todo ya armado y queremos compilar, tenemos 2 opciones, compilamos en la PC y luego subimos el archivos a el telefono, o compilamos directamente al telefono, para la primera opcion hacemos lo siguiente:
Una vez que tenemos todo el codigo fuente, en el makefile no es necesario poner la linea UPLOAD_PATH ni tampoco
install: i (TARGETS)
ncftpput - u of root - p "" 192.168.16.2 i (UPLOAD_PATH) i (TARGETS)
una vez borradas estas iriamos al directorio tecleando cd /Home/cristian/aplicacion, ahora compilamos tipeando make
y listo se genero la App nativa...

Ahora si queremos compilar en el telefono, son necesarios los dos parametros que borramos en el punto anterior, conectamos el celular por telnet, sigan la guia de sagnini75, depues iriamos al directorio tecleando cd /Home/cristian/aplicacion, ahora compilamos tipeando make install y listo la aplicacion se crea en la direccion indicada por UPLOAD_PATH.

Gracias a Abram por esta guia, yo solo la traduje y le agregue una aclaraciones...

saludos c_ro87!!

.::POR FAVOR SOLO POSTEEN SI TIENEN DUDAS O ALGO, NO POSTEEN PARA AGRADECER NI NADA DE ESO. ASI LOGRAMOS ORDENAR EL FORO::.

rafa0
08-05-2008, 08:21 AM
te pasaste enserio... muy bueno =)

lastima que ya voy a entrar a clases de nuevo y con la carrera y el trabajo haber si me queda tiempo libre para trabajar en esto... hasta eso que no se ve muy complicado que digamos jejeje


saludos!

darkquicksilver
08-05-2008, 09:15 AM
Diablos men gracias esto era lo que necesitaba para comenzar, creo que yo me fui mas a lo grande o fui mas tonto por que me baje el MOTODEV Studio y el UIQ pero intentaba desarrollar desde XP supongo fue un gran error, seguire tu tuto y brincare a linux, acabo de ver el codigo fuente del BT nada mal, creo que con algo de estudio le agarre el modo.

Pd. Gracias por agregarme creo que nunca coincidimos o que pasa ya que nunca te veo en el messenger solo veo como cambia tu mensaje personal, aun asi con esto ya puedo empezar si tengo dudas espero me puedas echar la mano y gracias

kakashiambu
08-05-2008, 12:18 PM
q buen aporte
xD lastima q no se nada de c++
asi q asta q aprenda trabajare en algo
de todos modos me reservo el post
n.n
saludos

bakhosm
08-05-2008, 02:03 PM
muy bueno man jeej... dejame ver si despues del jueves me meto a inventar jeje :d

konigche
08-05-2008, 03:55 PM
Esta muy bueno iwalmente no se nada de estoy se me complica =)

Dark Hawk
08-05-2008, 07:54 PM
Esta buenisimo el tutorial man... lastima que me sale hacer verano y no me puedo poner a aprender :S...

jmoncayo
08-05-2008, 08:01 PM
muy muy buen aporte muchas gracias, esto me ayudara para iniciar con las aplicaciones z6

c_ro87
12-30-2008, 07:17 AM
hago un UP porque me parece un tema importante y quizas alguien que le interese no lo vio

szypd
12-30-2008, 07:50 AM
podria ser sticky...

Dark Hawk
12-30-2008, 08:42 AM
tiene razon szypd, esto deberia ser sticky

negrostmthws
12-30-2008, 10:19 AM
no, lo que voby a hacer es agregar esto a GUIAS ROKR Z6,porque hay muchos stickys.
Voy a ver de organizar todo mejor. Que en un trhead esten los links de todas las guias