Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
dev:cortex_rus:tools [2015/11/16 15:22] alexeyb |
dev:cortex_rus:tools [2015/11/17 09:19] (текущий) alexeyb |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Для разработки потребуются следующие инструменты: | + | ====STM32F1xx LINUX==== |
+ | ====Для разработки потребуются следующие инструменты:==== | ||
- arm-none-eabi (компиляторы, сборщик, дебаггер) https://launchpad.net/gcc-arm-embedded/+download | - arm-none-eabi (компиляторы, сборщик, дебаггер) https://launchpad.net/gcc-arm-embedded/+download | ||
- openocd (собственно посредник между железом и дебаггером) http://openocd.org/repos/; | - openocd (собственно посредник между железом и дебаггером) http://openocd.org/repos/; | ||
- | Далее используем следующий makefile | + | ===Далее используем следующий makefile (STM32F1xx)=== |
<file> | <file> | ||
Строка 60: | Строка 61: | ||
INCPATH +=-I./cmsis_boot -I./init/inc -I./ | INCPATH +=-I./cmsis_boot -I./init/inc -I./ | ||
INCPATH +=-I./common/inc -I./cycle/inc -I./uscntr/inc -I./view/inc | INCPATH +=-I./common/inc -I./cycle/inc -I./uscntr/inc -I./view/inc | ||
- | |||
- | |||
- | STARTUP = ./cmsis_boot/startup/startup_stm32f10x_md.o ./cmsis_boot/system_stm32f10x.o | ||
- | |||
# ========== can change src,obj,bin ========== | # ========== can change src,obj,bin ========== | ||
Строка 114: | Строка 111: | ||
rm -f $(OBJECTS) -f $(DBJECTS) -f $(BINDIR)/$(EXECUTABLE) -f $(BINDIR)/$(EXECBIN) -f $(BINDIR)/$(EXECLIST) -f $(BINDIR)/$(EXECHEX) -f $(BINDIR)/*.map | rm -f $(OBJECTS) -f $(DBJECTS) -f $(BINDIR)/$(EXECUTABLE) -f $(BINDIR)/$(EXECBIN) -f $(BINDIR)/$(EXECLIST) -f $(BINDIR)/$(EXECHEX) -f $(BINDIR)/*.map | ||
</file> | </file> | ||
+ | |||
+ | - TOOLROOT - указываем свой путь до arm-none-eabi; | ||
+ | - SRCDIR - также свои сырцы, нужно указать; | ||
+ | - INCPATH - пути до своих инклудов. | ||
+ | - CMSIS - путь до стд библиотеки арм, | ||
+ | - STINC - путь до стд библиотеки st, | ||
+ | - STSRC - путь до стд библиотеки st, **(при использовании расскоментировать USE_STDPERIPH_DRIVER)** | ||
+ | |||
+ | |||
+ | === Отладка === | ||
+ | Если **make** прошла успешно, можно пользовать отладку файлом **flash_openocd.sh** | ||
+ | состоящим из: | ||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | openocd -f ./openocd.cfg | ||
+ | </code> | ||
+ | ==openocd.cfg== | ||
+ | <code> | ||
+ | source [find interface/stlink-v2.cfg] | ||
+ | set WORKAREASIZE 0x4000 | ||
+ | source [find target/stm32f1x.cfg] | ||
+ | </code> | ||
+ | Далее цепляемся gdb на порт 3333 | ||
+ | |||
+ | === Прошивка === | ||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | openocd -f ./openocd.cfg -f ./openocdflash.cfg | ||
+ | </code> | ||
+ | где **openocdflash.cfg** | ||
+ | <code> | ||
+ | init | ||
+ | reset init | ||
+ | halt | ||
+ | flash write_image erase name.hex | ||
+ | verify_image name.hex | ||
+ | reset | ||
+ | shutdown | ||
+ | </code> | ||
+ | |||
+ | === Среда разработки === | ||
+ | Рекомендую Eclipse for C/C++; | ||
+ | - Создаем проект Makefile project/ Empty Project, | ||
+ | - кормим ему свои наработки в том числе makefile | ||
+ | - |