Guarda los arrays en la memoria rom
Cont char [número de bytes]={texto a guardar};
Te recomiendo que saltes a uno de la linea PIC18F.La verdad que siempre he podido meterme con ese y utiliar el C18 que me mola más que el CCS, lo veo más robusto y como que se trabaja más directo en los registros, pero esto que hago es como un experimento, metiéndome con este micro a ver hasta donde puedo llega, es un jobby y más bien placer más que otra cosa, así también aprendo a optimizar mejor los códigos que hago
Yo usaba ese y tenia el mismo problema, me canse de optimizar código hasta que decidí probar un PIC18F252.
Se terminaron mis problemas y ahora tengo 60 % de Rom usada y no chilla.
Tiene que ver con el paginado de memoria el problema, que junto a los arrays complica todo mal.
Prueba usar una versión mas nueva del CCS, tal vez optimice mejor, pero no te hagas muchas ilusiones...
const char string1[] = "lo que sea que va dentro de este array";char stringMainc[];for(h=0;h<42;h++){
stringMainc[h] = string1[h];
{y luego meter el el array stringMainc en mi función.