Агуулгын хүснэгт:

Линукс дээр STM32 хөгжүүлж эхлээрэй: 4 алхам
Линукс дээр STM32 хөгжүүлж эхлээрэй: 4 алхам

Видео: Линукс дээр STM32 хөгжүүлж эхлээрэй: 4 алхам

Видео: Линукс дээр STM32 хөгжүүлж эхлээрэй: 4 алхам
Видео: 32-битная против 64-битной системы 2024, Долдугаар сарын
Anonim
Image
Image
Танд хэрэгтэй бүх зүйлийг татаж аваарай
Танд хэрэгтэй бүх зүйлийг татаж аваарай

Энэхүү зааварчилгаанд би Линукс дээр STM32 програмыг хөгжүүлж эхлэх нь хичнээн амархан болохыг харуулах болно. Би Linux -ийг 2 жилийн өмнөөс үндсэн машин болгон ашиглаж эхэлсэн бөгөөд түүнийг унагаагүй. Бүх зүйл цонхноос илүү хурдан, илүү сайн ажилладаг. Мэдээжийн хэрэг, энэ нь үе үе тийм ч тохиромжтой биш боловч үүнийг ашиглахын тулд аливаа зүйлийг илүү гүнзгий судлахад хүргэдэг.

Юутай ч энэ зааварчилгааны хүрээнд би энд болон youtube дээр эхлүүлж буй цувралын нэг хэсэг нь үүнийг хэрхэн эхлүүлэх тухай юм. Миний youtube видеог үзэхээ мартуузай, энд би бүгдийг нэг сегмент болгон тайлбарлаж өгсөн бөгөөд та миний хажууд код бичих боломжтой.

Энэ цувралд би зөвхөн notepad, SublimeText эсвэл Atom гэх мэт текст засварлагч ашиглан хэрхэн хөгжих боломжтойг танд харуулах болно, ингэснээр танд хувийн програм хангамж эсвэл IDE хэрэггүй болно. Энэ бол нүцгэн яс бөгөөд энэ нь гайхалтай хялбар юм.

Алхам 1: Танд хэрэгтэй бүх зүйлийг татаж аваарай

Бүх зүйл ажиллахын тулд та гурван хэсгийг татаж авах хэрэгтэй.

  • ARM -д зориулсан GCC хөрвүүлэгч
  • STM32 програм хангамжийн файлууд
  • St-link хэрэгсэл
  • Төслийн жишээ

Компилятор бол манай С кодыг бусад бүх номын сангийн файлуудтай манай stm32 хянагчийн ойлгож чадах машин хэл дээр нэгтгэдэг програм хангамжийн үндсэн хэсэг юм. Энэхүү хөрвүүлэгчийн хамгийн сүүлийн урьдчилан эмхэтгэсэн хувилбарыг татаж авах.

STM32 програм хангамж агуулсан фолдер нь үндсэн процессорыг ажиллуулахад шаардлагатай бүх эхлэл болон үндсэн файлуудыг агуулдаг. Бид HAL -ээс давсан стандарт захын номын санг ашиглах болно. Энэ процессор дээр ажилладаг компаниуд бат бөх, хуучирсан, дэмжигддэг тул тэдгээрийг ашигладаг тул StPeriphLibrary надад илүү таалагддаг. Энэ нь бас илүү бат бөх байдаг. Энэ нь захын төхөөрөмжийг эхлүүлэх эсвэл LED асаахын тулд хийх ёстой ажлыг багасгадаггүй, гэхдээ эдгээр процессорууд хэрхэн ажилладаг талаар сурахад хүргэдэг. Ингэснээр та дотоод ажлын талаар илүү их мэдлэгтэй болж, аливаа ажлыг програмчлах нь утга учиртай болно.

Татаж авах хамгийн сүүлийн програм бол st-link хэрэгсэл юм. Энэ нь github дээр хадгалагддаг бөгөөд SWD / JTAG програмист / дибаг хийгчээр ажилладаг самбар дээрх stlink IC ашиглан хөрвүүлсэн хоёртын файлыг процессор руу шилжүүлэхэд ашигладаг.

Мөн би дараа нь ярих төслийн хавтасыг өгсөн бөгөөд та үүнийг татаж авч болно. Энэ нь анхны VIDEO1 фолдер дотор байна.

Алхам 2: Програм хангамж суулгах

Програм хангамж суулгах
Програм хангамж суулгах
Програм хангамж суулгах
Програм хангамж суулгах

Та бүх файлыг татаж авсны дараа тэдгээрийг нэг хавтсанд байрлуулахыг санал болгож байна, учир нь тэд бүгд ижил зорилгоор ашиглагддаг. Би бүх фолдеруудаа HOME лавлахынхаа "Embedded" нэртэй хавтсанд байрлуулсан.

Бид хамгийн хялбар STM32 номын сангаас эхлэх болно. Татаж авсан фолдерыг тэнд үлдээж болно. Тохирох файлууд хаана хадгалагдаж байгааг олж мэдэхийн тулд сайтар ухаж үзээрэй. Тиймээс та үндсэн MakeFile -ийг өөрчилж, засах боломжтой бөгөөд ингэснээр энэ нь таны платформ дээр ажиллах болно.

Хоёр дахь хамгийн хялбар нь хөрвүүлэгч юм. Та үүнд юу ч хийх шаардлагагүй, гэхдээ бид хөрвүүлэгчийг дэлхийн хэмжээнд хүртээмжтэй функц болгоно, ингэснээр та хөрвүүлэгчийг замаас үл хамааран ямар ч хавтаснаас дуудах боломжтой болно. Бүх алхмуудыг терминал эсвэл gui хэлбэрээр хийж болно, гэхдээ би туршлагатай болохдоо терминал ашиглах дуртай бөгөөд энэ нь илүү хурдан, хялбар болж, хэрэв та айж байвал терминал ашиглахыг зөвлөж байна. Энд алхамууд байна:

  1. "/Home/YOURUSERNAME/" эсвэл "~/" гэсэн гэрийн фолдер руугаа ороод терминал руу cd бичнэ үү.
  2. nano.bashrc гэж бичээд ".bashrc" файлыг нээнэ үү
  3. Файлын төгсгөл хүртэл доош гүйлгээд энэ мөрийг нэмнэ үү: PATH = $ PATH экспортлох: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. хадгалах замаар гарах: CTRL+X, Y, ENTER дарна уу
  5. run command: source.bashrc нь терминалын эх сурвалжийг шинэчлэх
  6. бүх зүйл ажиллаж байгаа эсэхийг шалгаарай: arm-none-eabi-gcc --version, энэ нь хөрвүүлэгчийн хамгийн сүүлийн хувилбарыг харуулах ёстой

St-линкийг суулгахын тулд татаж авсан архиваа Embedded фолдерт задална уу. Дараа нь дараах алхмуудыг дагана уу.

  1. Гүйх: хийх
  2. "Build/Release" хавтас руу очно уу: cd build/Release
  3. Ls гэж бичээд "st-flash" ба "st-util" нэртэй хоёр гүйцэтгэх файлыг харах болно.
  4. Тэдгээр хоёрыг stlink толгой директор руу зөөнө үү: mv st-flash st-util../../
  5. Хэрэв та эдгээр хоёр функцийг ашиглахыг хүсч байвал ".bashrc" файлыг дахин нэмж засварлаж болно:

    PATH = $ PATH экспортлох: ~/Embedded/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 = тест # STM32F4 номын сангийн кодын лавлахаа энд оруулаад YOURUSERNAME-ээ өөрчилнө үү 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 += -mlittle -endip -mthumb -mthumb cortex-m4 -mthumb-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)/Libraries/CMSIS/ST/SST32F4px/Stm/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 the STM32F4 burn: proj $ (STLINK)/st -flash write $ (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-шалгалт

Та stlink програм хангамжийг таньдаг платформ, IC гэр бүлийн хамт кэш болон бусад зүйлсийг харах боломжтой. Та бичиж болно:

st-мэдээлэл

боломжтой бүх параметрүүдийг харах.

Одоо та програмчлалыг эхлүүлж болно. Дараагийн зааварчилгаа, видеон дээр би GPIO болон цагны үндсийг харуулах болно. Эдгээр хоёр нь бусад бүх зүйлийн үндэс суурь болдог, учир нь самбартай харьцдаг бүх зүйл GPIO -ээс давсан бөгөөд бүх зүйл цаг дээр ажилладаг бөгөөд та эдгээр процессорыг програмчлах загварыг харах болно.

Тэр болтол миний зааварчилгаа болон youtube -ийн видеог үзэж амжаагүй бол баярлалаа.

Зөвлөмж болгож буй: