সুচিপত্র:

কিভাবে লিনাক্সে AVR প্রোগ্রামিং এনভায়রনমেন্ট সেটআপ করবেন: 5 টি ধাপ
কিভাবে লিনাক্সে AVR প্রোগ্রামিং এনভায়রনমেন্ট সেটআপ করবেন: 5 টি ধাপ
Anonim
কিভাবে লিনাক্সে AVR প্রোগ্রামিং এনভায়রনমেন্ট সেটআপ করবেন
কিভাবে লিনাক্সে AVR প্রোগ্রামিং এনভায়রনমেন্ট সেটআপ করবেন

আপনি যদি উইন্ডোজ এভিআর মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে চান তবে আপনার একটি স্টুডিও আছে কিন্তু লিনাক্সে আমাদের যা আছে তা হল একজন বন্ধু।

AVRDUDE হল AVR চিপ প্রোগ্রাম করার কমান্ড লাইন ইন্টারফেস, এটি প্রথমে সেটআপ করা একটু কঠিন হতে পারে এই নির্দেশনায়, আমি AVRDUDE সেট আপ করব এবং লিনাক্স টার্মিনালের জন্য একটি AVR প্রোগ্রামিং পরিবেশ তৈরি করব।

প্রথমে আমি সমস্ত AVRDUDE এবং সমস্ত প্রয়োজনীয় নির্ভরতা ইনস্টল করব তারপর আমি একটি BASH স্ক্রিপ্ট তৈরি করব যা প্রোগ্রামিংয়ে সাহায্য করবে

ধাপ 1: আপনার কম্পাইলার এবং অন্যান্য সরঞ্জাম পাওয়া

AVR চিপস প্রোগ্রামের জন্য আপনার একটি বিশেষ কম্পাইলার প্রয়োজন যা gcc-avr নামে পরিচিত এবং অন্যান্য সরঞ্জাম যেমন binutils-avr, avr-libc, gdb-avr শেষ কিন্তু সর্বনিম্ন avrdude নয়।

sudo apt-get gcc-avr binutils-avr avr-libc gdb-avr avrdude ইনস্টল করুন

ধাপ 2: একটি টেমপ্লেট তৈরি করা।

একটি টেমপ্লেট তৈরি করা।
একটি টেমপ্লেট তৈরি করা।

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

AVRDUDE C ব্যবহার করে এবং যখনই আপনি কোড করতে চান তখন সর্বদা একটি প্রধান পদ্ধতি তৈরি করা কিছুটা বিরক্তিকর হতে পারে, তাই আমি একটি AVR টেমপ্লেট তৈরি করব।

touch/টেমপ্লেট/AVR.c স্পর্শ করুন

টেমপ্লেট ফোল্ডারে একটি ফাঁকা ফাইল তৈরি করতে স্পর্শ কমান্ড ব্যবহার করুন।

vi ~/টেমপ্লেট/AVR.c

আপনার প্রিয় টেক্সট এডিটর দিয়ে ফাইলটি খুলুন, আমি vi ব্যবহার করছি।

#F_CPU 16000000L নির্ধারণ করুন

#include #include int main () {while () {} return 0; }

উপরের কোডটি টাইপ করুন এবং ফাইলটি সংরক্ষণ করুন। এই কোডটি আমাদের টেমপ্লেট হিসেবে কাজ করবে।

দ্রষ্টব্য: আমি আমার ঘড়ির ফ্রিকোয়েন্সি 16000000 হিসাবে সেট করেছি, আপনি আপনার অন্যান্য ফ্রিকোয়েন্সি হিসাবে 8000000 সেট করতে পারেন।

ধাপ 3: একটি নতুন ফাইল তৈরি করুন।

এখন আমাদের AVR কোডগুলির জন্য একটি টেমপ্লেট আছে, আমাদের যা করতে হবে তা হল একটি নতুন ফাইল তৈরি করা। আমি একটি ব্যাশ কমান্ড তৈরি করব যা একটি যুক্তি (ফাইলের নাম) নেবে তারপর AVR টেমপ্লেট থাকা ফাইলটি তৈরি করবে।

আসুন "তৈরি" নামে একটি খালি ফাইল তৈরি করি

তৈরি স্পর্শ করুন

ফাইলের অনুমতি পরিবর্তন করুন কারণ এটি একটি BASH স্ক্রিপ্ট হবে

chmod 755 তৈরি করুন

আপনার পাঠ্য সম্পাদকের সাথে "তৈরি করুন" খুলুন। এখন আসুন "তৈরি" সম্পাদনা করি, নিম্নলিখিত কমান্ডগুলি লাইন দ্বারা লাইন যোগ করুন।

#!/বিন/ব্যাশ

এটি "তৈরি" এর জন্য দোভাষীর পথ যা ব্যাশ।

cp ~/টেমপ্লেট/AVR.c/home/$ USER

এটি ব্যবহারকারীদের হোম ডিরেক্টরিতে আমাদের টেমপ্লেট ফাইলটি অনুলিপি করে।

mv ~/AVR.c $ 1

মনে রাখবেন আমি বলেছিলাম যে "তৈরি করুন" একটি যুক্তিতে লাগে, $ 1 মানে আমাদের কমান্ডের প্রথম যুক্তি এই যুক্তিটি হল উদ্দেশ্যযুক্ত ফাইলের নাম, শেষ জিনিসটি আমরা চাই একই ফাইল নাম থাকা একাধিক ফাইল। কমান্ড আমাদের যুক্তিতে ফাইলের নাম পরিবর্তন করে।

vi $ 1

এটি alচ্ছিক কিন্তু আমাদের ফাইলটি তৈরি করার পরপরই এটি খুলতে ভালো লাগবে।

আমরা সম্পাদনা তৈরি, সংরক্ষণ এবং এটি বন্ধ করে দিয়েছি।

এখানে ক্রিয়া তৈরি করার একটি উদাহরণ।

./create blink.c

এটি blink.c নামে পরিচিত একটি ফাইল তৈরি করে, এই ফাইলে AVR.c এর টেমপ্লেট থাকা উচিত

ধাপ 4: চলুন

আমাদের আরেকটি ব্যাশ স্ক্রিপ্ট তৈরি করতে হবে যা "রান" নামে পরিচিত, এই স্ক্রিপ্টটি 3 টি আর্গুমেন্ট গ্রহণ করবে (যে এভিআর মাইক্রোকন্ট্রোলার আমরা ব্যবহার করছি, ফাইলের নাম এবং প্রোগ্রামার)

চলুন এটাকে লাইন ধরে ধরা যাক।

#!/বিন/ব্যাশ

আমাদের শেবাং

avr -gcc -Wall -g -0s -mmcu = $ 1 -o $ 2.bin $ 2.c

উপরের কমান্ড আমাদের কোড কম্পাইল করে, '$ 1' হল আমাদের প্রথম যুক্তি যা মাইক্রোকন্ট্রোলার আমরা প্রোগ্রামিং করছি। $ 2 হল আমাদের দ্বিতীয় যুক্তি যা ফাইলের নাম।

avr -objcopy -j.text -j.data -O ihex $ 2.bin $ 2.hex

এটি আমাদের মেনে চলা ফাইলটিকে হেক্সে রূপান্তরিত করে।

avrdude -p $ 1 -c $ 3 -U ফ্ল্যাশ: w: $ 2.hex -P usb

এখন avrdude কোডটি AVR চিপে বার্ন করে। $ 3 হল আমাদের তৃতীয় যুক্তি যা প্রোগ্রামার আমরা ব্যবহার করছি।

"রান" ফাইলটি সংরক্ষণ করুন

এটি চালানোর অনুমতি দিন

chmod 755 রান

এখন এটি পরীক্ষা করা যাক। ধরা যাক আমরা blink.c আপলোড করতে চাই এবং আমরা সরাসরি একটি arduino বোর্ড ব্যবহার করছি, আমরা একটি usbasp প্রোগ্রামারও ব্যবহার করছি। এইভাবে আমরা "রান" স্ক্রিপ্ট ব্যবহার করি।

./run atmega328p ব্লিঙ্ক USBasp

Arduino বোর্ডে একটি atmega328p চিপ আছে, আপনি আপনার পছন্দের যেকোন AVR মাইক্রোকন্ট্রোলার ব্যবহার করতে পারেন।

দ্বিতীয় যুক্তিটি হল আপনার ফাইলের নাম, কিন্তু এই সময় ফাইল এক্সটেনশন যোগ করবেন না স্ক্রিপ্ট যেটা পরিচালনা করে।

তারপরে আমাদের তৃতীয় যুক্তি আছে যেটি আপনি যে প্রোগ্রামার ব্যবহার করছেন, আমি একটি USBasp প্রোগ্রামার ব্যবহার করছি।

ধাপ 5: উপসংহার

এটি আপনার এভিআর প্রোগ্রামিং অভিজ্ঞতা স্বয়ংক্রিয় করার একটি দুর্দান্ত উপায়, আপনি ব্যাশ ফাইলগুলিকে "তৈরি করুন" এবং "চালান" "~/.local/bin" এ সরাতে পারেন যাতে আপনি আপনার পছন্দের যে কোনও ফাইল ডিরেক্টরি থেকে স্ক্রিপ্টগুলি ব্যবহার করতে পারেন।

প্রস্তাবিত: