সুচিপত্র:

লিনাক্সে STM32 বিকাশ শুরু করুন: 4 টি ধাপ
লিনাক্সে STM32 বিকাশ শুরু করুন: 4 টি ধাপ

ভিডিও: লিনাক্সে STM32 বিকাশ শুরু করুন: 4 টি ধাপ

ভিডিও: লিনাক্সে STM32 বিকাশ শুরু করুন: 4 টি ধাপ
ভিডিও: DIY Laptop Linux 😅 #linux #laptop #raspberry #machinelearning #arduino #stm32 2024, নভেম্বর
Anonim
Image
Image
আপনার যা প্রয়োজন তা ডাউনলোড করুন
আপনার যা প্রয়োজন তা ডাউনলোড করুন

এই নির্দেশনায়, আমি আপনাকে দেখাতে যাচ্ছি যে লিনাক্সে STM32 প্রোগ্রামগুলি বিকাশ করা কত সহজ। আমি 2 বছর আগে আমার প্রধান মেশিন হিসাবে লিনাক্স ব্যবহার করা শুরু করেছি এবং নিরাশ হইনি। সবকিছু উইন্ডোজের চেয়ে দ্রুত এবং ভাল কাজ করে। অবশ্যই সময়ে সময়ে কম সুবিধাজনক, কিন্তু এটি আপনাকে বিষয়গুলি আরও গভীরভাবে শিখতে বাধ্য করে যাতে আপনি এটি ব্যবহার করতে পারেন।

যাইহোক, এই নির্দেশযোগ্য, একটি সিরিজের অংশ যা আমি এখানে এবং ইউটিউবে শুরু করছি কিভাবে এটি শুরু করতে হয়। দয়া করে আমার ইউটিউব ভিডিওটি দেখতে ভুলবেন না যেখানে আমি সবকিছুকে একটি সেগমেন্ট হিসাবে ব্যাখ্যা করি এবং আপনি আমার পাশে কোড করতে পারেন।

এই সিরিজে আমি আপনাকে দেখাব কিভাবে আপনি শুধুমাত্র নোটপ্যাড, সাবলাইম টেক্সট বা এটম এর মত একটি টেক্সট এডিটর ব্যবহার করে ডেভেলপ করতে পারেন, তাই আপনার কোন মালিকানা সফটওয়্যার বা IDE এর প্রয়োজন নেই। এটি খালি হাড় যতটা পায় এবং এটি আশ্চর্যজনকভাবে সহজ।

ধাপ 1: আপনার যা প্রয়োজন তা ডাউনলোড করুন

সবকিছু কাজ করার জন্য আপনাকে তিনটি অংশ ডাউনলোড করতে হবে:

  • ARM এর জন্য GCC কম্পাইলার
  • STM32 ফার্মওয়্যার ফাইল
  • সেন্ট লিঙ্ক ইউটিলিটি
  • নমুনা প্রকল্প

কম্পাইলার হল সফটওয়্যারের মূল অংশ যা আমাদের সি কোডকে অন্য সব লাইব্রেরির ফাইলের সাথে মেশিন ল্যাঙ্গুয়েজে কম্পাইল করে যা আমাদের stm32 কন্ট্রোলার বুঝতে পারে। এই কম্পাইলারের সর্বশেষ প্রাক-সংকলিত সংস্করণ ডাউনলোড করুন।

STM32 ফার্মওয়্যার ধারণকারী ফোল্ডারটি এমন একটি যা মূল প্রসেসরের অপারেশনের জন্য প্রয়োজনীয় সমস্ত স্টার্টআপ এবং মূল ফাইল ধারণ করে। আমরা স্ট্যান্ডার্ড পেরিফেরাল লাইব্রেরি ব্যবহার করব যা এইচএএলকে ছাড়িয়ে গেছে। আমি StPeriphLibrary কে বেশি পছন্দ করি কারণ যেসব কোম্পানি এই প্রসেসরগুলিতে কাজ করে সেগুলি তাদের ব্যবহার করে কারণ এটি শক্তিশালী এবং পুরনো এবং সমর্থিত। এটি আরও বেশি রুক্ষ। এটি একটি পেরিফেরাল আরম্ভ বা একটি LED চালু করার জন্য আপনাকে যে কাজটি করতে হবে তা কাটবে না, তাই এটি আপনাকে এই প্রসেসরগুলি কীভাবে কাজ করে তা শিখতে বাধ্য করে। এর সাথে আপনার অভ্যন্তরীণ কাজকর্ম সম্পর্কে আরও জ্ঞান রয়েছে এইভাবে যে কোনও কাজের প্রোগ্রামিংয়ের বোধগম্যতা।

সফটওয়্যারের শেষ টুকরোটি হল ডাউনলোড-লিঙ্ক ইউটিলিটি। এটি গিথুবের উপর রক্ষণাবেক্ষণ করা হয় এবং একটি SWD / JTAG প্রোগ্রামার / ডিবাগার হিসাবে পরিবেশন করা বোর্ডে স্লিংক আইসি ব্যবহার করে সংকলিত বাইনারি ফাইলগুলি প্রসেসরে স্থানান্তর করতে ব্যবহৃত হয়।

এছাড়াও আমি একটি নমুনা প্রকল্প ফোল্ডার প্রদান করেছি যা আমি পরে কথা বলব এবং আপনি এটি ডাউনলোড করতে পারেন। এটি প্রথম ভিডিও 1 ফোল্ডারের ভিতরে।

পদক্ষেপ 2: সফ্টওয়্যার ইনস্টল করা

সফটওয়্যার ইনস্টল করা
সফটওয়্যার ইনস্টল করা
সফটওয়্যার ইনস্টল করা
সফটওয়্যার ইনস্টল করা

আপনি সমস্ত ফাইল ডাউনলোড করার পরে আমি আপনাকে একটি সাধারণ ফোল্ডারে রাখার পরামর্শ দিচ্ছি কারণ সেগুলি একই উদ্দেশ্যে একই উদ্দেশ্যে ব্যবহৃত হয়। আমি আমার হোম ডিরেক্টরিতে "এমবেডেড" নামে একটি ফোল্ডারের ভিতরে সমস্ত ফোল্ডার রাখি।

আমরা সবচেয়ে সহজ, STM32 লাইব্রেরি দিয়ে শুরু করব। আপনি যে ফোল্ডারটি ডাউনলোড করেছেন তা কেবল সেখানেই রেখে দেওয়া যেতে পারে। যথাযথ ফাইলগুলি কোথায় সংরক্ষিত আছে তা দেখার জন্য চারপাশে খনন করা নিশ্চিত করুন। অতএব আপনি প্রধান MakeFile পরিবর্তন এবং সম্পাদনা করতে পারেন যাতে এটি আপনার প্ল্যাটফর্মের সাথে কাজ করে।

দ্বিতীয় সবচেয়ে সহজ হল কম্পাইলার। আপনার এটির কিছু করার দরকার নেই, তবে আমরা কম্পাইলারকে বিশ্বব্যাপী অ্যাক্সেসযোগ্য ফাংশন বানাব যাতে আপনি যে কোনও ফোল্ডার থেকে কম্পাইলারকে কল করতে পারেন পাথ নির্বিশেষে। সমস্ত ধাপ টার্মিনালে বা গুইতে করা যেতে পারে, কিন্তু আমি টার্মিনাল ব্যবহার করতে পছন্দ করি কারণ যখন আপনি অভিজ্ঞ হন তখন এটি দ্রুত এবং সহজ হয়ে যায় এবং আমি আপনাকে টার্মিনাল ব্যবহার করতে উত্সাহিত করি, যদি আপনি ভয় পান। এখানে ধাপগুলি:

  1. আপনার হোম ফোল্ডারে যান "/home/YOURUSERNAME/" অথবা "~/" অথবা সিডি টাইপ করুন টার্মিনালে
  2. ".bashrc" ফাইলটি খুলুন: nano.bashrc
  3. ফাইলের শেষে স্ক্রোল করুন এবং এই লাইনটি যোগ করুন: PATH = $ PATH: export/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, এটি কম্পাইলারের সর্বশেষ সংস্করণ প্রদর্শন করা উচিত

স্ট-লিঙ্ক ইনস্টল করতে, এম্বেডেড ফোল্ডারে আপনি যে সংরক্ষণাগারটি ডাউনলোড করেছেন তা বের করুন। তারপর এই পদক্ষেপগুলি অনুসরণ করুন:

  1. চালান: তৈরি করুন
  2. "বিল্ড/রিলিজ" ফোল্ডারে যান: সিডি বিল্ড/রিলিজ
  3. Ls টাইপ করুন এবং আপনি "st-flash" এবং "st-util" নামে দুটি এক্সিকিউটেবল দেখতে পাবেন
  4. Two দুটিকে প্যারেন্ট ডিরেক্টরিতে সরান
  5. আপনি যদি বিশ্বব্যাপী এই দুটি ফাংশন ব্যবহার করতে চান তাহলে ".bashrc" ফাইল যোগ করে আবার করতে পারেন:

    রপ্তানি PATH = $ PATH: ~/Embedded/stlink/

এখানেই শেষ! আপনার যা প্রয়োজন সব আছে। এখন আপনার পছন্দের টেক্সট এডিটর ধরুন। শুধু একটি স্ট্যান্ডার্ড ব্যবহার করুন, সাবলাইম টেক্সট বা এটমের মতো স্মার্ট, এটি আমি ব্যবহার করি।

ধাপ 3: একটি নমুনা প্রকল্প স্থাপন

একটি নমুনা প্রকল্প স্থাপন
একটি নমুনা প্রকল্প স্থাপন

আমরা এখন একটি নমুনা প্রকল্প তৈরি করব যা আপনি প্রতিটি প্রকল্প শুরু করতে ব্যবহার করতে পারেন। এটি একটি টেমপ্লেটের মতো যা সমস্ত প্রধান সেটিং ইতিমধ্যেই পরিচালনা করা হয়েছে।

আপনি এটি আমার মেগা তে ডাউনলোড করতে পারেন, লিঙ্কটি এই নির্দেশের প্রথম ধাপে এবং আমার প্রতিটি ইউটিউব ভিডিওর অধীনে। ভিতরে এই প্রসেসর এবং মেকফাইলের জন্য কিছু স্টার্টআপ ফাইল সহ খালি main.c ফাইল রয়েছে। মেকফিল হল সি কম্পাইলারকে বলে যে আর্ম কম্পাইলার কোথায় পাওয়া যায়, কিভাবে কম্পাইল করা যায় এবং সব লাইব্রেরি কোথায়। আপনার প্রকল্পের জন্য এই উপযুক্ত ফাইলগুলি পেতে, আপনি STM32 লাইব্রেরি ফোল্ডারে যেতে পারেন এবং একটি "প্রকল্প" বা "উদাহরণ" ফোল্ডারগুলি পরীক্ষা করতে পারেন। ভিতরে আপনি এই ফাইলগুলি দেখতে এবং অনুলিপি করবেন: main.c, Makefile এবং XXX_conf.h, system_XXX.c. এছাড়াও আপনার stm32_flash.ld লিঙ্কার ফাইল প্রয়োজন হবে যা ফোল্ডারে পাওয়া যাবে:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/" যা উদাহরণ ফোল্ডারের ভিতরে আছে অথবা শুধু ফাইলটি অনুসন্ধান করুন।

Makefile অনলাইনে পাওয়া যাবে অথবা আমার ফোল্ডার থেকে কপি করা যাবে, কিন্তু আপনাকে কিছু জিনিস পরিবর্তন করতে হবে। আসুন আমার মেক ফাইল এবং আপনি কী পরিবর্তন করতে পারেন তা একবার দেখুন।

# বোর্ডে কোড আপলোড করার জন্য ফোল্ডার স্টিলিংক করার পথ

STLINK = ~/Embedded/stlink # আপনার সোর্স ফাইলগুলো এখানে রাখুন এই নাম (.elf,.bin। অন্যান্য হেডার ফাইল অন্তর্ভুক্ত করার জন্য শুধুমাত্র 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 += -mttle -endian cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I। # এসটিএম লাইব্রেরি থেকে ফাইল অন্তর্ভুক্ত করুন লাইব্রেরি/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # SRCS += $ (STM_COMMON)/লাইব্রেরী/CMSIS/ST/STM32F4XTS/STUP/STUF/STUF/STUX/STUF4XXX/STUST/STUFFXX স্টার্ট s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/লাইব্রেরি/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME)। $ (SRCS) $ (CC) $ (CFLAGS) $^ -o $@ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O বাইনারি $ (PROJ_NAME)। । PROJ_NAME).bin 0x80000000

  • আপনি আপনার স্লিংক ইউটিলিটি ফোল্ডারে পথ পরিবর্তন করতে প্রথম লাইন সম্পাদনা করতে পারেন
  • আপনি লাইব্রেরি এবং YOURUSERNAME দিয়ে আপনার ফোল্ডারের গন্তব্যে লাইন পরিবর্তন করতে পারেন

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

  • এছাড়াও বিভাগটি দেখুন যেখানে সমস্ত লাইব্রেরি সংযুক্ত। আপনি যে প্ল্যাটফর্মটি ব্যবহার করছেন তার উপর নির্ভর করে এটি পরিবর্তন হতে পারে তাই দয়া করে ফাইল ট্রিতে পরিবর্তনগুলি পরীক্ষা করুন। নির্দিষ্ট ফাইলগুলির যে কোনও পাথ অন্তর্ভুক্ত করে এমন অন্য যে কোনও কিছু অন্তর্ভুক্ত করা, যেমন স্টার্টআপ ফাইলের সাথে পরবর্তী লাইনের পরিবর্তন করা যেতে পারে।

আপনি মেকফাইলের ভিতরে এই সমস্ত জিনিস সম্পাদনা করার পরে আপনি আপনার ডিরেক্টরিতে একটি টার্মিনাল খুলে কাজ করে কিনা তা পরীক্ষা করতে পারেন: make। যদি এটি কোন সমস্যা ছাড়াই প্রতিটি জিনিস কম্পাইল করে, তাহলে আপনি সেট। যদি না হয়, কম্পাইলার ত্রুটি দেখুন এবং Makefile সম্পাদনা করুন।

এছাড়াও, যখন আমি এটম ব্যবহার করি, তখন আমি দুটি টুকরো কোড পাশাপাশি রাখি। সাধারণত main.c এবং বাম দিকে Makefile হিসাবে আপনি শুধুমাত্র একবার Makefile এবং ডানদিকে লাইব্রেরি সম্পাদনা করতে হবে। আপনি ছবিতে দেখতে পারেন যে আমি প্রতিটি লাইব্রেরির জন্য.c এবং.h ফাইল সম্বলিত ফোল্ডারটি খুলেছি। আপনি এই সব ভিডিওতে দেখতে পারেন।

ধাপ 4: সমাপ্ত

সমাপ্ত!
সমাপ্ত!

এখন যেহেতু আপনি মেকফিল কনফিগার এবং কম্পাইলার কাজ করছেন, আপনি এই ফোল্ডারটি সমস্ত প্রকল্পের জন্য একটি টেমপ্লেট হিসাবে ব্যবহার করতে পারেন, তাই নিশ্চিত করুন যে আপনি এই ফোল্ডারের একটি অনুলিপি সংরক্ষণ করেছেন।

এছাড়াও আপনি আপনার ডেভেলপমেন্ট বোর্ডে প্লাগ ইন করে এবং টার্মিনালে টাইপ করে st-flash এবং st-info প্রোগ্রাম পরীক্ষা করতে পারেন:

st-info-probe

আপনি প্ল্যাটফর্মটি দেখতে পারেন যা স্লিংক সফ্টওয়্যার স্বীকৃতি দেয় এবং আইসি পরিবার ক্যাশে এবং অন্যান্য জিনিস সহ। আপনি টাইপ করতে পারেন:

st- তথ্য

সমস্ত উপলব্ধ পরামিতি দেখতে।

এখন আপনি প্রোগ্রামিং শুরু করতে পারেন। পরবর্তী নির্দেশযোগ্য এবং ভিডিওতে, আমি আপনাকে GPIO এবং ঘড়িগুলির মূল বিষয়গুলি দেখাব। এই দুটি হল অন্য সবকিছুর জন্য মূল বিষয় কারণ বোর্ডের সাথে প্রায় সবই ইন্টারঅ্যাক্ট করে জিপিআইও এবং সবকিছুই ঘড়িতে কাজ করে এবং আপনি এই প্রসেসরগুলিকে প্রোগ্রাম করার প্যাটার্ন দেখতে পাবেন।

ততক্ষণ পর্যন্ত, আমার নির্দেশনা এবং আমার ইউটিউব ভিডিও চেক করার জন্য আপনাকে ধন্যবাদ, যদি আপনি এখনও তা না করেন।

প্রস্তাবিত: