TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Nocturno en 09 de Octubre de 2020, 08:17:21
-
Después de eliminar toda la paja, y depurar mi código hasta el límite, he conseguido que quepa por los pelos :D :D :D
Y todavía me sobran 17 posiciones de memoria :lol:
Memory Summary:
Program space used 1FEFh ( 8175) of 2000h words ( 99.8%)
Data space used 1F4h ( 500) of 400h bytes ( 48.8%)
EEPROM space used A0h ( 160) of 100h bytes ( 62.5%)
Configuration bits used 2h ( 2) of 2h words (100.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
-
Si pagaste por 2000 posiciones de memoria hay que aprovecharlas :D :D
-
Qué andarás inventando :D :D :D :mrgreen:
-
Eso lo tuve que hacer yo en un proyecto con un 16f877A. Tuve que empezar a coger variables y funciones y empezar a compartirl, eliminar funciones y crear una sola que pueda hacer varias tareas distintas.
Tanto esta compactado, que si cambias una variable que parece ser el color de un texto por ejemplo, no solo afecta a ese color, afecta a más cosas que usan esa misma variable cuando está libre. Un quijote escrito en la cabecera para explicarle al “yo” de mañana como y por que está todo hecho así.
Y eso utilizando una eeprom externa i2C 24C256 en la cual metí todos los textos, objetos de imágenes, constantes de control, un montón de cosas. Los 32 Kbytes de la eeprom llenos. :lol:
Bestial. Cambiar el micro no era una opción por que iba a menos de 30 horas de tener que tener eso acabado.
Quedarte sin flash y tener que joderte con la que hay es una de las cosas que te enseña a programar de verdad.
-
Un caso como ese recuerdo yo en un 18F4550 donde usaba toda la flash y toda la ram (si, ambas...) y me tocó hacer lo que dice el compañero remi04 intentar optimizar todo todo todo como buenamente era capaz hasta que consegui compilarlo compartiendo variables y dejando funciones en una sola cuando en algunso casos no se debía de hacer :oops: