Talaan ng mga Nilalaman:

Simulang Bumuo ng STM32 sa Linux: 4 na Hakbang
Simulang Bumuo ng STM32 sa Linux: 4 na Hakbang

Video: Simulang Bumuo ng STM32 sa Linux: 4 na Hakbang

Video: Simulang Bumuo ng STM32 sa Linux: 4 na Hakbang
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Hulyo
Anonim
Image
Image
I-download ang Lahat ng Kailangan Mo
I-download ang Lahat ng Kailangan Mo

Sa Instructable na ito, ipapakita ko sa iyo kung gaano kadali magsimula sa pagbuo ng mga programa ng STM32 sa Linux. Sinimulan kong gamitin ang Linux bilang aking pangunahing makina 2 taon na ang nakakalipas at hindi ako pinabayaan. Ang lahat ay gumagana nang mas mabilis at mas mahusay kaysa sa mga bintana. Siyempre ay hindi gaanong maginhawa paminsan-minsan, ngunit pinipilit ka nitong malaman ang mga bagay nang mas malalim upang magamit mo ito.

Gayunpaman, sa itinuturo na ito, bahagi ng isang serye na nagsisimula ako dito AT sa youtube ay tungkol sa kung paano ito sisisimulan. Mangyaring tiyakin na panoorin din ang aking video sa youtube kung saan ipinapaliwanag ko ang lahat bilang isang segment at maaari kang mag-code sa tabi ko.

Sa seryeng ito ipapakita ko sa iyo kung paano ka makakabuo gamit lamang ang isang text editor tulad ng notepad, SublimeText o Atom, kaya't hindi mo kailangan ng anumang pagmamay-ari na software o IDE. Ito ay tulad ng mga hubad na buto habang nakukuha at nakakagulat na madali ito.

Hakbang 1: I-download ang Lahat ng Kailangan Mo

Kailangan mong mag-download ng tatlong bahagi upang gumana ang lahat:

  • Tagatala ng GCC para sa ARM
  • Mga file ng firmware ng STM32
  • Utility na St-link
  • Sample na Proyekto

Ang tagatala ay ang pangunahing piraso ng software na nag-iipon ng aming C code sa lahat ng iba pang mga file ng library sa wika ng makina na maaaring maunawaan ng aming stm32 controller. I-download ang pinakabagong pre-compiled na bersyon ng tagatala na ito.

Ang folder na naglalaman ng STM32 firmware ay ang isa na humahawak sa lahat ng pagsisimula at pangunahing mga file na kinakailangan para sa pagpapatakbo ng pangunahing processor. Gumagamit kami ng Standard Peripheral Library na nalampasan ng HAL. Mas gusto ko ang StPeriphLibrary habang ginagamit ng mga kumpanya na gumagana sa mga prosesor na ito dahil matatag ito at mas matanda at sinusuportahan. Mas masungit din ito. Hindi nito pinuputol ang gawaing kailangan mong gawin upang mapasimulan ang isang paligid o i-on ang isang LED ngunit, kaya pinipilit ka nitong malaman kung paano gumagana ang mga prosesor na ito. Sa na mayroon kang higit na kaalaman sa panloob na workings kaya may katuturan ng programa ng anumang gawain.

Ang huling piraso ng software na mai-download ay st-link utility. Ito ay pinapanatili sa github at ginagamit upang ilipat ang pinagsamang mga binary file sa processor gamit ang stlink IC sa board na nagsisilbing isang SWD / JTAG programmer / debugger.

Nagbigay din ako ng isang sample na folder ng proyekto na pinag-uusapan ko sa paglaon at maaari mo itong i-download. Nasa loob ito ng unang folder na VIDEO1.

Hakbang 2: Pag-install ng Software

Pag-install ng Software
Pag-install ng Software
Pag-install ng Software
Pag-install ng Software

Matapos mong ma-download ang lahat ng mga file iminumungkahi ko na ilagay mo sila sa loob ng isang karaniwang folder dahil lahat sila ay ginagamit nang magkasama para sa parehong layunin. Inilagay ko ang lahat ng mga folder sa loob ng isang folder na tinatawag na "Naka-embed" sa aking direktoryo sa HOME.

Magsisimula kami sa pinakamadali, ang mga aklatan ng STM32. Ang folder na iyong na-download ay maiiwan lamang doon. Siguraduhin lamang na maghukay sa paligid upang makita kung saan nakaimbak ang mga naaangkop na file. Samakatuwid maaari mong baguhin at i-edit ang pangunahing MakeFile upang ito ay gagana sa iyong platform.

Pangalawa sa pinakamadali ay ang tagatala. Hindi mo rin kailangang gumawa ng anuman dito, ngunit gagawin namin ang tagatala ng isang pandaigdigang pag-access na function upang maaari mong tawagan ang tagatala mula sa anumang folder anuman ang landas. Ang lahat ng mga hakbang ay maaaring gawin sa terminal o sa gui, ngunit nais kong gumamit ng terminal na kapag naranasan mong mas mabilis at madali ito at hinihikayat ko kang gumamit ng terminal nang higit pa, kung natatakot ka dito. Narito ang mga hakbang:

  1. Pumunta sa iyong home folder na "/ home / HISUSERNAME /" o "~ /" o i-type ang cd sa terminal
  2. buksan ang file na ".bashrc" sa pamamagitan ng pagta-type: nano.bashrc
  3. mag-scroll pababa sa dulo ng file at idagdag ang linyang ito: export PATH = $ PATH: ~ / Embedded / gcc-arm-none-eabi-8-2018-q4 / bin
  4. exit sa pamamagitan ng pag-save: CTRL + X, i-click ang Y, ENTER
  5. patakbuhin ang utos: pinagmulan.bashrc upang i-refresh ang mga mapagkukunan ng terminal
  6. suriin kung ang lahat ay gumagana sa pamamagitan ng pagta-type: arm-none-eabi-gcc --versi, dapat itong ipakita ang pinakabagong bersyon ng tagatala

Upang mag-install ng st-link, kunin ang archive na iyong na-download sa naka-embed na folder. Sundin ang mga hakbang na ito:

  1. Patakbuhin: gumawa
  2. Pumunta sa folder na "build / Release": cd build / Release
  3. I-type ang ls at makikita mo ang dalawang maipapatupad na tinatawag na "st-flash" at "st-util"
  4. Ilipat ang dalawang iyon sa stlink ng direktoryo ng magulang: mv st-flash st-util../../
  5. Maaari mong, kung nais mong gamitin ang dalawang pag-andar na ito sa pandaigdigang pag-edit ng ".bashrc" file muli sa pamamagitan ng pagdaragdag:

    i-export ang PATH = $ PATH: ~ / Naka-embed / stlink /

Yun lang! Nasa iyo ang lahat ng kailangan mo. Ngayon ay kunin mo ang iyong sarili sa iyong paboritong text editor. Gumamit lamang ng isang pamantayan, isang mas matalinong tulad ng SublimeText o Atom, ito ang ginagamit ko.

Hakbang 3: Pagse-set up ng isang Sample na Proyekto

Pagse-set up ng isang Sample na Proyekto
Pagse-set up ng isang Sample na Proyekto

Lilikha kami ngayon ng isang sample na proyekto na maaari mong gamitin upang simulan ang bawat proyekto. Ito ay tulad ng isang template na ang lahat ng pangunahing setting ay pinangasiwaan.

Maaari mong i-download ito sa aking MEGA, ang link ay nasa unang hakbang ng pagtuturo na ito at sa ilalim ng bawat youtube video ko. Nasa loob ang walang laman na main.c file kasama ang ilang mga startup file para sa processor na ito at sa Makefile. Ang Makefile ay ang isa na nagsasabi sa C compiler kung saan mahahanap ang tagatala ng braso, kung paano sumulat at saan ang lahat ng mga aklatan. Upang makuha ang mga naaangkop na mga file para sa iyong proyekto, maaari kang pumunta sa folder ng library ng STM32 at suriin para sa isang "proyekto" o "mga halimbawa" na folder. Sa loob makikita mo at kopyahin ang mga file na ito: main.c, Makefile at XXX_conf.h, system_XXX.c. Gayundin kakailanganin mo ang stm32_flash.ld file ng linker na matatagpuan sa folder:

"/ FLASH_Program / TrueSTUDIO / FLASH_Program /" na nasa loob ng halimbawang folder o hanapin lamang ang file.

Ang Makefile ay matatagpuan sa online o makopya mula sa aking folder, ngunit kakailanganin mong baguhin ang ilang mga bagay. Pag-usapan natin ang aking file sa paggawa at kung ano ang maaari mong baguhin.

# Path sa stlink folder para sa pag-upload ng code sa board

STLINK = ~ / Embedded / stlink # Ilagay ang iyong mga pinagmulang file dito (*.c) SRCS = main.c system_stm32f4xx.c # Mga mapagkukunan ng file ng library #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # Binary ay mabubuo kasama ng ang pangalang ito (.elf,.bin,.hex) PROJ_NAME = test # Ilagay ang direktoryo ng code ng library ng STM32F4 dito, baguhin ang IYONGUSERNAME sa iyo STM_COMMON = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # Mga setting ng tagatala. I-edit lamang ang CFLAGS upang maisama ang iba pang mga file ng header. CC = arm-none-eabi-gcc OBJCOPY = arm-none-eabi-objcopy # Compiler flags CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS + = -DUSE_STDPERIPH_DRIVER CFLAGS + = -mlittle-endian -mthumb -mcpu = cortex-m4 -mthumb-interwork CFLAGS + = -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS + = -ako. # Isama ang mga file mula sa mga aklatan ng STM CFLAGS + = -ako $ (STM_COMMON) / Mga Aklatan / CMSIS / Isama ang CFLAGS + = -ako $ (STM_COMMON) / Mga Aklatan / CMSIS / ST / STM32F4xx / Isama ang CFLAGS + = -ako $ (STM_COMMON) / Mga Aklatan / STM32F4xx_StdPeriph_Driver / inc CFLAGS + = -ako $ (STM_COMMON) / Mga Utility / STM32F4-Discovery # magdagdag ng startup file upang mabuo ang SRCS + = $ (STM_COMMON) / Mga Aklatan / CMSIS / ST / STM32F4xx / Source / Template4xxxxxx. s OBJS = $ (SRCS:.c =.o) vpath%.c $ (STM_COMMON) / Library / 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 binary $ (PROJ_NAME).elf $ (PROJ_NAME).bin malinis: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash ang STM32F4 burn: proj $ (STLINK) / st-flash isulat ang $ (PROJ_NAME).bin 0x80000000

  • Maaari mong i-edit ang unang linya upang baguhin ang path sa iyong folder ng utility na stlink
  • Maaari mong baguhin ang linya sa patutunguhan ng iyong folder gamit ang mga aklatan at IYONGUSERNAME

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

  • Suriin din ang seksyon kung saan naka-link ang lahat ng mga aklatan. Maaari itong baguhin depende sa platform na iyong ginagamit kaya mangyaring suriin ang mga pagbabago sa puno ng file. Ang everithing pa na nagsasama ng anumang mga landas sa ilang mga file, tulad ng sa susunod na linya na may startup file ay maaaring mabago.

Matapos mong mai-edit ang lahat ng mga bagay na ito sa loob ng Makefile maaari mong suriin kung gumagana ito sa pamamagitan ng pagbubukas ng isang terminal sa loob ng iyong direktoryo at pagta-type: make. Kung pinagsasama nito ang bawat bagay na walang problema, ikaw ay nakatakda. Kung hindi, tingnan ang mga error ng tagatala at i-edit ang Makefile.

Gayundin, kapag gumagamit ako ng Atom, naglalagay ako ng dalawang piraso ng code sa tabi-tabi. Karaniwan main.c at Makefile sa kaliwa dahil kailangan mo lamang i-edit ang Makefile nang isang beses at ang mga aklatan sa kanan. Maaari mong makita sa larawan na binuksan ko ang folder na naglalaman ng.c at.h file para sa bawat library. Maaari mong makita ang lahat ng ito sa mga video.

Hakbang 4: Tapos na

Tapos na!
Tapos na!

Ngayon na naka-configure mo ang Makefile at gumagana ang tagatala, maaari mong gamitin ang folder na ito para sa lahat ng mga proyekto bilang isang template, kaya tiyaking nagse-save ka ng isang kopya ng folder na ito.

Maaari mo ring subukan ang mga programa ng st-flash at st-info sa pamamagitan ng pag-plug sa iyong development board at pag-type sa terminal:

st-info --probe

Maaari mong makita ang platform na kinikilala ng stlink software at ang pamilyang IC kasama ang cache at iba pang mga bagay. Maaari kang mag-type sa:

st-info

upang makita ang lahat ng magagamit na mga parameter.

Ngayon ay maaari mo nang simulan ang pag-program. Sa susunod na maituturo at video, ipapakita ko sa iyo ang mga pangunahing kaalaman ng GPIO at mga orasan. Ang dalawang ito ay ang mga pangunahing kaalaman para sa lahat ng iba pa dahil halos lahat ng bagay na nakikipag-ugnay sa board ay higit sa GPIO at lahat ay gumagana sa orasan at makikita mo ang pattern sa pag-program ng mga prosesor na ito.

Hanggang sa oras na iyon, salamat sa pag-check sa aking itinuro at sa aking video sa youtube, kung hindi mo pa nagagawa.

Inirerekumendang: