¿Cómo usar un archivo de vinculador con Keil uVision5 ARM?

0

Estoy intentando seguir un tutorial que implementa un gestor de arranque personalizado en un STM32F072 (ARM M0 Core), que requiere reasignar áreas de memoria al compilar tanto la aplicación 'bootload' como la 'main-application', que luego se programa para la sección después del espacio de 'bootload' en FLASH.

El tutorial tiene un archivo bootload.ld que ya lo hace por mí, pero no encuentro cómo decirle a Keil que use este archivo bootload.ld al vincular.

Solo puedo cargar un "Archivo de dispersión" pero eso no parece ser lo mismo, después de leerlo en los foros de Keil.

¿Cómo puedo importar este script de vinculador o qué debo hacer?

Estas son las únicas opciones bajo el enlazador:

    
pregunta AJBotha

2 respuestas

0

En el cuadro de diálogo Opciones para destino, en la pestaña Vinculador, la opción Usar diseño de memoria desde el objetivo determina si se usa su archivo de dispersión personalizado. Cuando se marca Usar diseño de memoria desde el cuadro de diálogo de destino, el vinculador usa información de las opciones de memoria seleccionadas en la pestaña Destino. (La cadena de herramientas usa la configuración de la pestaña Destino para generar automáticamente un archivo de dispersión, que se envía al vinculador). Debes desmarcar Usar diseño de memoria del cuadro de diálogo de destino para usar un archivo de dispersión personalizado especificado en la pestaña Vinculador.

Creo que los archivos de dispersión suelen tener una extensión .sct. ¿Fue tu bootload.ld escrito para la cadena de herramientas Keil u otra? Si fue escrito para otra cadena de herramientas, entonces probablemente no funcionará con la cadena de herramientas Keil a menos que lo reescribas para usar la sintaxis de archivo de dispersión de Keil adecuada.

Para un ejemplo de archivo de dispersión, mire el archivo .sct que fue generado automáticamente por la cadena de herramientas cuando compila con la opción Usar el diseño de memoria desde el diálogo de destino seleccionada. Y, por supuesto, lea el manual .

    
respondido por el kkrambo
0

Desmarque la casilla 'Usar diseño de memoria del diálogo de destino' y seleccione el archivo de dispersión adecuado o edite el archivo. No estoy seguro de qué tan diferente es el linker de armcc del linker de gcc. Pero el archivo de dispersión se utiliza para generar diferentes secciones en la memoria y también es bastante simple. Puedes seguir las instrucciones de Ver > Libros > (cualquiera que sea el documento enlazador presente)

    
respondido por el MaNyYaCk

Lea otras preguntas en las etiquetas