ዝርዝር ሁኔታ:

በሊኑክስ ላይ STM32 ን ማዳበር ይጀምሩ -4 ደረጃዎች
በሊኑክስ ላይ STM32 ን ማዳበር ይጀምሩ -4 ደረጃዎች

ቪዲዮ: በሊኑክስ ላይ STM32 ን ማዳበር ይጀምሩ -4 ደረጃዎች

ቪዲዮ: በሊኑክስ ላይ STM32 ን ማዳበር ይጀምሩ -4 ደረጃዎች
ቪዲዮ: SKRv2 - How to install firmware on STM32F429 2024, ህዳር
Anonim
Image
Image
የሚፈልጉትን ሁሉ ያውርዱ
የሚፈልጉትን ሁሉ ያውርዱ

በዚህ መመሪያ ውስጥ ፣ በሊኑክስ ላይ የ STM32 ፕሮግራሞችን ማዘጋጀት መጀመር ምን ያህል ቀላል እንደሆነ ላሳይዎት ነው። ሊኑክስን እንደ ዋና ማሽነሬ መጠቀም የጀመርኩት ከ 2 ዓመታት በፊት ነው እና አልተዋረድኩም። ከመስኮቶች ይልቅ ሁሉም ነገር በፍጥነት እና በተሻለ ሁኔታ ይሠራል። በእርግጥ ከጊዜ ወደ ጊዜ ምቹ አይደለም ፣ ግን እሱን እንዲጠቀሙበት ነገሮችን በጥልቀት እንዲማሩ ያስገድድዎታል።

ለማንኛውም በዚህ አስተማሪ ውስጥ እኔ እዚህ እና በዩቲዩብ የምጀምረው ተከታታይ ክፍል እንዴት እንደሚጀመር ነው። እባክዎን የእኔን የዩቲዩብ ቪዲዮ እንዲሁም ሁሉንም ነገር እንደ አንድ ክፍል የምገልጽበትን እና ከጎኔ ሆነው ኮድ ማድረግ የሚችሉበትን ያረጋግጡ።

በዚህ ተከታታይ ውስጥ ምንም የባለቤትነት ሶፍትዌር ወይም አይዲኢ አያስፈልግዎትም እንደ ማስታወሻ ደብተር ፣ SublimeText ወይም Atom ያሉ የጽሑፍ አርታዒን በመጠቀም እንዴት ማዳበር እንደሚችሉ አሳያችኋለሁ። ይህ እንደ እርቃን አጥንቶች ነው እና በሚያስገርም ሁኔታ ቀላል ነው።

ደረጃ 1: የሚፈልጉትን ሁሉ ያውርዱ

ሁሉም ነገር እንዲሠራ ሶስት ክፍሎችን ማውረድ ያስፈልግዎታል

  • የጂአይሲ ኮምፕሌተር ለ ARM
  • STM32 የጽኑ ፋይሎች
  • የቅጥ አገናኝ መገልገያ
  • ናሙና ፕሮጀክት

አጠናቃሪ የእኛን stm32 ተቆጣጣሪ ሊረዳው ወደሚችልበት የማሽን ቋንቋ የእኛን C ኮድን ከሌሎች ሁሉም የቤተ -መጽሐፍት ፋይሎች ጋር የሚያጠናክር ዋናው ሶፍትዌር ነው። የዚህን አጠናቃሪ የቅርብ ጊዜ ቅድመ-የተጠናከረ ስሪት ያውርዱ።

STM32 firmware የያዘ አቃፊ ለዋናው አንጎለ ኮምፒውተር ሥራ የሚያስፈልጉትን ሁሉንም ጅምር እና ዋና ፋይሎችን የሚይዝ ነው። በኤችኤል ያለፈውን መደበኛ የፔሪፈርራል ቤተመጽሐፍት እንጠቀማለን። በዚህ ማቀነባበሪያዎች ላይ የሚሰሩ ኩባንያዎች ጠንካራ እና የቆየ እና የሚደገፍ ስለሆነ እነሱን ስለሚጠቀሙ StPeriphLibrary የበለጠ እወዳለሁ። እሱ ደግሞ የበለጠ ጨካኝ ነው። አንድ ተጓዳኝ ሥራን ለመጀመር ወይም ኤልኢዲ ለማብራት እርስዎ ማድረግ ያለብዎትን ሥራ አይቆርጥም ፣ ግን ስለዚህ እነዚህ ማቀነባበሪያዎች እንዴት እንደሚሠሩ እንዲማሩ ያስገድደዎታል። በእሱ አማካኝነት ስለ ውስጣዊ አሠራሮች የበለጠ እውቀት አለዎት ስለሆነም ማንኛውንም ሥራ የፕሮግራም ትርጉም ይሰጣል።

ለማውረድ የመጨረሻው ሶፍትዌር ቁራጭ-አገናኝ መገልገያ ነው። በ github ላይ ተጠብቆ እንደ SWD / JTAG ፕሮግራም አውጪ / አራሚ ሆኖ በማገልገል በቦርዱ ላይ stlink IC ን በመጠቀም የተቀናበሩ የሁለትዮሽ ፋይሎችን ወደ ማቀነባበሪያው ለማስተላለፍ ያገለግላል።

እንዲሁም እኔ በኋላ የምናገረው የናሙና ፕሮጀክት አቃፊ አቅርቤያለሁ እና ማውረድ ይችላሉ። በመጀመሪያው VIDEO1 አቃፊ ውስጥ ነው።

ደረጃ 2 ሶፍትዌርን መጫን

ሶፍትዌር መጫን
ሶፍትዌር መጫን
ሶፍትዌር መጫን
ሶፍትዌር መጫን

ሁሉንም ፋይሎች ካወረዱ በኋላ ሁሉም ለተመሳሳይ ዓላማ አብረው ስለሚጠቀሙ በአንድ የጋራ አቃፊ ውስጥ እንዲያስገቡ እመክራለሁ። ሁሉንም አቃፊዎች በእኔ መነሻ ማውጫ ውስጥ “ተካትቷል” በሚለው አቃፊ ውስጥ አስቀመጥኩ።

እኛ በቀላል ፣ በ STM32 ቤተ -መጽሐፍት እንጀምራለን። ያወረዱት አቃፊ እዚያ ብቻ ሊቀር ይችላል። ተገቢዎቹ ፋይሎች የት እንደሚቀመጡ ለማየት ዙሪያውን መቆፈርዎን ያረጋግጡ። ስለዚህ ከመድረክዎ ጋር እንዲሠራ ዋናውን MakeFile መለወጥ እና ማርትዕ ይችላሉ።

ሁለተኛው ቀላሉ አጠናቃሪው ነው። እርስዎም በእሱ ላይ ምንም ማድረግ አያስፈልግዎትም ፣ ግን መንገዱ ምንም ይሁን ምን ከማንኛውም አቃፊ ለመደወል እንዲችሉ አጠናቃሪውን በዓለም አቀፍ ደረጃ ተደራሽ ተግባር እናደርጋለን። ሁሉም እርምጃዎች በተርሚናል ወይም በጊይ ውስጥ ሊከናወኑ ይችላሉ ፣ ግን ልምድ ሲያገኙ ፈጣን እና ቀላል ስለሚሆን ተርሚናልን መጠቀም እወዳለሁ እና እርስዎ ከፈሩት የበለጠ ተርሚናል እንዲጠቀሙ እመክራለሁ። ደረጃዎች እዚህ አሉ

  1. ወደ መነሻ አቃፊዎ//ቤት/YOURUSERNAME/”ወይም“~/”ይሂዱ ወይም ሲዲውን ወደ ተርሚናል ይተይቡ
  2. በመተየብ ፋይል ".bashrc": nano.bashrc
  3. ወደ ፋይሉ መጨረሻ ወደ ታች ይሸብልሉ እና ይህንን መስመር ያክሉ-ወደ ውጭ ላክ PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. በማስቀመጥ ይውጡ CTRL+X ፣ Y ን ጠቅ ያድርጉ ፣ ያስገቡ
  5. አሂድ ትእዛዝ: ምንጭ.bashrc የተርሚናል ምንጮችን ለማደስ
  6. በመተየብ ሁሉም ነገር እየሰራ መሆኑን ያረጋግጡ-arm-none-eabi-gcc --version ፣ የቅርብ ጊዜውን የአቀነባባሪው ስሪት ማሳየት አለበት

St-link ን ለመጫን ያወረዱትን ማህደር ወደተከተተው አቃፊ ያውጡ። ከዚያ የሚከተሉትን ደረጃዎች ይከተሉ

  1. ሩጡ: ያድርጉ
  2. ወደ አቃፊ ይሂዱ "ግንባታ/መልቀቅ": ሲዲ ግንባታ/መልቀቅ
  3. Ls ብለው ይተይቡ እና “st-flash” እና “st-util” የሚባሉ ሁለት አስፈፃሚዎችን ያያሉ።
  4. እነዚያን ሁለቱን ወደ የወላጅ ማውጫ ትስስር ያንቀሳቅሷቸው-mv st-flash st-util../../
  5. እነዚህን ሁለት ተግባራት በአለምአቀፍ ለመጠቀም ከፈለጉ “.bashrc” ፋይልን በማከል እንደገና ማርትዕ ይችላሉ-

    PATH = $ PATH ወደ ውጭ መላክ ~//የተከተተ/ብልጭ ድርግም/

ይኼው ነው! የሚያስፈልግዎት ነገር ሁሉ አለዎት። አሁን እራስዎን የሚወዱትን የጽሑፍ አርታኢ ይያዙ። ልክ እንደ ‹SlimeText› ወይም ‹አቶም› ያሉ ብልህ ፣ አንድን ብቻ ይጠቀሙ ፣ እኔ የምጠቀምበት ነው።

ደረጃ 3 የናሙና ፕሮጀክት ማቀናበር

የናሙና ፕሮጀክት ማዘጋጀት
የናሙና ፕሮጀክት ማዘጋጀት

አሁን እያንዳንዱን ፕሮጀክት ለመጀመር ሊጠቀሙበት የሚችሉት የናሙና ፕሮጀክት እንፈጥራለን። ሁሉም ዋና ቅንብር አስቀድሞ የተያዘ እንደ አብነት ነው።

በእኔ MEGA ላይ ማውረድ ይችላሉ ፣ አገናኙ በዚህ አስተማሪ የመጀመሪያ ደረጃ ላይ እና ከእያንዳንዱ የዩቱብ ቪዲዮዬ በታች ነው። በውስጠኛው ለዚህ ዋና አንጎለ ኮምፒውተር እና ለ ‹‹Mefile›› አንዳንድ የመነሻ ፋይሎች ከባዶ ዋናው ‹‹C›› ፋይል ነው። Makefile ክላስተር የት እንደሚገኝ ፣ እንዴት እንደሚሰበሰብ እና ሁሉም ቤተ -መጻሕፍት የት እንደሚገኙ ለ C አጠናቃሪው የሚነግረው ነው። ለፕሮጀክትዎ እነዚህን ተገቢ ፋይሎች ለማግኘት ወደ STM32 ቤተ -መጽሐፍት አቃፊ ውስጥ ገብተው የ “ፕሮጀክት” ወይም “ምሳሌዎች” አቃፊዎችን መመልከት ይችላሉ። በውስጣቸው እነዚህን ፋይሎች ያዩታል እና ይገለብጧቸዋል- main.c ፣ Makefile እና XXX_conf.h ፣ system_XXX.c. እንዲሁም በአቃፊ ውስጥ ሊገኝ የሚችል stm32_flash.ld አገናኝ ፋይል ያስፈልግዎታል።

“/FLASH_Program/TrueSTUDIO/FLASH_Program/” በምሳሌ አቃፊው ውስጥ ያለው ወይም ፋይሉን ብቻ ይፈልጉ።

Makefile በመስመር ላይ ሊገኝ ወይም ከአቃፊዬ ሊገለበጥ ይችላል ፣ ግን ጥቂት ነገሮችን መለወጥ ያስፈልግዎታል። እስቲ የእኔን ፋይል ፋይል እና ምን ሊለውጡ እንደሚችሉ እንይ።

ወደ ተሳፋሪ ኮድ ለመስቀል አቃፊን ለማሰናከል መንገድ

