bootloader pic32MX795F512L - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 38 sur 38

bootloader pic32MX795F512L



  1. #31
    davidif

    Re : bootloader pic32MX795F512L


    ------

    Bon Bah a vrai dire maintenant ça fonctionne avec l'addresse que j'avais prix au départ 0xBD000000 ; en fait là j'ai pas compris tout

    -----

  2. #32
    invite64afc82e

    Re : bootloader pic32MX795F512L

    Salut content que ça fonctionne.

    Alors pour ton problème de variable sauvegarder en flash, il faudrait que tu réserves de la mémoire Flash pour les mettre.
    Dans la datasheet du PIC32, il y a une section sur l'organisation mémoire.
    Donc les adresses commençant par 0xAxxxxxxx sont de la RAM. Les adresses commençant par 0x9Dxxxxxx sont de la Flash. Après c'est une histoire de kseg0 et kseg1. Et moi-même sur ce sujet j'ai pas encore tout compris. Car en les adresses virtuelles sont différentes mais les adresses physiques sont les mêmes.

    Donc pour résoudre ton problème, même s'il semble résolu, je te conseille de diminuer la taille de kseg0_program_mem. Enlève ce qu'il te faut pour sauvegarder tes données et prend un peu de marge dans le cas où tu voudrais en sauvegarder plus.

    Ensuite tu vas créer ne nouvelle section de mémoire dans la flash.
    Dans le fichier linker de ton programme principal tu ajoute cette ligne:
    Code:
    FLASH_MEMORY			 	 : ORIGIN = 0x9D000000, LENGTH = 0x100
    FLASH_MEMORY n'est qu'un exemple de nom tu peux l'appeler comme tu veux.
    Ensuite en origine, tu met 0x9D000000 + Taille du kseg0_program_mem (bootloader) + taille du exception_mem(prog_principal) + taille du kseg0_boot_mem(prog_principal) + taille du kseg1_boot_mem (prog_principal) + taille du kseg0_program_mem (prog_principal).
    Et en taille tu met la taille restante donc la 0x80000 - taille du kseg0_program_mem (bootloader) - taille du exception_mem(prog_principal) - taille du kseg0_boot_mem(prog_principal) - taille du kseg1_boot_mem (prog_principal) - taille du kseg0_program_mem (prog_principal).

    Ensuite toujours dans ton fichier linker de ton programme principal, tu ajoute ça dans la partie SECTION
    Code:
      .My_Flash_Memory : {
    	*(.My_Flash_Memory)
      } > FLASH_MEMORY
    Normalement cela devrait marcher.

    Puis ton #define NVM_PROGRAM_PAGE = ORIGIN du FLASH_MEMORY;

  3. #33
    davidif

    Re : bootloader pic32MX795F512L

    OK je fais ça , merci gofio79

  4. #34
    davidif

    Re : bootloader pic32MX795F512L

    Effectivement, je regarde de nouveau l'organisation de la mémoire du pic pour bien comprendre l'agencement et d'après le début de la docs il est descrit les espaces mémoires du pic32MX795F512l.

    Il est dit :

    512k + 12k --> programme mémorie + boot flash, si j'ai bien compris les 512k sont alloué pour le programme et 12k pour pour le boot
    128 --> Data Mémorie, En fait je croyais que cette espace était alloué au données donc les valeurs des variables ponctuel, mais en fait c'est simplement la RAM

    il faut donc que je partage les 512 Programme Flash pour le programme principal et les données que je souhaite mémorisées en flash.

    D'après ce que j'ai compris, le kseg0 est de la mémoire cachée auquel on à pas accès directement, on utilise directement le kseg1.

  5. #35
    invite64afc82e

    Re : bootloader pic32MX795F512L

    Pour le kseg0 et kseg1, oui c'est une histoire de cache mais on a accès à la RAM du kseg1 et à la flash du kseg0 donc je ne comprend pas tout. Pour cela, il faudrait se plonger dans le manuel MIPS.

    Sinon les 512K de flash sont à partager entre ton bootloader, ton programme principal, les parties de boot kseg0 et kseg1 de ton programme principal et les données que tu veux sauvegarder en flash.
    Les 128K de ram sont pour ta pile, tes variables locales tes fonctions mise en ram...

    Donc à toi de tout bien calculer pour que ça tombe juste et ne pas avoir de dépassement de la flash. Regarde aussi dans le fichier .map de ton projet cela peut aider à comprendre où sont stocker tel ou tel section.

  6. #36
    davidif

    Re : bootloader pic32MX795F512L

    OK je vois ça

  7. #37
    davidif

    Re : bootloader pic32MX795F512L

    Bah Ecoute , j'ai qu'une chose à dire et à redire , j'me répète peut-être mais Un grand merci pour ta disponibilités et ta grande aide, ça marche nickel, maintenant je vais refaire un point sur tout ça histoire de bien retenir.

  8. #38
    invite64afc82e

    Re : bootloader pic32MX795F512L

    Il y a pas de soucis.
    Je suis bien content de trouver de l'aide sur les forums quelques fois donc c'est la moindre des choses.

    Sinon oui, je te conseille de te faire un petit document pour bien mémoriser à quoi correspond tel ou tel espace mémoire, qu'est ce qu'il faut modifié si tu change la taille de ton booloader ...

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. bootloader
    Par invite48b58dac dans le forum Électronique
    Réponses: 4
    Dernier message: 13/04/2013, 09h23
  2. TCP/IP sur PIC32MX795F512L
    Par invite3bb6cfa9 dans le forum Électronique
    Réponses: 2
    Dernier message: 13/02/2012, 23h58
  3. BootLoader
    Par invitec1317d72 dans le forum Électronique
    Réponses: 2
    Dernier message: 25/04/2008, 10h02
  4. Le bootloader
    Par invite7cfe973c dans le forum Technologies
    Réponses: 0
    Dernier message: 31/12/2005, 12h09
  5. Bootloader
    Par invite367afa16 dans le forum Électronique
    Réponses: 0
    Dernier message: 11/02/2005, 15h36
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...