Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

développer sur le pocketpc

10 réponses
Avatar
Thierry Schembri
Bonjour,

Je cherche un moyen de développer sur pocket pc (directement sur le pocket
pc, pour m'occuper dans le train ;-) .
J'utilise un dell axim x5, j'ai installé pocketc, mais il n'a pas l'air de
fonctionner (il ne se lance pas). J'ai trouvé une version de gcc pour arm,
mais quand je lance la compilation du sample, il me dit au bout d'un certain
temps que je n'ai plus assez de mémoire (j'ai pourtant 64 Mo).
Ma question est donc la suivante : quels sont les autres systèmes de
développement ou, peut-on ajouter de la mémoire principale dans un dell x5 ?

10 réponses

Avatar
Alain Zanchetta [MS]
Bonjour,

mais quand je lance la compilation du sample, il me dit au bout d'un
certain

temps que je n'ai plus assez de mémoire (j'ai pourtant 64 Mo).
Ma question est donc la suivante : quels sont les autres systèmes de
développement ou, peut-on ajouter de la mémoire principale dans un dell x5
?

Non, on ne peut pas ajouter de mémoire "principale" sur un axim (ni à ma
connaissance sur les autres ppc). Il faut donc essayer :
1. d'installer le maximum de programmes et données en carte de stockage
2. de regarder si cet outil de développement utilise un répertoire
temporaire et de déplacer celui-ci sur carte de stockage.

Enfin, il faut aussi savoir (cela peut aider à rechercher une solution) que
l'espace d'adressage d'un processus sous Windows CE est limité, (à 32Mo en
Windows CE 3 (donc PPC et PPC2002) et 64Mo en Windows CE 4 (donc WM2003)) et
que les 64Mo que vous avez seront toujours largement assez pour UN SEUL
processus (mais souvent les environnements en lancent d'autres pour les
étapes de compilation).

Bonne journée

Alain Zanchetta

Avatar
Fabrice MALAINGRE
Bonjour Alain,

Enfin, il faut aussi savoir (cela peut aider à
rechercher une solution) que l'espace d'adressage
d'un processus sous Windows CE
est limité
Jusque là je suis entièrement d'accord...



(à 32Mo en Windows CE 3 (donc PPC et PPC2002)
et 64Mo en Windows CE 4 (donc WM2003)) et
que les 64Mo que vous avez seront toujours
largement assez pour UN SEUL processus (mais
souvent les environnements en lancent d'autres
pour les étapes de compilation).
Par contre, je suis désolé de te contredire sur ce point !


Un processus s'exécute effectivement dans un « slot » dont l'espace d'
adressage est bien limité à 32 Mo. Mais cette restriction s'applique à CE
3.0 et CE 4.x.

Là différence, c'est que sous CE 4.x, le « slot 1 » ne contenant plus le
noyau ("NK.EXE" ayant été déplacé dans la partie haute de l'espace d'
adressage global), le système y place les DLL qui s'exécutent en ROM (dites
DLLs XIP).

Cette différence d'architecture libère effectivement de la place dans le «
slot » de l'application courante (les DLLs XIP pouvant réserver jusqu'à 16Mo
d'espace d'adressage sur un PPC) mais ne confère pas réellement 64Mo d'
espace d'adressage au processus courant !
En effet, ce dernier n'a le droit d'accéder qu'aux adresses de son « slot »
et non celle du « slot 1 », et les DLLs XIP étant « claquées » dans le noyau
au moment de sa génération (avec Platform Builder), elles ne sont pas
forcément utiles pour le processus courant (mis à part "coredll.dll" bien
sûr).

Ceci dit, il existe une resserve d'espace d'adressage bien plus importante à
laquelle tous les processus du système ont accès : les 992Mo de mémoire
partagée située au-dessus de 0x42000000.

L'utilisation de cette espace d'adressage s'effectue grâce aux fichiers
mappés (appel à "CreateFileMapping" puis "MapViewOfile") ou par une
allocation bas niveau (appel à la fonction "VirtualAlloc").

Cordialement

____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr

Avatar
Alain Zanchetta [MS]
Bonjour,

(à 32Mo en Windows CE 3 (donc PPC et PPC2002)
et 64Mo en Windows CE 4 (donc WM2003)) et
que les 64Mo que vous avez seront toujours
largement assez pour UN SEUL processus (mais
souvent les environnements en lancent d'autres
pour les étapes de compilation).
Par contre, je suis désolé de te contredire sur ce point !


Un processus s'exécute effectivement dans un « slot » dont l'espace d'
adressage est bien limité à 32 Mo. Mais cette restriction s'applique à CE
3.0 et CE 4.x.

Là différence, c'est que sous CE 4.x, le « slot 1 » ne contenant plus le
noyau ("NK.EXE" ayant été déplacé dans la partie haute de l'espace d'
adressage global), le système y place les DLL qui s'exécutent en ROM
(dites

DLLs XIP).

Cette différence d'architecture libère effectivement de la place dans le «
slot » de l'application courante (les DLLs XIP pouvant réserver jusqu'à
16Mo

d'espace d'adressage sur un PPC) mais ne confère pas réellement 64Mo d'
espace d'adressage au processus courant !
En effet, ce dernier n'a le droit d'accéder qu'aux adresses de son «
slot »

et non celle du « slot 1 », et les DLLs XIP étant « claquées » dans le
noyau

au moment de sa génération (avec Platform Builder), elles ne sont pas
forcément utiles pour le processus courant (mis à part "coredll.dll" bien
sûr).

Ceci dit, il existe une resserve d'espace d'adressage bien plus importante
à

laquelle tous les processus du système ont accès : les 992Mo de mémoire
partagée située au-dessus de 0x42000000.

L'utilisation de cette espace d'adressage s'effectue grâce aux fichiers
mappés (appel à "CreateFileMapping" puis "MapViewOfile") ou par une
allocation bas niveau (appel à la fonction "VirtualAlloc").

Cordialement

____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr


Je suis d'accord avec tout cela, mais je te rappelle que le problème initial
était de faire de la place pour un programme existant (le compilateur small
C), d'où la simplification que j'avais faite.

Bonne soirée
Alain


Avatar
Fabrice MALAINGRE
Bonjour Alain,

Je suis d'accord avec tout cela, mais je
te rappelle que le problème initial
était de faire de la place pour un
programme existant (le compilateur small
C), d'où la simplification
que j'avais faite.


Les précisions dispensées étaient juste là histoire de fournir l'information
la plus complète possible, et ce, pour que les développeurs de logiciels
embarqués ne se fasse pas une idée partielle des capacités de Windows CE.

Mais sinon je suis parfaitement d'accord sur le principe de ta première
réponse...

Cordialement

____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr

Avatar
dabder
Thierry Schembri wrote:
Bonjour,

Je cherche un moyen de développer sur pocket pc (directement sur le pocket
pc, pour m'occuper dans le train ;-) .
J'utilise un dell axim x5, j'ai installé pocketc, mais il n'a pas l'air de
fonctionner (il ne se lance pas). J'ai trouvé une version de gcc pour arm,
mais quand je lance la compilation du sample, il me dit au bout d'un certain
temps que je n'ai plus assez de mémoire (j'ai pourtant 64 Mo).
Ma question est donc la suivante : quels sont les autres systèmes de
développement ou, peut-on ajouter de la mémoire principale dans un dell x5 ?



Je developpe en Java sur mon ipaq pour passer le temps

dans le RER.

J'utilise la JVM d'IBM : J9. Je crée des interfaces graphiques à l'aide
de SWT (open source).

Avatar
thieb
dabder a écrit:
Thierry Schembri wrote:

Bonjour,

Je cherche un moyen de développer sur pocket pc (directement sur le
pocket
pc, pour m'occuper dans le train ;-) .
J'utilise un dell axim x5, j'ai installé pocketc, mais il n'a pas
l'air de
fonctionner (il ne se lance pas). J'ai trouvé une version de gcc pour
arm,
mais quand je lance la compilation du sample, il me dit au bout d'un
certain
temps que je n'ai plus assez de mémoire (j'ai pourtant 64 Mo).
Ma question est donc la suivante : quels sont les autres systèmes de
développement ou, peut-on ajouter de la mémoire principale dans un
dell x5 ?



Je developpe en Java sur mon ipaq pour passer le temps

dans le RER.

J'utilise la JVM d'IBM : J9. Je crée des interfaces graphiques à l'aide
de SWT (open source).




bonjour,

Intéressant, quel IDE???
A la mano ...
Sinon j'essaye PersonalJava/eclipse, sait tu comment faire pour faire
tourner hsqld , Il y a peu de doc et donc si tu as des infos je suis preneur

Olivier


Avatar
dabder

bonjour,

Intéressant, quel IDE???
A la mano ...
Sinon j'essaye PersonalJava/eclipse, sait tu comment faire pour faire
tourner hsqld , Il y a peu de doc et donc si tu as des infos je suis
preneur

Olivier




Effectivement à la mano (PocketNotepad associé aux fichiers JAVA)
Je compil en lancant un raccourcis (vers J9c.exe)

Je ne connais pas PersonalJava (la jvm de sun ?).

Hsqld : tu entends par la : HSQLDB, la base de donnée. J'ai essayé de la
lancé mais elle se lance et s'arrete sans messages ;(

Pour info : j9 -classpath hsqldb.jar;j2ee.jar org.hsqldb.Server
(j2ee.jar : c'est pour les packages javax.sql.*, javax.servlet.*)


Avatar
thieb
Bonjour,


dabder a écrit:


bonjour,

Intéressant, quel IDE???
A la mano ...
Sinon j'essaye PersonalJava/eclipse, sait tu comment faire pour faire
tourner hsqld , Il y a peu de doc et donc si tu as des infos je suis
preneur

Olivier




Effectivement à la mano (PocketNotepad associé aux fichiers JAVA)
Je compil en lancant un raccourcis (vers J9c.exe)

Je ne connais pas PersonalJava (la jvm de sun ?).


Oui , c'est celle de Sun.

Hsqld : tu entends par la : HSQLDB, la base de donnée. J'ai essayé de la
lancé mais elle se lance et s'arrete sans messages ;(

Pour info : j9 -classpath hsqldb.jar;j2ee.jar org.hsqldb.Server
(j2ee.jar : c'est pour les packages javax.sql.*, javax.servlet.*)

Avec personaljava la jre est 1.1.6, Il faut que je tente de recompiler

hsqldb avec jdk1.1.8, car au tout début impossible de lancer un prog
java, car je les compilais avec une 1.4
Par contre, comme je suis encore très novice dans ce domaine,
PocketNotepad, c'est un prg en plus de WinCE, car en fait sur le site de
code PPC, sur le forum j'ai trouvé un lien vers un prg qui me permet de
voir la base de registre..
Comment,fais tu le lancement avec "j9 -classpath hsqldb.jar;j2ee.jar
org.hsqldb.Server", c'est un fichier .bat .???? que tu lances comment??
Bref plein de questions ........

C'est aussi pour la bonne cause, le partage de nos savoirs.

Cordialement Olivier



Avatar
dabder

Hsqld : tu entends par la : HSQLDB, la base de donnée. J'ai essayé de la
lancé mais elle se lance et s'arrete sans messages ;(

Pour info : j9 -classpath hsqldb.jar;j2ee.jar org.hsqldb.Server
(j2ee.jar : c'est pour les packages javax.sql.*, javax.servlet.*)

Avec personaljava la jre est 1.1.6, Il faut que je tente de recompiler

hsqldb avec jdk1.1.8, car au tout début impossible de lancer un prog
java, car je les compilais avec une 1.4
Par contre, comme je suis encore très novice dans ce domaine,
PocketNotepad, c'est un prg en plus de WinCE, car en fait sur le site de
code PPC, sur le forum j'ai trouvé un lien vers un prg qui me permet de
voir la base de registre..
Comment,fais tu le lancement avec "j9 -classpath hsqldb.jar;j2ee.jar
org.hsqldb.Server", c'est un fichier .bat .???? que tu lances comment??
Bref plein de questions ........

C'est aussi pour la bonne cause, le partage de nos savoirs.

Cordialement Olivier


C'est bien ce que je pensais, la jvm de Sun à 3 versions de retard.

Utilise plutot J9, elle est beaucoup plus recente...

Il y a aussi WABA, une JVM spécifique. Son principal inconvenient
est que son API est differente du jdk. Implique un portage des programmes.

Pour lancer "J9 -cp .... ", j'edite des raccourcis avec Resco Explorer.
Je crée un raccourcis pour complier et un pour lancer.
Il existe aussi un shell (sorte de DOS) mais je ne sais pas ce qu'il vaut.


Cordialement


Avatar
thieb
Ok,

Mais bon J9 et resco sont des produits payants, je cherche des GPL,
Je sais personal à trois trains de retard, mais à le mérite d'être libre.
Resco à l'air sympa, mais il faut encore toucher à la CB.
ILs sont fort ces américains ...

Sinon, pas eu le temps de compiler hsqldb, mais cela va venir ...


olivier
dabder a écrit:


Hsqld : tu entends par la : HSQLDB, la base de donnée. J'ai essayé de la
lancé mais elle se lance et s'arrete sans messages ;(

Pour info : j9 -classpath hsqldb.jar;j2ee.jar org.hsqldb.Server
(j2ee.jar : c'est pour les packages javax.sql.*, javax.servlet.*)

Avec personaljava la jre est 1.1.6, Il faut que je tente de recompiler

hsqldb avec jdk1.1.8, car au tout début impossible de lancer un prog
java, car je les compilais avec une 1.4
Par contre, comme je suis encore très novice dans ce domaine,
PocketNotepad, c'est un prg en plus de WinCE, car en fait sur le site de
code PPC, sur le forum j'ai trouvé un lien vers un prg qui me permet
de voir la base de registre..
Comment,fais tu le lancement avec "j9 -classpath hsqldb.jar;j2ee.jar
org.hsqldb.Server", c'est un fichier .bat .???? que tu lances comment??
Bref plein de questions ........

C'est aussi pour la bonne cause, le partage de nos savoirs.

Cordialement Olivier


C'est bien ce que je pensais, la jvm de Sun à 3 versions de retard.

Utilise plutot J9, elle est beaucoup plus recente...

Il y a aussi WABA, une JVM spécifique. Son principal inconvenient
est que son API est differente du jdk. Implique un portage des programmes.

Pour lancer "J9 -cp .... ", j'edite des raccourcis avec Resco Explorer.
Je crée un raccourcis pour complier et un pour lancer.
Il existe aussi un shell (sorte de DOS) mais je ne sais pas ce qu'il vaut.


Cordialement