Мазмұны:

Linux жүйесінде STM32 құруды бастаңыз: 4 қадам
Linux жүйесінде STM32 құруды бастаңыз: 4 қадам

Бейне: Linux жүйесінде STM32 құруды бастаңыз: 4 қадам

Бейне: Linux жүйесінде STM32 құруды бастаңыз: 4 қадам
Бейне: Бір транзистор / 2,4 МГц көмегімен қарапайым ультрадыбыстық ылғалдағышты қалай жасауға болады 2024, Шілде
Anonim
Image
Image
Сізге қажет нәрсенің бәрін жүктеп алыңыз
Сізге қажет нәрсенің бәрін жүктеп алыңыз

Бұл нұсқаулықта мен сізге Linux -те STM32 бағдарламаларын құрудың қаншалықты оңай екенін көрсетемін. Мен Linux -ты негізгі машинам ретінде 2 жыл бұрын қолдана бастадым, бірақ оны жіберіп алмадым. Барлығы терезеге қарағанда тезірек және жақсы жұмыс істейді. Әрине, бұл кейде ыңғайлы емес, бірақ ол сізге заттарды тереңірек үйренуге мәжбүр етеді, сонда сіз оны пайдалана аласыз.

Қалай болғанда да, осы нұсқаулықта мен youtube -те басталатын серияның бір бөлігі оны қалай бастау керектігі туралы. Менің ютубтағы бейнебаянымды міндетті түрде қараңыз, онда мен бәрін бір сегмент ретінде түсіндіремін және сіз мені кодтай аласыз.

Бұл серияда мен сізге блокнот, SublimeText немесе Atom сияқты мәтіндік редактордың көмегімен қалай дамуға болатынын көрсетемін, сондықтан сізге жеке бағдарламалық жасақтама немесе IDE қажет емес. Бұл жалаңаш сүйектер және бұл таңқаларлық оңай.

1 -қадам: Сізге қажет нәрсені жүктеп алыңыз

Барлығы жұмыс істеуі үшін сізге үш бөлікті жүктеу қажет:

  • ARM үшін GCC компиляторы
  • STM32 микробағдарлама файлдары
  • St-link утилитасы
  • Жоба үлгісі

Компилятор - бұл біздің С кодты басқа кітапхана файлдарымен біздің stm32 контроллері түсінетін машина тіліне құрастыратын бағдарламалық қамтамасыз етудің негізгі бөлігі. Бұл компилятордың алдын ала құрастырылған соңғы нұсқасын жүктеп алыңыз.

STM32 микробағдарламасы бар қалта - бұл негізгі процессордың жұмысына қажетті барлық іске қосу мен негізгі файлдарды сақтайтын папка. Біз HAL асып кеткен стандартты перифериялық кітапхананы қолданатын боламыз. Маған StPeriphLibrary ұнайды, себебі бұл процессорларда жұмыс істейтін компаниялар оларды қолданады, себебі ол берік, ескірген және қолдау көрсетеді. Ол сондай -ақ берік. Бұл перифериялық құрылғыны инициализациялау немесе жарық диодты қосу үшін қажет жұмысты қысқартпайды, бірақ бұл процессорлардың қалай жұмыс істейтінін білуге мәжбүр етеді. Осылайша сіз ішкі жұмыс туралы көбірек біле аласыз, осылайша кез келген тапсырманы бағдарламалауға болады.

Бағдарламалық қамтамасыздандырудың соңғы бөлігі-бұл st-link утилитасы. Ол github -та сақталады және SWD / JTAG бағдарламашысы / отладчик ретінде жұмыс істейтін тақтадағы stlink IC көмегімен құрастырылған екілік файлдарды процессорға беру үшін қолданылады.

Сондай -ақ, мен кейінірек айтатын жоба қалтасын ұсындым, сіз оны жүктей аласыз. Ол бірінші VIDEO1 қалтасында орналасқан.

2 -қадам: Бағдарламалық жасақтаманы орнату

Бағдарламалық қамтамасыз етуді орнату
Бағдарламалық қамтамасыз етуді орнату
Бағдарламалық қамтамасыз етуді орнату
Бағдарламалық қамтамасыз етуді орнату

Барлық файлдарды жүктегеннен кейін мен оларды ортақ қалтаға салуды ұсынамын, себебі олар бір мақсатта қолданылады. Мен барлық қалталарды HOME каталогындағы «Ендірілген» деп аталатын қалтаға қойдым.

Біз ең қарапайым STM32 кітапханаларынан бастаймыз. Сіз жүктеген қалтаны сол жерде қалдыруға болады. Сәйкес файлдардың қай жерде сақталғанын білу үшін, қазып алуды ұмытпаңыз. Сондықтан сіз MakeFile -ді өзгерте және өңдей аласыз, ол сіздің платформаңызбен жұмыс істейді.

Екінші жеңіл - бұл компилятор. Сізге ештеңе істеудің қажеті жоқ, бірақ біз компиляторды жаһандық қол жетімді функцияға айналдырамыз, осылайша сіз компиляторды жолына қарамастан кез келген қалтадан шақыра аласыз. Барлық қадамдарды терминалда немесе гуиде жасауға болады, бірақ мен терминалды қолданғанды ұнатамын, себебі сіз тәжірибе жинақтаған кезде ол тезірек және жеңілдейді, егер сіз одан қорқатын болсаңыз, терминалды көбірек пайдалануға шақырамын. Міне, қадамдар:

  1. Үй қалтаңызға кіріңіз «/home/YOURUSERNAME/» немесе «~/» немесе терминалға cd теріңіз
  2. «.bashrc» файлын теру арқылы ашыңыз: nano.bashrc
  3. файлдың соңына дейін төмен қарай айналдырыңыз және мына жолды қосыңыз: экспорт 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-сілтемені орнату үшін жүктелген мұрағатты ендірілген қалтаға шығарыңыз. Содан кейін мына қадамдарды орындаңыз:

  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 -дан жүктей аласыз, сілтеме осы нұсқаулықтың бірінші сатысында және менің ютубтағы әрбір видеоның астында. Ішінде бос 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 = ~/Embedded/stlink # Бастапқы файлдарды осында қойыңыз (*.c) SRCS = main.c system_stm32f4xx.c # Кітапханалардың бастапқы файлдары #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Қосарлы файлдар бірге жасалады бұл атау (.elf,.bin,.hex) PROJ_NAME = тест # STM32F4 кітапхана кодының каталогын осы жерге қойыңыз, ЖАЗУШЫНЫҢ атын өзіңіздікіне өзгертіңіз 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 -mthumb cortex-m4 -mumbumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # STM кітапханаларынан файлдарды қосу Кітапханалар/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # SRCS += $ (STM_COMMON)/Кітапханалар/CMSIS/ST/STM32F4xx/Бастау файлын қосады. 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) өзі $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash STM32F4 күйдіру: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000

  • Сіз stlink қызметтік қалтасының жолын өзгерту үшін бірінші жолды өңдей аласыз
  • Сіз жолды кітапханалармен және YOURUSERNAME көмегімен қалтаның тағайындалған орнына өзгерте аласыз

    STM_COMMON =/үй/ҚОЛДАНУШЫЛАРЫҢЫЗ/Енгізілген/STM32F4-Discovery_FW_V1.1.0

  • Барлық кітапханалар байланыстырылған бөлімді қараңыз. Бұл сіз қолданатын платформаға байланысты өзгеруі мүмкін, сондықтан файл тармағындағы өзгерістерді тексеріңіз. Белгілі бір файлдардың кез келген жолдарын қамтитын кез келген уақытты, мысалы, іске қосу файлы бар келесі жолды өзгертуге болады.

Makefile ішіндегі барлық нәрсені өңдегеннен кейін, оның жұмыс істейтінін каталогтың ішіндегі терминалды ашып, теру арқылы тексеруге болады: make. Егер ол барлық нәрсені еш қиындықсыз құрастырса, онда сіз орнатыласыз. Олай болмаса, компилятор қателерін қарап, Makefile файлын өңдеңіз.

Сонымен қатар, мен Atom -ды қолданған кезде мен кодтың екі бөлігін қатар қоямын. Әдетте main.c және Makefile сол жақта болады, себебі Makefile файлын бір рет өңдеу керек, ал оң жақта кітапханалар. Сіз суретте әр кітапхана үшін.c және.h файлдары бар қалтаны ашқанымды көре аласыз. Мұның бәрін бейнематериалдардан көруге болады.

4 -қадам: Аяқталды

Аяқталды!
Аяқталды!

Енді сізде Makefile конфигурацияланған және компилятор жұмыс жасаса, сіз бұл қалтаны барлық жобалар үшін үлгі ретінде пайдалана аласыз, сондықтан осы қалтаның көшірмесін сақтағаныңызға көз жеткізіңіз.

Сондай-ақ, сіз st-flash және st-info бағдарламаларын тест тақтасын қосып, терминалға теру арқылы тексере аласыз:

st-info-зонд

Сіз stlink бағдарламалық жасақтамасы танитын платформаны және IC тобын кэш пен басқа заттармен бірге көре аласыз. Сіз тере аласыз:

st-info

барлық қол жетімді параметрлерді көру үшін.

Енді сіз бағдарламалауды бастауға болады. Келесі нұсқаулықта және бейнеде мен сізге GPIO мен сағаттардың негізін көрсетемін. Бұл екеуі де бәрінің негізі, өйткені тақта өзара әрекеттесетін барлық нәрсе GPIO -дан асады және бәрі сағат бойынша жұмыс істейді, сіз бұл процессорларды бағдарламалау үлгісін көресіз.

Осы уақытқа дейін, егер сіз әлі жасамаған болсаңыз, менің нұсқаулықты және менің youtube -тегі бейнеролигімді көргеніңіз үшін рахмет.

Ұсынылған: