Orodha ya maudhui:

Anza Kutengeneza STM32 kwenye Linux: Hatua 4
Anza Kutengeneza STM32 kwenye Linux: Hatua 4

Video: Anza Kutengeneza STM32 kwenye Linux: Hatua 4

Video: Anza Kutengeneza STM32 kwenye Linux: Hatua 4
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Novemba
Anonim
Image
Image
Pakua Kila kitu Unachohitaji
Pakua Kila kitu Unachohitaji

Katika hii Inayoweza kufundishwa, nitakuonyesha jinsi ilivyo rahisi kuanza kuunda programu za STM32 kwenye Linux. Nilianza kutumia Linux kama mashine yangu kuu miaka 2 iliyopita na sijashushwa. Kila kitu hufanya kazi haraka na bora kuliko windows. Kwa kweli haifai sana mara kwa mara, lakini inakulazimisha kujifunza vitu kwa undani zaidi ili uweze kuitumia.

Kwa hivyo, katika hii inayoweza kufundishwa, sehemu ya safu ambayo ninaanza hapa NA kwenye youtube ni juu ya jinsi ya kuanza. Tafadhali hakikisha kutazama video yangu ya youtube pia ambapo ninaelezea kila kitu kama sehemu moja na unaweza kunukuu kando yangu.

Katika safu hii nitakuonyesha jinsi unaweza kukuza ukitumia tu mhariri wa maandishi kama notepad, SublimeText au Atom, kwa hivyo hauitaji programu yoyote ya wamiliki au IDE. Hii ni kama mifupa wazi kama inavyopatikana na ni rahisi kushangaza.

Hatua ya 1: Pakua kila kitu unachohitaji

Unahitaji kupakua sehemu tatu kwa kila kitu kufanya kazi:

  • Mkusanyaji wa GCC kwa ARM
  • Faili za firmware za STM32
  • Huduma ya kiunga cha St-link
  • Mfano wa Mradi

Mkusanyaji ni kipande kikuu cha programu ambayo inakusanya nambari yetu ya C na faili zingine zote za maktaba kwa lugha ya mashine ambayo mtawala wetu wa stm32 anaweza kuelewa. Pakua toleo la hivi karibuni la mkusanyiko huu.

Folda iliyo na firmware ya STM32 ndio inashikilia faili zote za kuanza na msingi zinahitajika kwa operesheni ya processor kuu. Tutatumia Maktaba ya kawaida ya Pembeni ambayo imepitishwa na HAL. Ninapenda StPeriphLibrary zaidi kama kampuni zinazofanya kazi kwa wasindikaji hawa huzitumia kwa sababu ina nguvu na ni ya zamani na inasaidia. Pia ni ngumu zaidi. Haikata kazi ambayo unapaswa kufanya ili kuanzisha pembeni au kuwasha LED lakini, kwa hivyo inakulazimisha kujifunza jinsi wasindikaji hawa wanavyofanya kazi. Pamoja na hayo una maarifa zaidi ya kufanya kazi kwa ndani na hivyo kuwa na maana ya kupanga kazi yoyote.

Kipande cha mwisho cha programu ya kupakua ni huduma ya kiunga-st. Inatunzwa kwenye github na inatumiwa kuhamisha faili zilizokusanywa za binary kwa processor kutumia stlink IC kwenye bodi inayotumika kama programu ya SWD / JTAG / debugger.

Pia nimetoa folda ya mradi ambayo nitaizungumzia baadaye na unaweza kuipakua. Iko ndani ya folda ya kwanza VIDEO1.

Hatua ya 2: Kufunga Programu

Kufunga Programu
Kufunga Programu
Kufunga Programu
Kufunga Programu

Baada ya kupakua faili zote ninapendekeza uweke ndani ya folda ya kawaida kwani zote hutumiwa pamoja kwa kusudi moja. Ninaweka folda zote ndani ya folda inayoitwa "Iliyoingia" kwenye saraka yangu ya HOME.

Tutaanza na rahisi zaidi, maktaba ya STM32. Folda ambayo umepakua inaweza kushoto tu hapo. Hakikisha tu kuchimba kuzunguka ili kuona ni wapi faili zinazofaa zinahifadhiwa. Kwa hivyo unaweza kubadilisha na kuhariri MakeFile kuu kwa hivyo itafanya kazi na jukwaa lako.

Ya pili rahisi ni mkusanyaji. Pia hauitaji kuifanya, lakini tutafanya mkusanyaji kuwa kazi inayopatikana ulimwenguni ili uweze kumpigia mkusanyaji kutoka kwa folda yoyote bila kujali njia. Hatua zote zinaweza kufanywa katika terminal au kwa gui, lakini napenda kutumia terminal kwani ukipata uzoefu inakua haraka na rahisi na ninakuhimiza utumie terminal zaidi, ikiwa unaiogopa. Hapa kuna hatua:

  1. Nenda kwenye folda yako ya nyumbani "/ home / YOURUSERNAME /" au "~ /" au andika cd kwenye terminal
  2. fungua faili ".bashrc" kwa kuandika: nano.bashrc
  3. songa chini hadi mwisho wa faili na ongeza laini hii: usafirishaji PATH = $ PATH: ~ / Iliyoingia / gcc-mkono-hakuna-eabi-8-2018-q4 / bin
  4. toka kwa kuokoa: CTRL + X, bonyeza Y, ENTER
  5. run command: source.bashrc ili kuonyesha upya vyanzo vya terminal
  6. angalia ikiwa kila kitu kinafanya kazi kwa kuandika: arm-none-eabi-gcc --version, inapaswa kuonyesha toleo la hivi karibuni la mkusanyaji

Ili kusanikisha kiunga-st, toa kumbukumbu ambayo umepakua kwenye folda Iliyoingizwa. Kisha fuata hatua hizi:

  1. Run: fanya
  2. Nenda kwenye folda "jenga / Toa": cd build / Release
  3. Andika ls na utaona utekelezaji mbili zinazoitwa "st-flash" na "st-util"
  4. Hamisha hizo mbili kwenye saraka ya mzazi stlink: mv st-flash st-util../../
  5. Unaweza, ikiwa ungependa kutumia kazi hizi mbili ulimwenguni kuhariri ".bashrc" faili tena kwa kuongeza:

    Njia ya kuuza nje = $ PATH: ~ / Embedded / stlink /

Ni hayo tu! Una kila kitu unachohitaji. Sasa nenda ujinyakulishe mhariri wa maandishi unayopenda. Tumia moja tu ya kawaida, nadhifu kama SublimeText au Atom, ndio ninayotumia.

Hatua ya 3: Kuanzisha Mradi wa Mfano

Kuanzisha Mradi wa Sampuli
Kuanzisha Mradi wa Sampuli

Sasa tutaunda mradi wa mfano ambao unaweza kutumia kuanza kila mradi. Ni kama templeti iliyo na mipangilio yote kuu tayari imeshughulikiwa.

Unaweza kuipakua kwenye MEGA yangu, kiunga kiko kwenye hatua ya kwanza ya hii inayoweza kufundishwa na chini ya kila video yangu ya youtube. Ndani ni faili tupu ya main.c pamoja na faili zingine za kuanza kwa processor hii na Faili ya Makefile. Makefile ndio inayomwambia mkusanyaji wa C mahali pa kupata mkusanyaji mkono, jinsi ya kukusanya na maktaba zote ziko wapi. Ili kupata faili hizi zinazofaa kwa mradi wako, unaweza kwenda kwenye folda ya maktaba ya STM32 na uangalie folda za "mradi" au "mifano". Ndani utaona na kunakili faili hizi:

"/ FLASH_Program / TrueSTUDIO / FLASH_Program /" ambayo iko ndani ya folda ya mfano au tafuta faili.

Faili ya kutengeneza inaweza kupatikana mkondoni au kunakiliwa kutoka kwa folda yangu, lakini utahitaji kubadilisha vitu vichache. Wacha tuangalie faili yangu ya kutengeneza na nini unaweza kubadilisha.

Njia ya kunyoosha folda ya kupakia nambari kwenye bodi

STLINK = ~ / Iliyoingizwa / stlink # Weka faili zako za chanzo hapa (*.c) SRCS = main.c system_stm32f4xx.c # Maktaba faili za chanzo #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # Binaries zitatengenezwa na jina hili (.elf,.bin,.hex) PROJ_NAME = mtihani # Weka saraka yako ya nambari ya maktaba ya STM32F4 hapa, badilisha YOURUSERNAME iwe yako STM_COMMON = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # Mipangilio ya mkusanyaji. Hariri tu CFLAGS kujumuisha faili zingine za kichwa. CC = mkono-hakuna-eabi-gcc OBJCOPY = mkono-hakuna-eabi-objcopy # Bendera za mkusanyaji CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS + = -DUSE_STDPERIPH_DRIVER CFLAGS + = -mlittle-endian -mthumb -mcpu = gamba-m4 -mthumb-mwingiliano CFLAGS + = -mfloat-abi = ngumu -mfpu = fpv4-sp-d16 CFLAGS + = -I. # Jumuisha faili kutoka maktaba za STM CFLAGS + = -I $ (STM_COMMON) / Maktaba / CMSIS / Jumuisha CFLAGS + = -I $ (STM_COMMON) / Maktaba / CMSIS / ST / STM32F4xx / Jumuisha CFLAGS + = -I $ (STM_COMMON) / Maktaba / STM32F4xx_StdPeriph_Driver / Inc. s OBJS = $ (SRCS:.c =.o) vpath%.c $ (STM_COMMON) / Maktaba / STM32F4xx_StdPeriph_Driver / src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME). mwenyewe: $ (SRCS) $ (CC) $ (CFLAGS) $ ^ -o $ @ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME). Hex $ (OBJCOPY) -O binary $ (PROJ_NAME). Mwenyewe $ (PROJ_NAME).bin safi: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash the STM32F4 burn: proj $ (STLINK) / st-flash andika $ (PROJ_NAME).bin 0x80000000

  • Unaweza kuhariri laini ya kwanza kubadilisha njia kwenda kwenye folda yako ya matumizi ya stlink
  • Unaweza kubadilisha laini kuelekea marudio ya folda yako na maktaba na YOURUSERNAME

    STM_COMMON = / nyumba / YOURUSERNAME / Iliyoingia / STM32F4-Discovery_FW_V1.1.0

  • Pia angalia sehemu ambayo maktaba zote zimeunganishwa. Hii inaweza kubadilika kulingana na jukwaa ambalo unatumia kwa hivyo tafadhali angalia mabadiliko kwenye mti wa faili. Kutoa zaka tena ambayo inajumuisha njia zozote kwa faili zingine, kama na laini inayofuata na faili ya kuanza inaweza kubadilishwa.

Baada ya kuhariri vitu hivi vyote ndani ya Makefile unaweza kuangalia ikiwa inafanya kazi kwa kufungua kituo ndani ya saraka yako na kuandika: make. Ikiwa inakusanya kila kitu bila shida, basi umewekwa. Ikiwa sivyo, angalia makosa ya mkusanyaji na uhariri faili ya Makefile.

Pia, ninapotumia Atomu, ninaweka vipande viwili vya nambari kando kando. Kawaida main.c na Makefile kushoto kwani unahitaji kuhariri Makefile mara moja na maktaba upande wa kulia. Unaweza kuona kwenye picha kwamba nimefungua folda iliyo na faili za.c na.h kwa kila maktaba. Unaweza kuona haya yote kwenye video.

Hatua ya 4: Imemalizika

Imemalizika!
Imemalizika!

Sasa kwa kuwa una Makefile iliyosanidiwa na kukusanya kazi, unaweza kutumia folda hii kwa miradi yote kama kiolezo, kwa hivyo hakikisha unahifadhi nakala ya folda hii.

Pia unaweza kujaribu programu za st-flash na st-info kwa kuziba bodi yako ya maendeleo na kuandika kwenye terminal:

st-info - uchunguzi

Unaweza kuona jukwaa ambalo programu ya stlink inatambua na familia ya IC pamoja na kashe na vitu vingine. Unaweza kuandika katika:

st-maelezo

kuona vigezo vyote vinavyopatikana.

Sasa unaweza kuanza programu. Katika video inayofuata inayoweza kufundishwa na video, nitakuonyesha misingi ya GPIO na saa. Hizi mbili ndio misingi ya kila kitu kingine kwani karibu kila kitu ambacho bodi inashirikiana nayo imekwisha GPIO na kila kitu hufanya kazi saa na utaona muundo wa kusanidi wasindikaji hawa.

Hadi wakati huo, asante kwa kukagua video yangu inayoweza kufundishwa na video yangu ya youtube, ikiwa haujafanya hivyo bado.

Ilipendekeza: