Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Mémoire programme dual partition (résolu)
Bonjour,
Je travaille actuellement sur le RTSP (real-time self-programming) pour offrir la possibilité à l'utilisateur final de mettre à jour lui-même son firmware.
Le firmware de notre outil n'utilise à ce jour que 20% de la mémoire programme. J'aimerais en tirer parti et utiliser le mode dual partition. L'idée : utiliser la partition inactive pour y programmer notre firmware mis à jour, sans craindre pour celui en cours d'utilisation et dont on bénéficierait des pleins services jusqu'au reset (dont, détail important, les services de la librairie MLA FILEIO).
Le fichier serait uploadé en amont sur la carte SD (FAT32) sous la forme d'un fichier .HEX.
J'ai compris pas mal de choses sur les manips de lecture/effacement/écriture imposées par l'EEPROM, mais je n'ai pas trouvé comment indiquer à ma plateforme que je veux fonctionner en dual partition. Or c'est un peu le point de départ !
Je n'ai rien vu dans le projet MPLabX, ni dans la doc Flash Program Memory PIC24F, ni dans la datasheet du PICFJ1024GB610. J'ai dû passer à côté de quelque-chose.
J'ai aussi fait le tour des bits de config sans rien identifier à ce sujet.
Y aurait-il un rapport avec le boot segment ?
L'un d'entre vous aurait-il une expérience là-dessus ?
À bientôt peut-être,
Laurent
Je travaille actuellement sur le RTSP (real-time self-programming) pour offrir la possibilité à l'utilisateur final de mettre à jour lui-même son firmware.
Le firmware de notre outil n'utilise à ce jour que 20% de la mémoire programme. J'aimerais en tirer parti et utiliser le mode dual partition. L'idée : utiliser la partition inactive pour y programmer notre firmware mis à jour, sans craindre pour celui en cours d'utilisation et dont on bénéficierait des pleins services jusqu'au reset (dont, détail important, les services de la librairie MLA FILEIO).
Le fichier serait uploadé en amont sur la carte SD (FAT32) sous la forme d'un fichier .HEX.
J'ai compris pas mal de choses sur les manips de lecture/effacement/écriture imposées par l'EEPROM, mais je n'ai pas trouvé comment indiquer à ma plateforme que je veux fonctionner en dual partition. Or c'est un peu le point de départ !
Je n'ai rien vu dans le projet MPLabX, ni dans la doc Flash Program Memory PIC24F, ni dans la datasheet du PICFJ1024GB610. J'ai dû passer à côté de quelque-chose.
J'ai aussi fait le tour des bits de config sans rien identifier à ce sujet.
Y aurait-il un rapport avec le boot segment ?
L'un d'entre vous aurait-il une expérience là-dessus ?
À bientôt peut-être,
Laurent
Modifié en dernier par pucpood le mar. 17 mars 2026 10:20, modifié 1 fois.
Mémoire programme dual partition
Trouvé !
Malgré mes réticences de vieux c** j'ai cédé aux sirènes de l'IA qui m'a dit :#pragma config BTMODE = DUAL. Ça build, mais ça râle :
Error: F:/Projets xxx/XXX400.X/dist/XXX400_CFG/production/XXX400.X.production.hex contains code that is located at addresses that do not exist on the PIC24FJ1024GB610. Code incompletely loaded starting at 0xABF00 (0x04).
C'est étonnant cette valeur, en dual partition on ne devrait pas dépasser 0x055FFE grosso modo. D'ailleurs le compte-rendu m'annonce toujours la taille complète de la mémoire en mode SINGLE... Du coup, pas étonnant que ça râle : il y a contradiction entre le pragma et la taille annoncée...
Encore trouvé (tout seul
cette fois, en fouillant dans les options du compilateur) :
il fallait informer XC16(global options) rubrique "Partition" qu'on est en dual. et laquelle (active ou inactive).
À bientôt !
Malgré mes réticences de vieux c** j'ai cédé aux sirènes de l'IA qui m'a dit :#pragma config BTMODE = DUAL. Ça build, mais ça râle :
Error: F:/Projets xxx/XXX400.X/dist/XXX400_CFG/production/XXX400.X.production.hex contains code that is located at addresses that do not exist on the PIC24FJ1024GB610. Code incompletely loaded starting at 0xABF00 (0x04).
C'est étonnant cette valeur, en dual partition on ne devrait pas dépasser 0x055FFE grosso modo. D'ailleurs le compte-rendu m'annonce toujours la taille complète de la mémoire en mode SINGLE... Du coup, pas étonnant que ça râle : il y a contradiction entre le pragma et la taille annoncée...
Encore trouvé (tout seul
il fallait informer XC16(global options) rubrique "Partition" qu'on est en dual. et laquelle (active ou inactive).
À bientôt !
Retourner vers « Généralités sur les PICs »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

