Loading [MathJax]/jax/element/mml/optable/MathOperators.js

8 votos

Mover programación embebida de Keil para Linux

Actualmente estoy usando Keil a desarrollar para un STM32 descubrimiento de la junta. Mi proyecto está casi terminado, y me gustaría pasar a Linux entorno de edificios. He estado usando la preconfigurado intermitente de la herramienta y el STLink de los controladores de windows para el flash de la junta, y tengo keil para exportar un archivo bin, que me las arreglé para flash en mi máquina Linux usando qSTLink2. Tan lejos, tan bueno.

Ahora estoy atascado en movimiento el proceso de construcción de todo el proyecto. Específicamente:

¿Cómo puedo portar mi .uvproj a un makefile, mientras que tomar las cosas como el 'startup_stm32l1xx_md.s' archivo de inicio en la cuenta?

6voto

Se lo ha hecho. Pensé que me gustaría compartir mis resultados para que otros puedan usarlo. Gracias por tu tiempo, todo el mundo.


He utilizado este BRAZO conjunto de herramientas para crear mi proyecto, y la texane/stlink de la biblioteca, que viene con el ./st-flash herramienta, el flash en el binario a mi STM32L1. Mientras texane/stlink viene con GDB, me di cuenta de que podía obtener el edificio de+proceso de flasheo de hecho sin ella.

Mi Makefile terminó en busca de esta. No es muy bonito ni abstracto, sino que consigue el trabajo hecho.

all:
    arm-none-eabi-gcc -T stm32l1xx.ld -mthumb -mcpu=cortex-m3 -D STM32L1XX_MD -D USE_STDPERIPH_DRIVER startup_stm32l1xx_md.s system_stm32l1xx.c main.c [ sources ] -lm --specs=nosys.specs -o Project.elf

En la que:

  • arm-none-eabi-gcc
    El BRAZO de las herramientas
  • -T stm32l1xx.ld
    El vinculador documento
  • -mthumb -mcpu=cortex-m3
    Dígale a GCC esto es para un M3
  • -D STM32L1XX_MD -D USE_STDPERIPH_DRIVER
    Define el Estándar de controladores de Periféricos
  • startup_stm32l1xx_md.s
    GCC orientada al inicio del documento.
  • system_stm32l1xx.c main.c [ sources ]
    Lista de mis archivos de origen
  • -lm
    Para Math.h(LibMath)
  • --specs=nosys.specs
    No utilizar sistemas de llamadas como _exit.
  • -o Project.elf
    Nombre de salida

6voto

Kimball Robinson Puntos 161

Hay un Gnu BRAZO toolchain (arm-none-eabi), y supuestamente openOCD trabaja con gdb (aunque no he sido capaz de hacer que eso suceda bajo Win7 - openOCD se conecta a un STM32F4disco de la junta de ACEPTAR, pero gdb tiene problemas con la conexión a openOCD).

Hacer algunos escarbando aquí y encontrarás enlaces a las herramientas de generación, openOCD y de la muestra de proyectos que incluyen el inicio de la fuente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X