STLINK = ~/የተከተተ/ብልጭ ድርግም # የምንጭ ፋይሎችዎን እዚህ (*.c) SRCS = main.c system_stm32f4xx.c # የቤተመጽሐፍት ምንጭ ፋይሎች #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # ሁለትዮሽዎች በ ይህ ስም (.elf ፣.bin ፣.hex) PROJ_NAME = ሙከራ # STM32F4 ቤተመፃህፍት ኮድ ማውጫዎን እዚህ ያስቀምጡ ፣ የእርስዎUSERNAME ን ወደ የእርስዎ STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Compiler ቅንብሮች ይለውጡ። ሌሎች የራስጌ ፋይሎችን ለማካተት 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 += -mtletle -endian -mthumb -mcpu = cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # ፋይሎችን ከ STM ቤተ -መጻህፍት CFLAGS += -I $ (STM_COMMON)/ቤተመፃህፍት/ሲኤምኤስኤስ/ያካትቱ CFLAGS += -I $ (STM_COMMON)/ቤተመፃህፍት/ሲኤምሲኤስ/ST/STM32F4xx/CFLAGS += -I $ (STM_COMMON)/ ቤተመፃህፍት/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/መገልገያዎች/STM32F4 -Discovery # SRCS += $ (STM_COMMON)/ቤተመፃህፍት/CMSIS/ST/STM32F4xx/SourceSTM32/SourceSTM32 ዎች 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).elf $ (PROJ_NAME).bin ንፁህ: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME) PROJ_NAME) ።በ 0x80000000

  • ወደ የአገናኝ አገናኝ መገልገያ አቃፊዎ ዱካ ለመለወጥ የመጀመሪያውን መስመር ማርትዕ ይችላሉ
  • በቤተመፃህፍት እና በርስዎUSERNAME አማካኝነት መስመር ወደ አቃፊዎ መድረሻ መለወጥ ይችላሉ

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

  • እንዲሁም ሁሉም ቤተ -መጽሐፍት የተገናኙበትን ክፍል ይመልከቱ። እርስዎ በሚጠቀሙበት የመሣሪያ ስርዓት ላይ በመመስረት ይህ ሊለወጥ ይችላል ስለዚህ እባክዎን በፋይል ዛፍ ውስጥ ለውጦችን ይፈትሹ። ልክ እንደ ጅምር ፋይል ካለው ቀጣዩ መስመር ጋር ወደ አንዳንድ ፋይሎች ማንኛውንም ዱካዎችን የሚያካትት ሌላ ነገር መለወጥ ይቻላል።

በ Makefile ውስጥ እነዚህን ሁሉ ነገሮች አርትዕ ካደረጉ በኋላ በማውጫዎ ውስጥ ተርሚናል በመክፈት እየሰራ መሆኑን ማረጋገጥ ይችላሉ - ያድርጉ። ያለምንም ችግር ሁሉንም ነገር ያጠናቅራል ፣ ከዚያ እርስዎ ተዘጋጅተዋል። ካልሆነ ፣ የአቀነባባሪውን ስህተቶች ይመልከቱ እና Makefile ን ያርትዑ።

እንዲሁም አቶምን ስጠቀም ሁለት የኮድ ቁርጥራጮችን ጎን ለጎን አደርጋለሁ። Makefile ን አንዴ እና በቀኝ በኩል ያሉትን ቤተመፃህፍት ማርትዕ ስለሚያስፈልግዎ አብዛኛውን ጊዜ main.c እና Makefile በግራ በኩል። ለእያንዳንዱ ቤተመፃህፍት.c እና.h ፋይሎችን የያዘውን አቃፊ እንደከፈትኩት በስዕሉ ላይ ማየት ይችላሉ። ይህንን ሁሉ በቪዲዮዎች ውስጥ ማየት ይችላሉ።

ደረጃ 4: ተጠናቅቋል

ተጠናቅቋል!
ተጠናቅቋል!

አሁን እርስዎ የ Makefile የተዋቀረ እና አጠናቃሪ ሥራ እንዲኖርዎት ስላደረጉ ይህንን አቃፊ ለሁሉም ፕሮጄክቶች እንደ አብነት ሊጠቀሙበት ይችላሉ ፣ ስለዚህ የዚህን አቃፊ ቅጂ ማስቀመጥዎን ያረጋግጡ።

እንዲሁም የእድገት ሰሌዳዎን በመሰካት እና ወደ ተርሚናል በመተየብ የ st-flash እና st-info ፕሮግራሞችን መሞከር ይችላሉ-

st-info-ምርመራ

የ stlink ሶፍትዌሩ የሚያውቀውን የመሣሪያ ስርዓት እና የ IC ቤተሰብን ከመሸጎጫ እና ከሌሎች ነገሮች ጋር ማየት ይችላሉ። ማስገባት ይችላሉ ፦

ሴንት መረጃ

ሁሉንም የሚገኙ መለኪያዎች ለማየት።

አሁን ፕሮግራምን መጀመር ይችላሉ። በሚቀጥለው ትምህርት እና ቪዲዮ ውስጥ ፣ የጂፒኦ እና የሰዓት መሰረታዊ ነገሮችን አሳይሻለሁ። ቦርዱ የሚገናኝበት ሁሉም ነገር ማለት ይቻላል ከጂፒኦ በላይ ስለሆነ ሁሉም ነገር በሰዓት ላይ ስለሚሠራ እነዚህ ሁሉ ማቀነባበሪያዎች የፕሮግራሙን ንድፍ ያያሉ።

እስከዚያ ድረስ ፣ እስካሁን ካላደረጉት አስተማሪ እና የእኔን የ youtube ቪዲዮ በመፈተሽ አመሰግናለሁ።

የሚመከር: