Home/Support/Support Forum/Why .map in Dynamic_C 9.62 show a very big function size?
New and improved user forum site going live on 12/6 (All users will need to reset their password when the new forum is active)
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

Why .map in Dynamic_C 9.62 show a very big function size?

0 votes
In the .map file I got:
01:ea17 495 update_dif_obrir \MICRO5_205.C 986
01:ec06 14420 UpdatePrograms \MICRO5_205.C 1010
05:e45a 2995 procesa_entrada \MICRO5_205.C 1038
the UpdatePrograms show 14420 bytes size, very big for the function:

xmem void UpdatePrograms(void)
int i,flag;
for(i=1; i<_PROGRAMAS; i++)
if(programas.consigna == i) continue;
if(programas.consigna == 0) continue;

if(programas.referencia != programas[programas.consigna].referencia)
{programas.referencia=programas[programas.consigna].referencia; flag=1;}
if(programas.dif_obrir != programas[programas.consigna].dif_obrir)
{programas.dif_obrir=programas[programas.consigna].dif_obrir; flag=1;}
if(programas.dif_tancar != programas[programas.consigna].dif_tancar)
{programas.dif_tancar=programas[programas.consigna].dif_tancar; flag=1;}
if(programas.t_ciclo != programas[programas.consigna].t_ciclo)
{programas.t_ciclo=programas[programas.consigna].t_ciclo; flag=1;}
if(programas.t_apertura != programas[programas.consigna].t_apertura)
{programas.t_apertura=programas[programas.consigna].t_apertura; flag=1;}
if(programas.t_cerrar != programas[programas.consigna].t_cerrar)
{programas.t_cerrar=programas[programas.consigna].t_cerrar; flag=1;}

if(flag) writeUserBlock(0x000+(sizeof(programas)*programa),&programas,sizeof(programas));
asked Jan 12, 2015 in Rabbit Software by sala.montala New to the Community (1 point)

Please log in or register to answer this question.

1 Answer

+1 vote
I think this strange size is an artifact of the linking process where there is a gap in the memory map. I've seen it before in the map file for my code where the last function before the gap shows a size that includes the gap size. I think it is related to the no_lcall section in the case of Rabbit 4000 code under DC 10. I'm not familiar enough with DC 9 to know if it does the same...
answered Jan 13, 2015 by petermcs Veteran of the Digi Community (1,132 points)