¿Puedo generar una determinada área de memoria de un procesador con objcopy?

1

Para un cargador de arranque (PIC32) solo necesito un área de memoria determinada de un archivo binario (la aplicación para un cargador de arranque, la configuración y el cargador de arranque se encuentran en otra parte, no es posible el hexágono). Si llamo a xc32-objcpy en un archivo hexadecimal o elfo, se creará un binario de 44 MB de todo el espacio de direcciones.

Lo que necesito es solo un área de memoria determinada (kesg0_program_mem) donde se encuentra la aplicación. Por supuesto, podría crear el binario de 44 MB y luego cortar un cierto rango de direcciones, pero ¿no hay una opción para generar directamente el área de interés? El programa mempory está estrictamente definido:

kseg0_program_mem     (rx)  : ORIGIN = 0x9FC01000, LENGTH = 0xFF00-0x1000

Intenté obtener solo las secciones del archivo de vinculador, pero eso es tedioso incluso con comodines (ver más abajo, incompleto).

-I ihex -O binary -j .text -j .data -j .rodata -j .reset -j .bev_excpt -j simple_tlb_refil -j .cache_err_excpt -j app_excpt -j .vectors Test.X.production.hex Test.X.production.bin

Estoy abierto a cualquiera, pero sería útil si se puede hacer desde la línea de comandos

    
pregunta pfried

0 respuestas

Lea otras preguntas en las etiquetas