Aller au contenu


Photo
- - - - -

Flowcode: .hex non créé


  • Veuillez vous connecter pour répondre
17 réponses à ce sujet

#1 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 06 avril 2012 - 07:21

Bonjour!
je voudrais programmer un pic (16F88) avec Flowcode. Je dessine donc mon algo, je règle les paramètre du quartz etc et je fais compiler vers hex. Il me créé les fichier .OBJ, .msg et .c mais aucune trace du .hex (le plus important...)
Quelqu'un saurait il à quoi c'est dû? (j'essaye de simuler mon programme avec Proteus)

EDIT: il ne me le compile pas non plus en asm car quand je fais "voir fichier asm" il me dit que celui-ci n'existe pas. je devrais peut-être télécharger un autre compilateur et utiliser celui-là en le choisissant dans les options de Flowcode...
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#2 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 06 avril 2012 - 07:52

Salut,

Je ne sais pas à quoi peut être dû ton problème, je n'y ai jamais été confronté (peut être que tu as indiqué un chemin différent pour la compilation ?).

Par contre, j'interviens surtout pour ta remarque :

il ne me le compile pas non plus en asm car quand je fais "voir fichier asm" il me dit que celui-ci n'existe pas.

Si tu fais référence aux fichiers formats ".asm", c'est normal qu'il n'y en ait pas. Ces fichiers ne s'obtiennent pas par compilation. Tu obtiens ce format en enregistrant un document texte puis en le renommant en "machin.asm". Ils servent pour programmer dans le langage qui s'appelle "assembleur" (ce n'est pas le langage machine) ; ils servent par exemple (je ne sais pas s'il y a d'autres applications) pour programmer un pic sous mplab.

#3 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 06 avril 2012 - 10:39

Salut,

Je ne sais pas à quoi peut être dû ton problème, je n'y ai jamais été confronté (peut être que tu as indiqué un chemin différent pour la compilation ?).

Par contre, j'interviens surtout pour ta remarque :

Si tu fais référence aux fichiers formats ".asm", c'est normal qu'il n'y en ait pas. Ces fichiers ne s'obtiennent pas par compilation. Tu obtiens ce format en enregistrant un document texte puis en le renommant en "machin.asm". Ils servent pour programmer dans le langage qui s'appelle "assembleur" (ce n'est pas le langage machine) ; ils servent par exemple (je ne sais pas s'il y a d'autres applications) pour programmer un pic sous mplab.


Oui mais je pensais que le fichier .asm serait créé directement à la compilation. Un prof m'a montré la compilation d'un algo flowcode au lycée et il pouvait voir le code assembleur ainsi que le code C. Moi quand je veux voir le code C, pas de problème mais pour l'asm, il me dit que le fichier n'existe pas. Pourtant à la compilation, aucune erreur n'est détectée...

peut être que tu as indiqué un chemin différent pour la compilation ?

J'ai laissé les valeurs par défaut:
D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\boostc.pic16.flowcode.exe pour le compilateur C,
D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\boostlink.pic.exe pour l'éditeur de liens/assembleur
Il faut les changer?

P-S: la version est, heu comment dire... pas très légale Image IPB je ne sais pas si ça joue...
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#4 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 06 avril 2012 - 10:57

Tous dépend de la version que tu as actuellement ( d'ailleurs quel et se logiciel ) , et ton

prof quelle version a t'il???

Imaginons que tu as la même version du logiciel que ton prof , et que c'est un logiciel

cracker , ça ne pose aucun souci rassure toi.

#5 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 06 avril 2012 - 11:29

Ben c'est la même normalement, la version 4. Mais j'ai trouvé une solution provisoire: je récupère le code en C de Flowcode et je le compile avec mikroC (version d'évaluation)... C'est fastidieux mais ça marche Image IPB
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#6 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 06 avril 2012 - 11:40

Je ne connais pas se logiciel , mes si ça fonction dans le sense que tu me d'écrit c'est plutôt cool alors.

PS: Dit comme je suis assez curieux sur c'est logiciel aurrais tu un lien qui pourrait me faire voire son fonctionnement.

Si cela ne te dérange pas bien sûr.

#7 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 07 avril 2012 - 07:06

Bonjour,

Je ne connais pas se logiciel , mes si ça fonction dans le sense que tu me d'écrit c'est plutôt cool alors.

PS: Dit comme je suis assez curieux sur c'est logiciel aurrais tu un lien qui pourrait me faire voire son fonctionnement.

Si cela ne te dérange pas bien sûr.


C'est un logiciel qui s'appelle "flowcode"? On l'utilise au lycée (ailleurs je sais pas) pour nous initier à la programmation. Pour faire court ça évite d'apprendre un logiciel de programmation : tu fais un algorigramme et tu le compiles directement dans le pic. Je sais pas si ça te renseigneras beaucoup mais bon, regardes ici si tu veux ^^ Je ne suis pas sûr mais je crois que quelqu'un a mis un tutoriel dans un précédent sujet.

EDIT : j'ai cherché vite fait et je t'ai trouvé ça
Mais bon, très honnêtement je crois que flowcode n'est pratiquement (voir pas du tout) utilisé dans le milieu extra scolaire. C'est pour ça qu'il n'y a pas grand chose sur le net.

Il faut les changer?

Vu les chemins, ils devraient être au même endroit.
Par contre je ne savais pas du tout que flowcode faisait l'assembleur oO


Je viens de me souvenir d'un truc (je ne sais pas si c'est obligatoire, mais si ça l'est c'est de là que vient ton problème), il me semble que lors du premier TP notre prof nous avait fait compiler le programme et avait balancer le .hex directement dans le pic (qu'il avait connecté par une carte -eblock de mémoire- sur le port série). Donc quand tu seras au lycée demande à ton prof d'essayer, on ne sait jamais (après il est possible que ma mémoire me fasse défaut et que l'on ait compilé puis que l'on ait mit le .hex dans le pic :rolleyes: ).

#8 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 07 avril 2012 - 11:37

Merci Francky je regarde ça , et je vais voir si je peux trouver une vertion compléte , si cela et possible

#9 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 07 avril 2012 - 01:51

@Francky: le prof avait pu récuperer le .hex sans programmer directement le PIC: en fait j'ai besoin du .hex pour pouvoir simuler mon programme sous ISIS. Mais bon en attendant de trouver la solution pour Flowcode, je peux utiliser la technique du compilateur externe, c'est embêtant mais ça marche!
Merci de t'être intéressé à mon problème :)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#10 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 07 avril 2012 - 02:48

Pour une fois que je peux essayer d'aider... :rolleyes:

EDIT : j'ai regardé et j'ai les mêmes chemins que toi pour les compilateurs c/asm. Donc, pour voir si j'avais le même problème (je suis sous flowcode 4 également) j'ai fait un programme bidon et je l'ai compilé. J'ai obtenu tous les fichiers (dont le .asm, le .c et le plus important le .hex). Donc je ne sais pas du tout pourquoi tu as ce problème "^^ (peut être ta version ?)

#11 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 07 avril 2012 - 05:55

Aux pires moi j'ai pu trouvé le logiciel en version ( Flowcode V3.4.7 PIC ) ça te vas ou pas ???

Et j'ai aussi ( Flowcode V3.2.4 AVR ) et ( Flowcode V3.4.7 ARM ).

Car je peux te fournir le lien si tu le souhaites.

#12 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 08 avril 2012 - 05:48

Je veux bien, merci! ça peut toujours servir.
par contre MP le moi parce que si c'est un lien craqué, vaut peut-être mieux pas le publier directement sur le forum Image IPB
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#13 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 05 mai 2012 - 07:39

Bon alors j'ai plongé les mains dans le cambouis et j'y suis finalement arrivé ;) voilà tout ce que j'ai fait (il y aura sûrement quelques erreurs et quelque trucs faux parce que je n'y connais rien mais ça marche et ça servira peut-être à quelqu'un :))
Déjà j'ai lu la doc technique du compilateur boostC pour voir ce qui n'allait pas.
J'ai vu qu'il y avait deux compilateurs: "boostc.pic16.flowcode.exe" (et pic18 aussi pour les 18fXXX) et "boostlink.pic.exe"; le premier servant à compiler en C et l'autre à compiler en .hex.
Le premier compilateur ne peut pas être lancé en invite de commande (code 118) à cause d'une sécurité imposée par le fabriquant.
Pour le deuxième, voici les paramètres à mettre lorsqu'on l'utilise en ligne de commande:

BoostLink command line
BoostLink Optimizing Linker Version x.xx
http://www.sourceboost.com
Copyright© 2004-2009 Pavel Baranov
Copyright© 2004-2009 David Hobday
Licensed to <license info>
Usage: boostlink_pic.exe [options] files
Options:
-t name target processor
-On optimization level 0-1 (default n=1)
n=0 - no optimization
n=1 - pattern matching and bank switching optimize on
-v verbose mode
-d path directory for project output
-p name project (output) name for multiple .obj file linking
-ld path directory for library search
-rb address ROM base (start) address to use
-rt address ROM top (end) address to use
-swcs s1 s2 s3 Use software call stack. Hardware stack is allocated by
specifying stack depths s1,s2,s3 (optional)
s1 = main and task routines hardware stack allocation
s2 = ISR hardware stack allocation
s3 = PIC18 low priority ISR hardware stack allocation
-isrnoshadow ISR No use of Shadow registers
-isrnocontext ISR No context Save/restore is added to ISR(PIC18 only)
-icd2 Add NOP at first ROM address for correct ICD2 operation
-hexela Always add extended linear address record to .hex file
-beep Issue sound at the end of link (default off)
Switches for making libraries:
-lib make library file from supplied .obj and .lib files
-p name project (library output file) name


En fait, lorsque l'on compile en .hex sous Flowcode, il appelle boostlink en lui envoyant ces paramètres:

-ld "D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "%f.obj" -t PIC%p -d "%d" -p "%f"

où %f est sensé renvoyer le nom du fichier (dans mon cas "emission pwm"), %p le modèle du PIC (dans mon cas 16f88) et %d le fichier d'enregistrement du .hex qui ce trouve être celui du projet.


je me suis donc dis que c'était à ce niveau là que ça pêchait: il y avait peut-être un problème dans la syntaxe...
Pour vérifier j'ai directement tapé la commande dans une invite pour pouvoir voir les messages d'erreur.
j'ai commencé par taper la commande telle qu'elle était écrite dans Flowcode:

Microsoft Windows [version 6.0.6002]
Copyright © 2006 Microsoft Corporation. Tous droits réservés.

C:\Users\flo>pushd d:

D:\>pushd pro*

D:\programmes>pushd matr*

D:\programmes\Matrix Multimedia>pushd flowcode v4

D:\programmes\Matrix Multimedia\Flowcode V4>pushd boo*

D:\programmes\Matrix Multimedia\Flowcode V4\boostc>boostlink.pic.exe -ld "D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "%f.obj" -t PIC%p -d "%d" -p "%f"

BoostLink Optimizing Linker Version 6.95
http://www.sourceboost.com
Copyright© 2004-2009 Pavel Baranov
Copyright© 2004-2009 David Hobday


***Target must be specified

Usage: linker.exe [options] files
Options:
-t name target processor
-On optimization level 0-1 (default n=1)
n=0 - no optimization
n=1 - pattern matching and bank switching optimization on
-v verbose mode
-d path directory for project output
-p name project (output) name for multiple .obj file linking
-ld path directory for library search
-rb address ROM base (start) address to use
-rt address ROM top (end) address to use
-swcs s1 s2 s3 Use software call stack. Hardware stack is allocated by
specifying stack depths s1,s2,s3 - these are optional
s1 = main and task routines hardware stack allocation
s2 = ISR hardware stack allocation
s3 = PIC18 low priority ISR hardware stack allocation
-isrnoshadow ISR No use of Shadow registers
-isrnocontext ISR No context Save/restore is added to ISR(PIC18 only)
-icd2 Add NOP at first ROM address for correct ICD2 operation
-hexela Always add extended linear address record to .hex file
-beep Issue sound at the end of link (default off)

Switches for making libraries:
-lib make library file from supplied .obj and .lib files
-p name project (library output file) name



failure

D:\programmes\Matrix Multimedia\Flowcode V4\boostc>


(en rouge les messages d'erreur)

Vu que la cible (paramètre -t) est spécifiée mais qu'il ne la reconnait pas, je me suis dit que le %p n'était pas reconnu, je l'ai donc remplacé par la ref de mon pic, c'est à dire 16f88:

D:\programmes\Matrix Multimedia\Flowcode V4\boostc>boostlink.pic.exe -ld "D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "%f.obj" -t PIC16f88 -d "%d" -p "%f"

BoostLink Optimizing Linker Version 6.95
http://www.sourceboost.com
Copyright© 2004-2009 Pavel Baranov
Copyright© 2004-2009 David Hobday


Error: Failed to open:%f.obj


failure

D:\programmes\Matrix Multimedia\Flowcode V4\boostc>


conclusion: il ne reconnait pas le %f. Je l'ai donc remplacé par le chemin+le nom de mon .obj:

D:\programmes\Matrix Multimedia\Flowcode V4\boostc>boostlink.pic.exe -ld "D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "C:\Users\flo\Dropbox\Robot + Station\Station\balise\version PIC\Codes\emission pwm.obj" -t pic16f88 -d "%d" -p "%f"

BoostLink Optimizing Linker Version 6.95
http://www.sourceboost.com
Copyright© 2004-2009 Pavel Baranov
Copyright© 2004-2009 David Hobday


Warning unreferenced functions removed:
FCI_FLOAT_TO_STRING in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_NUMBER_TO_HEX in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_INT in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
FCI_STRING_TO_FLOAT in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_msDelay in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_S in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
Wdt_Delay_Ms in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h
isinf in: D:\programmes\Matrix Multimedia\Flowcode V4\FCD\internals.h

FCD_PWM0_ChangePeriod in: C:\Users\flo\Dropbox\Robot + Station\Station\balise\version PIC\Codes\emission pwm.c
FCD_PWM0_SetDutyCycle10bit in: C:\Users\flo\Dropbox\Robot + Station\Station\balise\version PIC\Codes\emission pwm.c

Building CASM file
Memory Usage Report
===================
RAM available:368 bytes, used:38 bytes (10.4%), free:330 bytes (89.6%),
Heap size:330 bytes, Heap max single alloc:110 bytes
ROM available:4096 words, used:184 words (4.5%), free:3912 words (95.5%)



success

D:\programmes\Matrix Multimedia\Flowcode V4\boostc>


et là, tadaaaa ça marche!
les deux problèmes étaient donc le %p et le %f.
Bon il ne me reste plus qu'à aller chercher le .hex pour voir. Mais j'ai beau chercher, impossible de le trouver dans le dossier de mon projet. Ayant une petite idée de l'origine de mon mal, je vais faire un tour dans le répertoire de boostlink et la, surprise, je trouve un dossier nommé %d contenant tous mes fichiers asm, hex et autre mais sous le doux nom de "%f".
conclusion: aucun des %X ne marche, il faut tous les remplacer.

Du coup j'ai modifié la ligne de paramètre de flowcode concernant la compilation en .hex par:

-ld "D:\programmes\Matrix Multimedia\Flowcode V4\BoostC\lib" libc.pic16.lib flowcode.pic16.lib rand.pic16.lib float.pic16.lib "C:\Users\flo\Dropbox\Robot + Station\Station\balise\version PIC\Codes\emission pwm.obj" -t pic16f88 -d "C:\Users\flo\Dropbox\Robot + Station\Station\balise\version PIC\Codes" -p "emission pwm"

mais ça ne marche toujours pas... Je compile donc en invite de commande en attendant d'avoir mieux!
La suite au prochain épisode Image IPB
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#14 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 06 mai 2012 - 02:34

Bon j'ai finalement téléchargé la version démo pour voir et ça marche bien donc c'est ma version qui était pourrie ;)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#15 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 06 mai 2012 - 04:29

En tous cas, merci de ton retour d'expérience ^^ (et merde la mienne l'est aussi XD)

#16 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 09 mai 2012 - 08:05

En tous cas, merci de ton retour d'expérience ^^ (et merde la mienne l'est aussi XD)


lol si tu veux je te donne le lien de la démo, les limitations ne sont pas énormes (à part un message avec compte-à-rebours bien relou au lancement et à la fermeture)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#17 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 09 mai 2012 - 08:18

lol si tu veux je te donne le lien de la démo, les limitations ne sont pas énormes (à part un message avec compte-à-rebours bien relou au lancement et à la fermeture)

Je veux bien merci ^^
(enfin si c'est sur le site officiel, je retrouverai ;))

#18 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 09 mai 2012 - 08:23

Je veux bien merci ^^
(enfin si c'est sur le site officiel, je retrouverai ;))


http://www.matrixmultimedia.com/lc_index.php?p=25 (t'as le choix des versions, moi j'utilise la v4 mais je suppose que la v5 est mieux ;)
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users