En C por que no los declaras como const
Ej:
const int[10] = {1,2,3,4,5,6,7,8,9,0}
Segun:
http://ww1.microchip.com/downloads/en/DeviceDoc/50002071E.pdfPodes definir donde ponerlo con
const char keys[] __at(123) = { ’r’, ’s’, ’u’, ’d’};
Para guardar algo en la flash, tenes 2 opciones:
HOW CAN I LOAD A VALUE INTO FLASH MEMORY?
The compiler provides different ways of defining Flash variables.
• A variable can be explicitly placed into Flash using an appropriate space attribute.
• Variables are implicitly placed into Flash in the default const-in-code memory model if they have the C const type qualifier.
Deberias leerte sobre el PSV.. Pagina 174.
Eso deberia guardaterlo en la flash... Y podrias leerlo. Si no podrias buscar un ejemplo de algun filtro FIR/IIR y ver como usa el acceso de la memoria X e Y para que pueda leer ambos valores a la misma ves.
Si queres saber las funciones:
16-Bit Language Tools Libraries Reference Manualhttp://ww1.microchip.com/downloads/en/DeviceDoc/50001456J.pdfPag 211 comienzan todas las funciones de escritura de la flash, recorda que para escribirla la tenes que borrar, y que solo se borra de una cierta cantidad de bytes. Donde normalmente es mayor a lo que uno escribe lee.
De todas formas la flash no es para escribirla constantemente. Sino para valores constantes