Pregunta

Quiero usar el pequeño gestor de arranque Claudiu Chiculitas para PIC16 (lo modifiqué para que se adapte a mi chip) pero como ese gestor de arranque no mueve el código para evitar sobrescribir el gestor de arranque, de alguna manera debo asegurarme manualmente de que el gestor de arranque no se sobrescribe. He intentado usar la opción --rom de esta manera:

--rom=default,-0-4,-3f00-3fff

Lo que quiero es: No hay código en las primeras 4 palabras de memoria de código, porque ahí es donde está el salto al gestor de arranque y no hay código en las últimas 128 palabras de memoria porque ahí es donde está el gestor de arranque real. --desde que lo uso no hace nada. Estoy usando HI-TECH PICC STD COMPILER (Microchip PICmicro) V9.60PL3 y el chip es pic16f876A.

¿Fue útil?

Solución

También puede hacer esto con un script enlazador personalizado. Por lo general, su secuencia de comandos de enlazador contendría estas líneas para poner los vectores de reinicio primero y el código (en la página llamada " página ") detrás de él:

CODEPAGE   NAME=vectors    START=0x0            END=0x29           PROTECTED
CODEPAGE   NAME=page       START=0x2A           END=0x7FFF

Para el gestor de arranque utilizado en la placa FSDem de Microchip (que ocupa el rango 0x0-0x800, y espera que su programa tenga sus propios vectores en 0x800), esto se reemplaza por las líneas a continuación que evitan que el enlazador use algo por debajo de 0x800:

CODEPAGE   NAME=boot       START=0x0            END=0x7FF          PROTECTED
CODEPAGE   NAME=vectors    START=0x800          END=0x0x829        PROTECTED
CODEPAGE   NAME=page       START=0x82A          END=0x7FFF
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top