Съдържание:
- Стъпка 1: Изтеглете всичко, от което се нуждаете
- Стъпка 2: Инсталиране на софтуер
- Стъпка 3: Създаване на примерен проект
- Стъпка 4: Готово
Видео: Започнете разработването на STM32 в Linux: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
В тази инструкция ще ви покажа колко лесно е да започнете да разработвате 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, но аз обичам да използвам терминал, тъй като когато изпитате, става по -бързо и по -лесно и ви насърчавам да използвате терминал повече, ако се страхувате от това. Ето стъпките:
- Отидете в домашната си папка „/home/YOURUSERNAME/“или „~/“или въведете cd в терминала
- отворете файла ".bashrc", като напишете: nano.bashrc
- превъртете надолу до края на файла и добавете този ред: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
- излезте чрез запазване: CTRL+X, щракнете Y, ENTER
- команда за изпълнение: source.bashrc за опресняване на терминални източници
- проверете дали всичко работи, като въведете: arm-none-eabi-gcc --version, той трябва да показва най-новата версия на компилатора
За да инсталирате st-link, извлечете архива, който сте изтеглили в папката Embedded. След това следвайте тези стъпки:
- Бягай: направи
- Отидете в папката "build/Release": cd build/Release
- Въведете ls и ще видите два изпълними файла, наречени "st-flash" и "st-util"
- Преместете тези две в родителската директория stlink: mv st-flash st-util../../
-
Можете, ако искате да използвате тези две функции глобално, да редактирате файла ".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, ако все още не сте го направили.
Препоръчано:
Как да настроите Raspberry Pi и да започнете да го използвате: 4 стъпки
Как да настроите Raspberry Pi и да започнете да го използвате: За читателите на бъдещето сме в 2020. Годината, в която, ако имате късмет да сте здрави и да не сте заразени с Covid-19, вие изведнъж , има много повече свободно време, отколкото някога сте си представяли. И така, как мога да се занимавам по не твърде глупав начин? О да
Как да започнете с RaspberryPi: 9 стъпки
Как да започнете с RaspberryPi: В тази инструкция ще ви покажа как да започнете с RashpberryPi по различен начин
Как трябва да започнете с нов проект: 7 стъпки
Как трябва да започнете с нов проект: Здравейте читателю, това е моят урок как трябва да започнете с нов проект за микроконтролер
Изключително прост начин да започнете с домашната автоматизация с помощта на DIY модули: 6 стъпки
Изключително прост начин да започнете с автоматизацията на дома с помощта на DIY модули: Бях приятно изненадан, когато реших да опитам да добавя някои DIY сензори към домашния помощник. Използването на ESPHome е изключително просто и в тази публикация ще се научим как да контролираме GPIO щифт и също така да получим температура & данни за влажност от безжичен n
Как да инсталирате Linux (начинаещи започнете от тук!): 6 стъпки
Как да инсталирате Linux (начинаещи започват от тук!): Какво точно е Linux? Е, скъпи читателю, Linux е портал към свят на изцяло нови възможности. Отминаха дните на OSX, които се забавляваха от притежаването на компютър. Изчезнаха глупавите нотации за сигурност през Windows 10. Сега е ваш ред да