[Programmation] Soucis pour compiler un .asm
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Soucis pour compiler un .asm



  1. #1
    Debidoobs

    Soucis pour compiler un .asm


    ------

    Bonjour,

    je suis un nouvel utilisateur de MPLAB. J'ai voulu suivre un tutoriel pour créer un badge avec des leds (https://www.instructables.com/Dot-Matrix-Business-Card/). J'ai pu téléchargé dans un PIC16f57 le .HEX du dossier zip via le soft du Pickit3.

    Désormais j'aimerais modifier les messages que l'on peut activer (activation des leds). C'est chose faite en ouvrant le .asm dans mplab et en modifiant les lignes désirées. Mais voila, mes connaissances dans MPLAB sont plus que limites, en autodidacte, c'est pas hyper intuitif... j'ai crée un projet et j'ai ajouté manuellement tous les fichiers du dossier ZIP du lien dans le fichier "source files". Il y a un main.hex, .lst, .cod, .asm (celui que j'ai modifié) puis il y a aussi un LEDcard.mcs, .mcw et .mcw... Lorsque je clique sur Build (clic droit sur le projet), j'ai le message suivant :

    make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
    make[1]: Entering directory 'C:/Users/guitoo/Documents/Carte LED'
    make -f nbproject/Makefile-default.mk dist/default/production/Carte_LED.production.hex
    make[2]: Entering directory 'C:/Users/guitoo/Documents/Carte LED'
    "C:\Program Files\Microchip\xc8\v2.32\bin\ xc8-cc.exe" -c -mcpu=16F57 -mdfp="C:/Program Files/Microchip/MPLABX/v5.45/packs/Microchip/PIC16Fxxx_DFP/1.2.33/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall -std=c99 -gdwarf-3 -mstack=compiled:auto -o build/default/production/main.o main.asm
    ::: advisory: (2049) C99 compliant libraries are currently not available for baseline or mid-range devices, or for enhanced mid-range devices using a reentrant stack; using C90 libraries
    main.asm:3:11: fatal error: 'p16f5x.inc' file not found
    #include <p16f5x.inc>
    ^~~~~~~~~~~~
    1 error generated.
    (908) exit status = 1
    nbproject/Makefile-default.mk:113: recipe for target 'build/default/production/main.o' failed
    make[2]: Leaving directory 'C:/Users/guitoo/Documents/Carte LED'
    nbproject/Makefile-default.mk:91: recipe for target '.build-conf' failed
    make[1]: Leaving directory 'C:/Users/guitoo/Documents/Carte LED'
    nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
    make[2]: *** [build/default/production/main.o] Error 1
    make[1]: *** [.build-conf] Error 2
    make: *** [.build-impl] Error 2

    BUILD FAILED (exit value 2, total time: 1s)
    En fait, mon souhait serait de pouvoir extraire le .HEX contenant la modification du fichier .ASM. De cette façon, en connectant mon PIC et le pickitV3 au soft "Pickit 3 V3.10", je serai en mesure de televerser le HEX de la meme facon que je l'ai fait avec le HEX originale..

    Je sais qu'il y a possibilité de le faire depuis MPLAB mais chaque chose en son temps !


    En tout cas, je ne comprends pas le soucis. J'ai pourtant téléchargé les librairies MCC mais MCC v4 me dit que le PIC16F57 n'est pas supporté par la librairie...

    Est ce parce que j'utilise une version trop récente de mplab ? (il est vrai que le tuto date d'il y a plusieurs années )

    Cet obstacle est tres frustrant... en total autodidacte, je me rends bien compte que le monde de la programmation n'est pas pour tout le monde. Je suis têtu mais j'avoue que là je botte en touche. Peut etre qu'il me faut installer MCC v3 pour avoir des librairies correspondantes au PIC 16F57 ?

    Merci de m'avoir lu et merci pour le temps que vous accorderez à mon problème

    -----
    Dernière modification par Debidoobs ; 22/04/2021 à 20h49.

  2. #2
    RISC

    Re : Soucis pr compiler un .asm ?

    Salut
    Le PIC16F57 est un très très vieux PIC (20 ans ?)...
    Si tu veux simplement reflasher le projet original sans rien modifier ou faire des modif très très simples tu peux utiliser le PIC16F57 avec un Pickit3 et MPLAB X v5.35 (MAXIMUM) car après l'assembleur MPASM a été remplacé par ASPIC et le projet que tu as est écrit avec MPASM.

    MCC ne génère que du langage C ...mais pour des PIC récents qui ont des références comme PIC16F1xxx ou PIC16F1yyyyy
    Il vaudrait mieux de mon point de vue utiliser le langage C...et commencer par quelquechose de plus simple..et un PIC récent.
    Le PIC16F57 est un 28 broches. Tu pourrais simplement le rempacer par un PIC16 plus récent sans avoir à changer le reste du circuit, comme le PIC16F18455
    Cela demandera des semaines / mois de travail si tu démarres...
    a+

  3. #3
    Debidoobs

    Re : Soucis pr compiler un .asm ?

    Salut Risc et merci grandement d avoir pris le tps pr m aider a y voir plus clair.

    Alors voici la raison pr laquelle je suis sur un pic16f57. J ai commencé récemment une formation en électronique, mais centrée sur du contrôle et de la maintenance.. la programmation est survolée hors ca me parait fascinant et super prise de tete (sans doute pr ca que ca m attire)

    L assisant du formateur m a sorti un circuit smd gravé avec ce fameux pic dessus en me disant qu il avait jamais reussi à flasher le pic avec le .hex... il m a filé le boitier Pickit3 aussi. Curieux qu il est pas reussi mais il est de la vieille ecole on va dire et puis l anglais c est pas son truc hors ds le tutoriel tt est a peu pret expliqué hormis ma compilation ou je galère. Du coup, je me lance et depuis une semaine.. chaque jour j en decouvre un peu plus .asm . Hex etc etc.. le puzzle s assemble et fait le lien avec les peits projets arduino que j ai fait au prealable. Je le repete c est fascinant et je compte bien progresser mais en autodidacte on sait pas trop par ou commencer.

    A l heure actuelle, je peux telecharger le .hex original avec le pickit3 et son logiciel de transfert. Evidemment avoir les initales du concepteur qui defile, c est pas le but dc je me dis tiens je vais ouvrir un projet sur mplab x en y mettant les fichiers du tuto et modifier le .asm pr ensuite compiler et me sortir un .hex tranquillou et le reinjecter ds le PIC via le soft du Pickit3... Mais evidemment c etait pas aussi simple.


    Je suis content de savoir grace a toi que je trouverai peut etre mon bonheur en downgradant la version de mplab. Tu me dis pr des modifs légères : donc changer simplement l action des leds ne devrait pas poser de probleme ?

    J ai voulu faire une simu du circuit sur proteus avant de reussir a televerser le .hex original et en fait j ai rencontré le meme soucis, donc ca se rejoint ! le pic16f57 est bien trop vieux... En cherchant sur le web, j avais trouvé une alternative sur un forum pr un 16f187 il me semble mais je dis peut etre une betise.

    Tt cela pr te demander une derniere chose : est il plus facile de modifier le .asm du pic16f187 pour l adapter a un pic plus récent. Où dois je partir depuis une page blanche pr faire un programme en C ?

    La tâche me semble bien hardu mais c est passionnant dc c est l essentiel

    Merci !

  4. #4
    RISC

    Re : Soucis pr compiler un .asm ?

    Salut,

    De mon point de vue c'est honteux de former sur des vieux produits d'il y a 20 ans sous prétexte qu'une carte traine dans un coin...
    J'ai l'impression que tu n'es pas "tombé" sur un bon formateur...
    Les choses ont changé depuis 20 ans.
    Pour faire court : si tu vas voir une société et tu dis que tu connais l'assembleur de fond en comble...cela ne va pas du tout impressioner ton auditeur...
    Si par contre tu dis que tu connais le C embarqué, il sera déjà beaucoup plus interessé.
    Les cartes électroniques ne coutent plus rien...moi je jetterai celle qu'on t'a donné et je démarrerai avec une carte récente comme une carte HPC curiosity qui fonctionne avec MCC.
    Commence par apprendre des choses de bases..comme tout le monde plutôt que d'essayer de modifier quelquechos auquel tu ne comprends rien.
    Il y a plein de tutoriels et des formations en ligne pour MPLAB X et MCC .
    a+

  5. A voir en vidéo sur Futura
  6. #5
    Debidoobs

    Re : Soucis pr compiler un .asm ?

    Slt Risc, Merci pour ta réponse.

    J'ai une carte de développement fpga avec un Altera Max 2 et quartus lite. Si j'ai bien compris, cela peut me faire apprendre le VHDL. Mais j'ai aussi quelques carte arduino, et sparkfun qui trainent (j'ai principalement modifié des sketchs deja existant mais je n'ai jamais en crée un de a à z). De ce fait, en quoi la carte microchip serait plus intéressante pour apprendre le C (si j'exclus cette histoire de carte à LED et que je me concentre sur l'apprentissage du C) ? Merci pour ton aide.

  7. #6
    RISC

    Re : Soucis pr compiler un .asm ?

    Salut,
    J'ai regardé le schéma de la carte pour faire défiler un message.
    Cette carte utilise le multiplexage de led + boutons poussoirs. Sans être "très très compliqué", c'est une technique pas simple à maitriser et cette carte est inutilisable pour faire autrechose...
    Comme il semble que tu n'aies que modifié des logiciels arduino, il serait de mon point de vue plus simple de démarrer vraiment de zéro en faisant des choses simples et de comprendre ce que tu fais.
    De ce point de vue la carte que tu as n'est absolument pas adaptée car le hardware est fait pour une application précise...la carte que je te propose permet de vraiment démarrer avec des choses simples (leds, boutons poussoirs,...) et ensuite tu peux ajouter des "click boards" de Mikroelektronika sur les supports (il en existe plus de 700).
    De plus il existe plein de tutoriels et d'exemples pour cette carte. Il existe aussi des cartes "plus riches" avec LCD.
    Tu peux aussi apprendre le C sur ton PC sans aucune carte...tout dépend de ton objectif professionnel..mais pour l'embarqué il faut impérativement se confronter au hardware...
    a+

  8. #7
    Debidoobs

    Re : Soucis pr compiler un .asm ?

    Bonjour RISC,

    encore désolé pour cette réponse tardive mais merci infiniment pour le temps que tu m'as accordé. Je prends note de tout ça, je reçois "le langage C de Kernighan pour mon annif. Et je vais me prendre la carte dont tu parles

  9. #8
    Debidoobs

    Re : Soucis pr compiler un .asm ?

    C'est quand meme bizarre. Je downgrade MPXLAB en 5.30, Je modifie le .asm comme indiqué ds le tuto pour que les lettres correspondent aux leds allumées, je modifie bien le nb de colonnes que cela prend en longueur, je compile avec succès.. mais lorsque je veux transferer sur le PIC avec le PICKIT3 alors il me dit que la cible n'a peut etre pas assez de tension d'alim sur le VDD.. je modifie sur 5V alors ds les propriétés, coche VDD target mais rien y fait.. J'essaie avec une alim externe.. rebelotte impossible de se connecter au PIC. Lorsque j'utilise le soft du PICKIT 3 le PICKIT V3 alors je peux transférer le HEX sans probleme mais le message apparait comme dégradé alors que sur MPXLAB, tout est bien codé si on se base sur les conseils du tuto... donc sympa, j'ai pu découvrir un peu plus au sujet des pics mais c'est hyper frustrant que ca ne marche pas alors que je suis pas loin. (meme en désactivant le "fast programming" rien ne change)... les nouvelles lettres ne défilent et ne s'affichent pas comme cela est indiqué ds le .asm.. par exemple je veux ecrire THIERRY pour le premier bouton et bien la barre du H est absente alors que je l'indique correctement avec les 0 et les 1.. de meme pour le E la barre du milieu est absente.. c'est étrange ar cela apparait sur d'autres lettres a d'autres endroits.. tant pis pour moi.

Discussions similaires

  1. [Programmation] Programmer pour lire I2C -- PIC C COMPILER
    Par invitebf90af9d dans le forum Électronique
    Réponses: 2
    Dernier message: 23/03/2016, 10h57
  2. Utiliser le terminal linux pour compiler en C
    Par invite5b394890 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 06/06/2013, 00h10
  3. programmation avec pic c compiler pour pic18f4550
    Par invite9de25ff4 dans le forum Électronique
    Réponses: 0
    Dernier message: 20/05/2012, 20h07
  4. pour compiler sous kubuntu
    Par invite43ebc126 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 29/04/2008, 21h12
  5. Nero-petit prob pour compiler
    Par shokin dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 16/05/2004, 00h08
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...