Բովանդակություն:
- Քայլ 1: Ներբեռնեք այն ամենը, ինչ ձեզ հարկավոր է
- Քայլ 2: Softwareրագրակազմի տեղադրում
- Քայլ 3. Նախագծային նախագծի ստեղծում
- Քայլ 4: Ավարտվեց:
Video: Սկսեք STM32- ի մշակումը Linux- ում ՝ 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս Instructable- ում ես ձեզ ցույց կտամ, թե որքան հեշտ է սկսել Linux- ում STM32 ծրագրերի մշակումը: Ես սկսել եմ օգտագործել Linux- ը որպես իմ հիմնական մեքենա 2 տարի առաջ և ինձ չեն հուսահատեցրել: Ամեն ինչ ավելի արագ և լավ է աշխատում, քան պատուհանները: Իհարկե, ժամանակ առ ժամանակ ավելի քիչ հարմար է, բայց դա ստիպում է ձեզ ավելի խորը սովորել, որպեսզի կարողանաք օգտագործել այն:
Ինչևէ, այս ուսանելի, մի շարքից, որը ես սկսում եմ այստեղ ԵՎ youtube- ում, այն է, թե ինչպես սկսել այն: Խնդրում եմ անպայման դիտեք նաև իմ youtube տեսանյութը, որտեղ ես ամեն ինչ բացատրում եմ որպես մեկ հատված և կարող եք կոդավորել կողքիս:
Այս շարքում ես ձեզ ցույց կտամ, թե ինչպես կարող եք զարգանալ ՝ օգտագործելով միայն տեքստային խմբագիր, ինչպիսին են նոթատետրը, SublimeText- ը կամ Atom- ը, այնպես որ ձեզ հարկավոր չեն որևէ գույքային ծրագրակազմ կամ IDE: Սա այնքան մերկ ոսկորներ է, որքան որ ստանում է և զարմանալիորեն հեշտ է:
Քայլ 1: Ներբեռնեք այն ամենը, ինչ ձեզ հարկավոր է
Ամեն ինչ աշխատելու համար անհրաժեշտ է ներբեռնել երեք մաս.
- GCC- ի կազմող ARM- ի համար
- STM32 որոնվածի ֆայլեր
- St-link օգտակար
- Նմուշի նախագիծ
Կոմպիլյատորը ծրագրաշարի հիմնական մասն է, որը կազմում է մեր C կոդը գրադարանի բոլոր այլ ֆայլերի հետ մեքենայական լեզվով, որը մեր stm32 վերահսկիչը կարող է հասկանալ: Ներբեռնեք այս կազմողի վերջին նախապես կազմված տարբերակը:
Թղթապանակը, որը պարունակում է STM32 որոնվածը, այն է, որը պահում է հիմնական պրոցեսորի աշխատանքի համար անհրաժեշտ բոլոր գործարկման և հիմնական ֆայլերը: Մենք կօգտագործենք Ստանդարտ ծայրամասային գրադարանը, որը գերազանցել է HAL- ը: Ինձ ավելի շատ դուր է գալիս StPeriphLibrary- ը, քանի որ այս պրոցեսորների վրա աշխատող ընկերությունները օգտագործում են դրանք, քանի որ այն ամուր է և հին և աջակցվող: Այն նաև ավելի կոպիտ է: Այն չի կրճատում աշխատանքը, որը դուք պետք է կատարեք ՝ ծայրամասային սարքը նախնական պատրաստելու կամ LED- ն միացնելու համար, այլ դա ձեզ ստիպում է սովորել, թե ինչպես են աշխատում այս պրոցեսորները: Դրանով դուք ավելի շատ գիտելիքներ ունեք ներքին աշխատանքի մասին, դրանով իսկ իմաստավորելով ծրագրել ցանկացած խնդիր:
Վերջին ծրագրաշարը, որը կարելի է ներբեռնել, st-link կոմունալ ծառայությունն է: Այն պահպանվում է github- ում և օգտագործվում է կազմված երկուական ֆայլերը պրոցեսորին փոխանցելու համար `օգտագործելով տախտակի վրա գտնվող stlink IC- ն, որը ծառայում է որպես SWD / JTAG ծրագրավորող / վրիպազերծիչ:
Նաև ես տրամադրել եմ ծրագրի թղթապանակի օրինակ, որի մասին ես կխոսեմ ավելի ուշ, և դուք կարող եք ներբեռնել այն: Այն գտնվում է առաջին VIDEO1 պանակի ներսում:
Քայլ 2: Softwareրագրակազմի տեղադրում
Բոլոր ֆայլերը ներբեռնելուց հետո առաջարկում եմ դրանք տեղադրել ընդհանուր թղթապանակի ներսում, քանի որ դրանք բոլորը միասին օգտագործվում են նույն նպատակով: Ես բոլոր թղթապանակները դնում եմ մի պանակի մեջ, որը կոչվում է «Ներկառուցված» իմ HOME գրացուցակում:
Մենք կսկսենք ամենադյուրին ՝ STM32 գրադարաններով: Ձեր ներբեռնած թղթապանակը կարող է հենց այնտեղ մնալ: Պարզապես համոզվեք, որ քանդեք ՝ տեսնելու, թե որտեղ են պահվում համապատասխան ֆայլերը: Հետևաբար, կարող եք փոխել և խմբագրել հիմնական MakeFile- ը, որպեսզի այն աշխատի ձեր հարթակի հետ:
Երկրորդ ամենահեշտը կազմողն է: Դուք նույնպես կարիք չունեք որևէ բան անելու դրան, բայց մենք կազմողին կդարձնենք գլոբալ հասանելի գործառույթ, որպեսզի կարողանաք կազմողին զանգահարել ցանկացած թղթապանակից ՝ անկախ ճանապարհից: Բոլոր քայլերը կարող են կատարվել տերմինալում կամ gui- ում, բայց ես սիրում եմ օգտագործել տերմինալը, քանի որ երբ փորձ ես ունենում, այն ավելի արագ և հեշտ է դառնում, և ես խրախուսում եմ քեզ օգտագործել ավելի շատ տերմինալ, եթե վախենում ես դրանից: Ահա քայլերը.
- Մտեք ձեր տան թղթապանակ "/home/YOURUSERNAME/" կամ "~/" կամ տերմինալում մուտքագրեք cd
- բացեք «.bashrc» ֆայլը ՝ մուտքագրելով ՝ nano.bashrc
- ոլորեք ներքև մինչև ֆայլի վերջը և ավելացրեք այս տողը.
- դուրս գալ ՝ պահպանելով ՝ CTRL+X, կտտացրեք Y, ENTER
- գործարկել հրամանը. source.bashrc ՝ տերմինալային աղբյուրները թարմացնելու համար
- ստուգեք, արդյոք ամեն ինչ աշխատում է ՝ մուտքագրելով ՝ arm-none-eabi-gcc-տարբերակ, այն պետք է ցուցադրի կոմպիլյատորի վերջին տարբերակը
St-link- ը տեղադրելու համար հանեք ձեր ներբեռնած արխիվը Ներդրված թղթապանակում: Հետո հետևեք այս քայլերին.
- Վազել: պատրաստել
- Մտեք «build/Release» թղթապանակը ՝ cd build/Release
- Մուտքագրեք ls և կտեսնեք երկու գործարկվող ՝ «st-flash» և «st-util» անուններով
- Այդ երկուսը տեղափոխեք մայր գրացուցակի stlink: mv st-flash st-util../../
-
Եթե ցանկանում եք օգտագործել այս երկու գործառույթները գլոբալ մակարդակում, կրկին խմբագրեք «.bashrc» ֆայլը ՝ ավելացնելով.
արտահանման ուղի = $ PATH: ~/Ներկառուցված/թեքված/
Վերջ! Դուք ունեք այն ամենը, ինչ ձեզ հարկավոր է: Այժմ գնացեք ձեր նախընտրած տեքստի խմբագրիչը: Օգտագործեք պարզապես ստանդարտ մեկը, ավելի խելացի, ինչպիսին է SublimeText- ը կամ Atom- ը, դա այն է, ինչ ես օգտագործում եմ:
Քայլ 3. Նախագծային նախագծի ստեղծում
Այժմ մենք կստեղծենք նախագծի օրինակ, որը կարող եք օգտագործել յուրաքանչյուր նախագիծ սկսելու համար: Այն նման է ձևանմուշի, որի բոլոր հիմնական պարամետրերն արդեն մշակված են:
Դուք կարող եք ներբեռնել այն իմ MEGA- ից, հղումը գտնվում է այս ուսանելի և իմ յուրաքանչյուր youtube տեսանյութի առաջին քայլին: Ներսում կա դատարկ main.c ֆայլը, ինչպես նաև այս պրոցեսորի և Makefile- ի գործարկման որոշ ֆայլեր: Makefile- ն այն է, որը C- ին կազմողին ասում է, թե որտեղից գտնել arm compiler- ը, ինչպես կազմել և որտեղ են բոլոր գրադարանները: Ձեր ծրագրի համար այս համապատասխան ֆայլերը ստանալու համար կարող եք մտնել STM32 գրադարանի թղթապանակ և ստուգել «նախագիծ» կամ «օրինակ» պանակներ: Ներսում դուք կտեսնեք և պատճենեք այս ֆայլերը. Main.c, Makefile և XXX_conf.h, system_XXX.c
"/FLASH_Program/TrueSTUDIO/FLASH_Program/", որը գտնվում է օրինակ թղթապանակի ներսում կամ պարզապես որոնել ֆայլը:
Makefile- ը կարելի է գտնել առցանց կամ պատճենել իմ թղթապանակից, բայց ձեզ հարկավոր է մի քանի բան փոխել: Եկեք հեքիաթ նայենք իմ պատրաստման ֆայլին և այն, ինչ կարող եք փոխել:
# Folderանապարհ դեպի ապակողպման պանակ ՝ կոդը տախտակ վերբեռնելու համար
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 # Compiler flags CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mumb -mian -p = ծառի կեղեվ-m4 -mthumb-interwork CFLAGS += -mfloat-abi = կոշտ -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/STM32p4mxxx/սկզբնաղբյուր/սկզբնաղբյուր/սկզբնական 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). Խառնված մաքուր ՝ rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME). Hex $ (PROJ_NAME).bin # Flash # STM32F4 այրումը ՝ proj $ (STLINK)/st -flash գրել $ (PROJ_NAME).bin 0x80000000
- Դուք կարող եք խմբագրել առաջին տողը ՝ դեպի ձեր stlink օգտակար պանակի ուղին փոխելու համար
-
Գրադարաններով և YOURUSERNAME- ով կարող եք փոխել ձեր թղթապանակի նպատակակետը
STM_COMMON =/տուն/YOURUSERNAME/Ներկառուցված/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 տեսանյութը, եթե դեռ դա չեք արել:
Խորհուրդ ենք տալիս:
Սկսեք ծրագիր ավտոմատ կերպով ՝ նոութբուքը նավահանգստի վրա միացնելիս ՝ 5 քայլ
Startրագիրը ավտոմատ կերպով գործարկեք, երբ նոութբուքը միացնեք կայանի վրա
VBScript- ի հիմունքներ. Սկսեք ձեր սցենարները, ուշացումները և ավելին: 5 քայլ
VBScript- ի հիմունքներ. Սկսեք ձեր սցենարները, ուշացումները և ավելին: Բարի գալուստ իմ առաջին ձեռնարկը, թե ինչպես պատրաստել VBScript- ները նոթատետրով: With.vbs ֆայլերով կարող եք ստեղծել զվարճալի կատակներ կամ մահացու վիրուսներ: Այս ձեռնարկում ես ձեզ ցույց կտամ հիմնական հրամաններ, ինչպիսիք են ձեր սցենարը սկսելը, ֆայլերը բացելը և շատ ավելին: Ժամը
Սկսեք աշխատել Arduino Nano- ով. 5 քայլ
Սկսեք աշխատել Arduino Nano- ով. Arduino Nano- ն Arduino տախտակի հասանելի մոդելներից մեկն է: Ունի փոքր չափսեր, ամբողջական հատկություն և օգտագործման համար դյուրին: Ունեք 1.70 դյույմ x 0.7 դյույմ չափս, Arduino nano- ն ունի ամբողջական գործառույթ, օրինակ ՝ Atmel ATmega 328 IC, Restar կոճակ, 4 ցուցիչ LED, 3V3 Re
Ինչպես տեղադրել Linux (Սկսնակները սկսեք այստեղ): 6 քայլ
Ինչպե՞ս տեղադրել Linux (սկսնակները սկսեք այստեղից). Ի՞նչ է իրականում Linux- ը: Դե, սիրելի ընթերցող, Linux- ը դարպաս է դեպի նոր հնարավորությունների աշխարհ: Անցել են այն ժամանակները, երբ OSX- ը հաճույք էր ստանում համակարգիչ ունենալուց: Windows 10 -ի անվտանգության հիմար նշումները հեռացել են: Այժմ, ձեր հերթն է
Սկսեք Python- ով. 7 քայլ (նկարներով)
Սկսեք Python- ով. Mingրագրավորումը հիանալի է: Այն ստեղծագործական է, զվարճալի է և ձեր ուղեղին տալիս է մտավոր մարզում: Մեզանից շատերը ցանկանում են սովորել ծրագրավորման մասին, բայց մեզ համոզում են, որ չենք կարող: Միգուցե այն չափազանց շատ մաթեմատիկա ունի, գուցե այն ժարգոնը, որը շուրջը նետված է, վախեցնում է