[Programmation] Différence execution Bootloader Vs PicKit
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Différence execution Bootloader Vs PicKit



  1. #1
    fignon

    Différence execution Bootloader Vs PicKit


    ------

    Bonjour à tous,
    Je travaille sur un PIC32MX. J'ai fait un programme qui a besoin d'une tempo pour générer un signal carré périodique. Il s'agit d'une simple boucle for.
    Quand je charge ce programme à l'aide d'un PICkit, je n'ai pas de problème. La période attendu est bien la bonne (1ms).
    Maintenant je reprend le même programme(au script de link prêt) qui est chargé à l'aide d'un bootloader par la liaison série. La période du signal est maintenant de 800µs.
    Pourriez vous me dire pourquoi une telle différence est observée ?

    En générant le signal périodique à partir de timer, il n'y a pas de problème. Quel que soit le mode de chargement, le comportement est identique.

    J'aimerai savoir pourquoi le temps d'éxecution est différent en fonction du mode de chargement. Pour l'instant je n'ai observé qu'une différence sur cette boucle for, le reste du programme à l'air de fonctionner. Mais tant que je n'aurais pas la réponse à cette question, j'aurai toujours un doute sur le fonctionnement du programme.

    Merci d'avance.

    -----

  2. #2
    Seb.26

    Re : Différence execution Bootloader Vs PicKit

    Pas sûr que ce soit le mode de chargement qui agit, mais plutôt le link ... regarde le code ASM généré pour ta boucle ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    fignon

    Re : Différence execution Bootloader Vs PicKit

    Effectivement , je pensais commencer à regarder le code asm.
    Cependant le script de link me permet de changer uniquement les espaces mémoires dans lesquels seront seront flashé le binaire.
    En quoi ce script pourrait modifier l'assembleur ?

  4. #4
    Seb.26

    Re : Différence execution Bootloader Vs PicKit

    en ajoutant des swap de bank par exemple ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

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

    Re : Différence execution Bootloader Vs PicKit

    PS: baser des timing sur des boucles for c'est se préparer du boulot pour demain ... ... tu as eu du bol que ton bug soit bien visible ...

    (en général, c'est le correctif déployé en urgence sur 10.000 machines qui fait ce genre de bug ... que l'on voit 1 mois après quand ... merci bien murphy ...)

    prends un timer hard, étalonne le et ensuite incrémente des compteurs dans l'IT ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  7. #6
    Delared

    Re : Différence execution Bootloader Vs PicKit

    Citation Envoyé par fignon Voir le message
    Bonjour à tous,
    Je travaille sur un PIC32MX. J'ai fait un programme qui a besoin d'une tempo pour générer un signal carré périodique. Il s'agit d'une simple boucle for.
    Quand je charge ce programme à l'aide d'un PICkit, je n'ai pas de problème. La période attendu est bien la bonne (1ms).
    Maintenant je reprend le même programme(au script de link prêt) qui est chargé à l'aide d'un bootloader par la liaison série. La période du signal est maintenant de 800µs.
    Pourriez vous me dire pourquoi une telle différence est observée ?

    En générant le signal périodique à partir de timer, il n'y a pas de problème. Quel que soit le mode de chargement, le comportement est identique.

    J'aimerai savoir pourquoi le temps d'éxecution est différent en fonction du mode de chargement. Pour l'instant je n'ai observé qu'une différence sur cette boucle for, le reste du programme à l'air de fonctionner. Mais tant que je n'aurais pas la réponse à cette question, j'aurai toujours un doute sur le fonctionnement du programme.

    Merci d'avance.
    Bonjour,
    VERIFIE que ton clock (PLL, MCU speed) reste le meme. sinon, tu prevois une fonction dans le code pour programmer la frequence de lMCU au lieu de ce baser sur la valeur par defaut..

  8. #7
    Seb.26

    Re : Différence execution Bootloader Vs PicKit

    Citation Envoyé par Delared Voir le message
    Bonjour,
    VERIFIE que ton clock (PLL, MCU speed) reste le meme. sinon, tu prevois une fonction dans le code pour programmer la frequence de lMCU au lieu de ce baser sur la valeur par defaut..
    Si ce n'était pas le cas, les durées ne seraient pas identiques avec les timer hard et le ratio serait probablement un multiple de 2 ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  9. #8
    Delared

    Re : Différence execution Bootloader Vs PicKit

    Citation Envoyé par Seb.26 Voir le message
    Si ce n'était pas le cas, les durées ne seraient pas identiques avec les timer hard et le ratio serait probablement un multiple de 2 ...
    Salut,
    Je vois ton point, mais le clock reste parmi des points a verifier! et si le clock CPU est different au clock auxiliere (des timers) !

  10. #9
    RISC

    Re : Différence execution Bootloader Vs PicKit

    Salut,

    On ne sait pas quel modèle de PIC32MX tu utilises
    La plupart possède un cache interne, il est donc impossible de prédire le temps d'exécution même avec les instrcutions ASM.
    suivant la configuration de ton PIC32 les banques de mémoire peuvent être cachées ou non...surtout que tu passes par un bootloader.
    Pour faire des délais qui fonctionnent, il faut impérativement utiliser un timer et des interruptions. Pas d'autre méthode fiable

    Ta technique ne marcherait que sur un PIC 8 ou 16 bits mais pas sur les PIC32 bits.

    a+

Discussions similaires

  1. bootloader
    Par bilet38 dans le forum Électronique
    Réponses: 4
    Dernier message: 13/04/2013, 08h23
  2. PICKIT 2 et PICKIT 3 différences???
    Par laurentnic dans le forum Électronique
    Réponses: 3
    Dernier message: 01/12/2011, 13h45
  3. Réponses: 3
    Dernier message: 16/01/2011, 13h26
  4. BootLoader
    Par invite3a42d57f dans le forum Électronique
    Réponses: 10
    Dernier message: 03/01/2011, 19h32
  5. Le bootloader
    Par invite7cfe973c dans le forum Technologies
    Réponses: 0
    Dernier message: 31/12/2005, 11h09
Découvrez nos comparatifs produits sur l'informatique et les technologies.