Hi,
it is not copy down function. I understood your issue wrong. It is just saving parameters onto stack for passing them to the function. It is standard parameters passing. Copy down function is a part of startup code - it is different story.
Of course, if you have repeating values and or strings you can create a set of outputs and send them all as a strings.
prm file>
* non-paged FLASHs */
ROM = READ_ONLY 0xFE0200 TO 0xFFFDFF;
ROM_STRINGS = READ_ONLY 0xFE0000 TO 0xFE01FF;
....
...
DEFAULT_RAM INTO RAM;
ROM_STRINGS INTO ROM_STRINGS;
....
main.c>
#pragma CONST_SEG ROM_STRINGS // part of the ROM stolen from entire ROM in the PRM file
unsigned char const s1[]="string1";
unsigned char const s2[]="string2";
unsigned char const s3[]="string3";
unsigned char const s4[]="string4";
unsigned char const s5[]="string5";
#pragma CONST_SEG DEFAULT
//**************************************
void main(void)
{
for(;;)
{
printf("s1 = %s\n", s1);
printf("s1 = %s\n", s2);
printf("s1 = %s\n", s3);
}
}
Best regard,
Ladislav