Съдържание:

Започнете разработването на STM32 в Linux: 4 стъпки
Започнете разработването на STM32 в Linux: 4 стъпки

Видео: Започнете разработването на STM32 в Linux: 4 стъпки

Видео: Започнете разработването на STM32 в Linux: 4 стъпки
Видео: SKR Pro v1.x - Klipper install 2024, Ноември
Anonim
Image
Image
Изтеглете всичко, от което се нуждаете
Изтеглете всичко, от което се нуждаете

В тази инструкция ще ви покажа колко лесно е да започнете да разработвате STM32 програми на Linux. Започнах да използвам Linux като основна машина преди 2 години и не бях разочарован. Всичко работи по -бързо и по -добре от прозорците. Разбира се, от време на време е по -малко удобно, но ви принуждава да научите нещата по -задълбочено, за да можете да го използвате.

Както и да е, в тази инструкция част от поредицата, която започвам тук, и в youtube е за това как да я стартирам. Моля, не забравяйте да гледате и моя видеоклип в YouTube, където обяснявам всичко като един сегмент и можете да кодирате до мен.

В тази поредица ще ви покажа как можете да се развивате, като използвате само текстов редактор като бележник, SublimeText или Atom, така че да не се нуждаете от собствен софтуер или IDE. Това е толкова голи кости, колкото става и е изненадващо лесно.

Стъпка 1: Изтеглете всичко, от което се нуждаете

Трябва да изтеглите три части, за да работи всичко:

  • GCC компилатор за ARM
  • STM32 файлове на фърмуера
  • Помощната програма St-link
  • Примерен проект

Компилаторът е основният софтуер, който компилира нашия C код с всички останали библиотечни файлове на машинен език, който нашият stm32 контролер може да разбере. Изтеглете последната предварително компилирана версия на този компилатор.

Папка, съдържаща фърмуер STM32, е тази, която съхранява всички стартиращи и основни файлове, необходими за работата на основния процесор. Ще използваме стандартна периферна библиотека, която е надмината от HAL. Харесвам StPeriphLibrary повече, тъй като компаниите, които работят върху тези процесори, ги използват, защото е здрав и по -стар и поддържан. Освен това е по -здрав. Това не намалява работата, която трябва да извършите, за да инициализирате периферно устройство или да включите светодиод, но затова ви принуждава да научите как работят тези процесори. С това имате повече познания за вътрешната работа, като по този начин имате смисъл да програмирате всяка задача.

Последният софтуер за изтегляне е помощната програма st-link. Той се поддържа на github и се използва за прехвърляне на компилирани двоични файлове към процесора с помощта на stlink IC на дъската, служещ като програмист / отстранител на грешки SWD / JTAG.

Също така предоставих примерна папка на проекта, за която ще говоря по -късно и можете да я изтеглите. Той е вътре в първата папка VIDEO1.

Стъпка 2: Инсталиране на софтуер

Инсталиране на софтуер
Инсталиране на софтуер
Инсталиране на софтуер
Инсталиране на софтуер

След като изтеглите всички файлове, предлагам да ги поставите в обща папка, тъй като всички те се използват заедно за една и съща цел. Поставих всички папки в папка, наречена "Вградена" в директорията ми HOME.

Ще започнем с най -лесните библиотеки STM32. Папката, която сте изтеглили, може просто да бъде оставена там. Просто не забравяйте да ровите наоколо, за да видите къде се съхраняват подходящите файлове. Следователно можете да промените и редактирате основния MakeFile, така че да работи с вашата платформа.

Второто най -лесно е компилаторът. Също така не е нужно да правите нищо, но ние ще направим компилатора глобално достъпна функция, така че можете да извикате компилатора от всяка папка, независимо от пътя. Всички стъпки могат да бъдат направени в терминал или в gui, но аз обичам да използвам терминал, тъй като когато изпитате, става по -бързо и по -лесно и ви насърчавам да използвате терминал повече, ако се страхувате от това. Ето стъпките:

  1. Отидете в домашната си папка „/home/YOURUSERNAME/“или „~/“или въведете cd в терминала
  2. отворете файла ".bashrc", като напишете: nano.bashrc
  3. превъртете надолу до края на файла и добавете този ред: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. излезте чрез запазване: CTRL+X, щракнете Y, ENTER
  5. команда за изпълнение: source.bashrc за опресняване на терминални източници
  6. проверете дали всичко работи, като въведете: arm-none-eabi-gcc --version, той трябва да показва най-новата версия на компилатора

За да инсталирате st-link, извлечете архива, който сте изтеглили в папката Embedded. След това следвайте тези стъпки:

  1. Бягай: направи
  2. Отидете в папката "build/Release": cd build/Release
  3. Въведете ls и ще видите два изпълними файла, наречени "st-flash" и "st-util"
  4. Преместете тези две в родителската директория stlink: mv st-flash st-util../../
  5. Можете, ако искате да използвате тези две функции глобално, да редактирате файла ".bashrc" отново, като добавите:

    експортиране PATH = $ PATH: ~/Вградено/stlink/

Това е всичко! Имате всичко необходимо. Сега отидете да вземете любимия си текстов редактор. Използвайте само стандартен, по -умен като SublimeText или Atom, това е, което използвам.

Стъпка 3: Създаване на примерен проект

Създаване на примерен проект
Създаване на примерен проект

Сега ще създадем примерен проект, който можете да използвате за стартиране на всеки проект. Това е като шаблон с всички основни настройки, които вече са обработени.

Можете да го изтеглите на моя MEGA, връзката е на първата стъпка от тази инструкция и под всяко мое видео в YouTube. Вътре е празният файл main.c заедно с някои стартиращи файлове за този процесор и Makefile. Makefile е този, който казва на компилатора C къде да намери компилатора на ръка, как да компилира и къде са всички библиотеки. За да получите тези подходящи файлове за вашия проект, можете да отидете в папката на библиотеката STM32 и да проверите за папки „проект“или „примери“. Вътре ще видите и копирате тези файлове: main.c, Makefile и XXX_conf.h, system_XXX.c. Също така ще ви е необходим свързващ файл stm32_flash.ld, който може да бъде намерен в папката:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/", който е в примерната папка или просто потърсете файла.

Makefile може да се намери онлайн или да се копира от моята папка, но ще трябва да промените няколко неща. Нека разгледаме моя файл за производство и какво можете да промените.

# Път към stlink папка за качване на код на борда

STLINK = ~/Embedded/stlink # Поставете изходните си файлове тук (*.c) SRCS = main.c system_stm32f4xx.c # Изходни файлове на библиотеките #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Бинарните файлове ще бъдат генерирани с това име (.elf,.bin,.hex) PROJ_NAME = test # Поставете вашата директория с кодове на библиотека STM32F4 тук, променете YOURUSERNAME на вашата STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Настройки на компилатора. Редактирайте само CFLAGS, за да включите други заглавни файлове. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Флаг на компилатора CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mthumb -mc cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I # Включете файлове от STM библиотеки CFLAGS += -I $ (STM_COMMON)/Библиотеки/CMSIS/Включете CFLAGS += -I $ (STM_COMMON)/Библиотеки/CMSIS/ST/STM32F4xx/Включете CFLAGS += -I $ (STM_COMMON)/ Библиотеки/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Помощни програми/STM32F4 -Discovery # добавяне на стартиращ файл за изграждане на SRCS += $ (STM_COMMON)/Библиотеки/CMSIS/ST/STM32F4xx/Source s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Библиотеки/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME).elf: $ (SRCS) $ (CC) $ (CFLAGS) $^ -o $@ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O двоично $ (PROJ_NAME).elf $ (PROJ_NAME).bin чист: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Светкавицата запис на STM32F4: proj $ (STLINK)/st -flash запис $ (PROJ_NAME).bin 0x80000000

  • Можете да редактирате първия ред, за да промените пътя към папката на вашата stlink помощна програма
  • Можете да промените реда към местоназначението на вашата папка с библиотеки и YOURUSERNAME

    STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0

  • Вижте също раздела, където всички библиотеки са свързани. Това може да се промени в зависимост от платформата, която използвате, затова проверете за промени във файловото дърво. Всичко друго, което включва всякакви пътища към определени файлове, например със следващия ред с стартиращ файл, може да бъде променено.

След като редактирате всички тези неща в Makefile, можете да проверите дали работи, като отворите терминал във вашата директория и въведете: make. Ако компилира всичко без проблем, значи сте готови. Ако не, погледнете грешките на компилатора и редактирайте Makefile.

Също така, когато използвам Atom, поставям две части код един до друг. Обикновено main.c и Makefile вляво, тъй като трябва само да редактирате Makefile веднъж и библиотеки вдясно. На снимката можете да видите, че съм отворил папката, съдържаща файловете.c и.h за всяка библиотека. Можете да видите всичко това във видеоклиповете.

Стъпка 4: Готово

Готово!
Готово!

Сега, когато сте конфигурирали Makefile и компилаторът работи, можете да използвате тази папка за всички проекти като шаблон, така че не забравяйте да запазите копие от тази папка.

Също така можете да тествате програмите st-flash и st-info, като включите вашата платка за разработка и напишете в терминала:

st-info-sonda

Можете да видите платформата, която софтуерът stlink разпознава, и семейството на IC заедно с кеша и други неща. Можете да въведете:

st-info

за да видите всички налични параметри.

Сега можете да започнете програмирането. В следващия инструктаж и видео ще ви покажа основите на GPIO и часовниците. Тези две са основите за всичко останало, тъй като почти всичко, с което платката взаимодейства, е през GPIO и всичко работи на часовник и ще видите модела за програмиране на тези процесори.

Дотогава ви благодаря, че проверихте моя инструкционен и моя видеоклип в YouTube, ако все още не сте го направили.

Препоръчано: