Deutsch   English   Français   Italiano  
<FUBzRdvuxHZhLW70_avWy1OdD5g@jntp>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!pasdenom.info!from-devjntp
Message-ID: <FUBzRdvuxHZhLW70_avWy1OdD5g@jntp>
JNTP-Route: news2.nemoweb.net
JNTP-DataType: Article
Subject: Re: Analyse utilisation =?UTF-8?Q?m=C3=A9moire=20C?=
References: <p7q4GGrIxe5NOOZW61CiofWmY8U@jntp> <63dc3dc0$0$3014$426a34cc@news.free.fr> <M-FKfEt4LMVsc3hMJV40jfbvR4c@jntp>
Newsgroups: fr.sci.electronique
Followup-To: fr.comp.lang.c
JNTP-HashClient: klX1wgbOHxwxTT5FyMX2KpHM6ZQ
JNTP-ThreadID: 93p3H_mDK2ioLBi5Zcdp_a8m2rg
JNTP-ReferenceUserID: 115@news2.nemoweb.net
JNTP-Uri: http://news2.nemoweb.net/?DataID=FUBzRdvuxHZhLW70_avWy1OdD5g@jntp
User-Agent: Nemo/0.999a
JNTP-OriginServer: news2.nemoweb.net
Date: Fri, 24 Mar 23 07:46:58 +0000
Organization: Nemoweb
JNTP-Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0
Injection-Info: news2.nemoweb.net; posting-host="359fb1dc8264fe85afa63c495a49bbde6ca15f37"; logging-data="2023-03-24T07:46:58Z/7753490"; posting-account="115@news2.nemoweb.net"; mail-complaints-to="newsmaster@news2.nemoweb.net"
JNTP-ProtocolVersion: 0.21.1
JNTP-Server: PhpNemoServer/0.94.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-JNTP-JsonNewsGateway: 0.96
From: Pascal06 <toto@toto.com>
Bytes: 3789
Lines: 55

Le 03/02/2023 à 10:23, Pascal06 a écrit :
> Le 02/02/2023 à 23:48, JKB a écrit :
>> 	Bonsoir,
>> 
>> 	Pas sûr que je comprenne la demande. Si c'est pour un code
>> 	s'exécutant sur une machine standard, il faut voir les sections du
>> 	binaires (.data par exemple, ou .text). Le code source ne donnera
>> 	pas grand'chose parce que le compilateur peut optimiser des tas de
>> 	choses (alignement mémoire entre autre, champs de bits...).
> Pascal

Bonjour à toutes et tous,

je reviens sur ce messages, car depuis j'ai trouvé des éléments de 
réponses.
Il existe donc deux outils qui permettent d'analyser les fichiers map 
générés par le compilateur gcc:
https://github.com/govind-mukundan/MapViewer
https://www.sikorskiy.net/info/prj/amap/

Malheureusement, ces outils ne fonctionnent pas avec le code que je 
voulais analyser et qui est compilé avec XC8 de Microchip: celui-ci 
n'étant pas basé sur GCC (contrairement à XC16).
Par contre,
dans le code assembleur qui est généré (fichier .lst), il est indiqué 
en commentaire la taille de chacune des variables utilisées, par exemple:

1642 ;; *************** function _main *****************
  1643 ;; Defined at:
  1644 ;;		line 112 in file "main.c"
  1645 ;; Parameters:    Size  Location     Type
  1646 ;;		None
  1647 ;; Auto vars:     Size  Location     Type
  1648 ;;  sgOld           4   63[BANK0 ] unsigned long 
  1649 ;;  spOld           4   59[BANK0 ] unsigned long 
  1650 ;;  sg              4    0        unsigned long 
  1651 ;;  sp              4    0        unsigned long 
  1652 ;;  drvConfig       2   67[BANK0 ] struct .
  1653 ;;  adcRawValue     2    0        unsigned short 
  1654 ;;  msdiStatus      1    0        enum E3961
  1655 ;;  i               1    0        unsigned char 
  1656 ;; Return value:  Size  Location     Type
  1657 ;;                  2  313[None  ] int 
  1658 ;; Registers used:
  1659 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, 
cstack

Ce qui correspond donc tout à fait à ce que je cherchais. On voit par 
exemple que sgOld prend 4 octets, que c'est un unsigned long ( = 
uint32_t), qu'il utilise le bank0.
Le micro 8 bits utilisé est une PIC16F15244
Ce fichier lst est placé dans le dossier /dist/default du projet.

Si ça peut aider d'autre personnes ;)

Pascal