TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: gastonv_90 en 14 de Diciembre de 2017, 08:42:56
-
Buenos días,
Me encuentro realizando un proyecto con un PIC 18F4520 y estoy utilizando el compilador CCS. Actualmente el programa ocupa un 70 porciento de memoria ROM y un 15 porciento de RAM. Me interesaría ahondar un poco en el tema memorias para ver si puedo reducir los datos en ROM y ocupar mas la RAM. Tienen alguna recomendación de programación para llevar a cabo esto ? o alguna bibliografía que trate el tema sobre microcontroladores ?
Desde ya gracias y saludos,
Gastón
-
Buenas.
"Pasar" de memoria ROM (flash) a memoria RAM no es posible porque todo lo que está en la RAM más tarde o temprano sale de la memoria ROM.
Es decir, si tenemos:
unsigned int variable = 5;
el valor 5 está almacenado en memoria flash, por más que sea una variable en RAM, porque el 5 tiene que quedar guardado en algún lado al sacarle energía a la placa y la memoria RAM pierde los contenidos, mientras que la ROM/flash no.
Lo que queda para ahorrar memoria ROM es tratar de eliminar código inútil, usar las optimizaciones del compilador. Desconozco las opciones específicas para CSS pero en compiladores derivados de gcc se usa -O2, -O3, -Os. También el par -ffunction-sections (compilador)+ --gc-sections (enlazador/linker) para eliminar automáticamente funciones no utilizadas por nuestro código.
Vas a tener que buscar que opciones de tu compilador son aplicables o equivalentes.
-
Gracias por tu respuesta Colotron,
Creo que no me va a quedar otra que buscar todas las optimizaciones de código posibles.
Saludos