Tengo microcontroladores PIC18 y PIC24 con 256KiB de memoria flash.
El tamaño de mi código es de 400 kB y ya no se puede almacenar en la memoria flash de esas MCU. Así que estoy pensando en usar una memoria flash externa para guardar el código del programa.
¿Puedo almacenar mi archivo ejecutable en la memoria flash externa y ejecutarlo desde allí? ¿Cómo puedo hacer eso?
Hay modelos PIC24 y dsPIC33 con flash de 512 KB.
PIC18F8622 y 8722, y algunos otros PIC18F (87J50, 97J60, por ejemplo) tienen una interfaz de bus externa, puede colocar un flash paralelo (tipo 29xx) allí y el bus externo puede direccionar hasta 2 MB.
En la hoja de datos, podemos ver que esto se puede usar para almacenar el código del programa:
El bus de memoria externa (EMB) permite que el dispositivo acceda a dispositivos de memoria externa (como Flash, EPROM, SRAM, etc.) como memoria de programa o de datos .
El uso de otros tipos de interfaz para conectarse a un flash externo puede ser problemático, ya que no podría ejecutar el código directamente desde el flash; en cambio, tendría que copiar el código en la RAM antes de ejecutarlo, pero dado que estos microcontroladores tienen recursos de RAM extremadamente limitados, esto limitaría severamente la utilidad de dicha solución (tendría que implementar algún tipo de técnica de paginación/superposición).
Aquí está la herramienta de selección de productos de Microchip, que le permite buscar modelos con ciertas funciones: http://www.microchip.com/maps/microcontroller.aspx
m.alin
Wouter van Ooijen
shail korat