আমি কীভাবে লিনাক্সে এসটিএম 32 আবিষ্কারের জন্য বিকাশ করব? [বন্ধ]


26

আমার একটি এসটিএম 32 আবিষ্কার বোর্ড রয়েছে এবং এটি লিনাক্সে প্রোগ্রাম করতে সক্ষম হতে চাই।

এই কাজ করতে সবচেয়ে সহজ পদ্ধিতি হল উপায় কি?


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

1
@ টমরিটজম্যান পিটারজে ঠিক বলেছেন, দয়া করে প্রশ্ন জিজ্ঞাসার উত্তরগুলি ব্যবহার করবেন না। তদুপরি, সফ্টওয়্যার সমস্যাগুলি এখানে অফ-টপিক, সুপার ইউজার সঠিক জায়গা।
ক্লাবচিও

উত্তর:


12

STM32 ডিসকভারি বোর্ডকে প্রোগ্রাম করার এবং ডিবাগ করার একটি সহজ উপায় (বা কোনও এসটিএম 32 কোনও এসটি-লিংক প্রোগ্রামার ব্যবহার করে) হল 'স্টলিংক' প্রকল্পটি https://github.com/texane/stlink ব্যবহার করা (তবে ওপেনওসিডিও জনপ্রিয় বলে মনে হচ্ছে))

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

লিনাক্সে এসটিএম 32 আবিষ্কারের জন্য কীভাবে বিকাশ করা যায় সে সম্পর্কে কয়েকটি ভাল পৃষ্ঠা রয়েছে যেমন: http://gpio.kaltpost.de/?page_id=131 এবং http://torrentula.to.funpic.de/2012/03/22/ stm32f4- আর্ম-ডেভলপমেন্ট-টুলচেইন সেট আপ- এবং http://jethomson.wordpress.com/2011/11/17/getting-st সূত্র- সাথে- stm32f4discovery-in-linux/

তবে আমি শেষ লিঙ্কটি সবচেয়ে দরকারী বলে মনে করি। এটি দেখায় যে কীভাবে এসটি-র এসটিএম 32 প্রকল্পগুলি তৈরি করা যায় - একমাত্র পরিবর্তনটি হ'ল তার মেকফিল যুক্ত করা, যা একটি নিখুঁত সমাধান বলে মনে হয়।

উবুন্টুর সাম্প্রতিক সংস্করণগুলিতে, আপনি ইনস্টল করতে পারেন এমন একটি প্যাকেজ রয়েছে যা একটি এআরএম সংকলক ধারণ করে:

sudo apt-get install gcc-arm-none-eabi

নোট করুন যে প্রসেসরগুলি সমস্ত কিছু আলাদা। STM32F0..4 এর জন্য সবার আলাদা আলাদা সংকলক পতাকা লাগবে এবং লিঙ্কার স্ক্রিপ্ট প্রতিটিটির জন্য কিছুটা আলাদা হবে (যদিও এটি কেবলমাত্র পরিবর্তিত র‌্যাম এবং ফ্ল্যাশ আকারের কারণে)।

সম্পাদনা করুন: আপনি যদি খুব দ্রুত শুরু করতে চান তবে আপনি http://www.espruino.com এও দেখতে পারেন । এটি একটি জাভাস্ক্রিপ্ট ইন্টারপ্রেটার যা নিজে নিজেই এসটিএম 32 এ চলে, সুতরাং একবার আপনি 'স্টলিংক' ইনস্টল হয়ে গেলে বোর্ডের কাছে ফ্ল্যাশ করতে পারবেন আপনি সেই সাইট থেকে কোনও চিত্র ডাউনলোড করতে পারবেন, এটি ফ্ল্যাশ করতে পারবেন, এবং তারপরে টার্মিনাল অ্যাপ্লিকেশনটির সাথে সংযুক্ত করতে পারেন এবং প্রোগ্রামিং শুরু করুন।


ওপেনওসিডি দ্বারা সমর্থিত এসটিএম 32 এক্স ডিসকভারি বোর্ডগুলির একটি তালিকা এখানে রয়েছে: github.com/openrisc/openOCD/tree/master/tcl/board (আপনার ব্রাউজার ব্যবহার করে "আবিষ্কার" সন্ধান করুন)
rbaleksandar 21 ই

8

আপনি যদি GUI ব্যবহার না করে পাঠ্য সম্পাদক এবং মেকফিলগুলিতে আরও বেশি থাকেন তবে আপনি এটি করতে পারেন:

  • আর্ম-নন-ইবি-জিসিসি সরবরাহকারী একটি সরঞ্জামচেন ইনস্টল করুন। আর্চলিনাক্সে আপনার সম্প্রদায় / আর্ম-নন-ইবি-বিন্টিলস, আর্ম-নন-ইবি-জিসিসি এবং আর্ম-নন-ইবি-নিউলিব (এবং আপনি যদি ডিবাগ করতে চান তবে আর্ম-নন-ইবি-জিডিবি) প্রয়োজন হবে রেপো, বা https://launchpad.net/gcc-arm-e এম্বেড (যা আর্চলিনাক্স এউআর-তে জিসিসি-আর্ম-নো-ইবি-বিন হিসাবে পাওয়া যাবে)।
  • হার্ডওয়্যার অ্যাক্সেস করতে আপনি এবং কোন লাইব্রেরিটি ব্যবহার করতে চান তা স্থির করুন। আমার মাথার শীর্ষ থেকে তিনটি সাধারণ বিকল্প রয়েছে:
    1. কোনটিই নয়। আপনি স্ক্র্যাচ থেকে সবকিছু লিখুন। নতুনদের জন্য সুপারিশযোগ্য নয়।
    2. এসটিএম 32 কিউব : এসি নিজেই এসটি সরবরাহ করেছেন।
    3. Libopencm3 : একটি ওপেন সোর্স লাইব বিভিন্ন বিক্রেতাদের দ্বারা বেশ কয়েকটি কর্টেক্স-এম কোরকে সমর্থন করে।
    4. STM32PLUS : একটি সি ++ lib। যাইহোক, আমি এটি সম্পর্কে আরও কিছু বলতে পারি না কারণ আমি এটি পরীক্ষা করে দেখিনি।
  • আপনার প্রথম প্রকল্পটি তৈরি বা অনুলিপি করুন।
    1. একটি lib ছাড়া, আপনার নিজের মেকফিল, লিঙ্কার স্ক্রিপ্ট, স্টার্টআপ কোড লিখুন এবং একটি সহজ মেকফিল চলমান পেতে। শুভকামনা;)
    2. STM32Cube সঙ্গে: ডাউনলোড করুন এবং ইনস্টল STM32CubeMX । একবার আনজিপ করা * .exe ফাইলটি আসলে একটি জাভা ফাইল এবং আপনি "java -jar filename.exe" ব্যবহার করে এটি চালাতে পারেন। ইনস্টলেশন sudo প্রয়োজন। হয়ে গেলে, একটি প্রকল্প তৈরি করুন এবং "ট্রুয়েস্টুডিও" এর কোড তৈরি করুন। এটি আপনাকে একটি লিঙ্কার স্ক্রিপ্ট, স্টার্টআপ কোড, কিছু তুচ্ছ মূল ফাংশন (এবং যদি আমি সঠিকভাবে মনে করি তবে একটি মেকফাইল) দিয়ে একটি সূচনা পয়েন্ট দেওয়া উচিত। প্রকৃতপক্ষে, আপনি STM32Cube লাইব ব্যবহার না করলেও, ঘড়ির গাছের জন্য মানগুলি গণনা করার জন্য এবং STD3232 কিউবএমএক্স দুর্দান্ত, যদি আপনি চিপটিকে যেভাবে ভাবছেন ততভাবে কনফিগার করতে পারেন কিনা তা যাচাই করার জন্য দুর্দান্ত।
    3. লাইবোপেনসিএম 3 সহ: লাইবপেনসিএম 3 উদাহরণ পান , আপনার বোর্ডের সাথে মিলছে এমন একটি উদাহরণ পান এবং এটি একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করুন। উদাহরণগুলি চালানোর জন্য প্রস্তুত হওয়া উচিত। শুধু "মেক" টাইপ করুন। তারপরে সেই উদাহরণটি নিজের বিকাশের জন্য একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করুন।
    4. এসটিএম 32 প্লাস সহ: আমি জানি না। দুঃখিত।
  • আপনার প্রকল্প বোর্ডে পান। হয় ব্যবহার

    1. সিরিয়াল বুটলোডার: stm32flash দুর্দান্ত কাজ করে।
    2. ডিবাগ পোর্ট: আপনি বোর্ডে সরবরাহিত ডিবাগিং অ্যাডাপ্টারের সাথে কথা বলতে ওপেনোকড ব্যবহার করতে পারেন । ওপেনোকড দুর্দান্ত, তবে ডকুমেন্টেশন সবসময় সেরা হয় না। সন্দেহ হলে, ওপেনকড আইরিক চ্যানেলে যোগদান করুন। সেখানকার লোকেরা সত্যিই সুন্দর।
  • একটি পাঠ্য সম্পাদকের কোড এবং কমান্ড লাইন সরঞ্জাম ব্যবহার করুন। এই টিউটোরিয়ালটি প্রচুর টিপস সরবরাহ করবে।

উপভোগ করুন


5

গ্রহন , জিসিসি এবং ওপেনওসিডি হ'ল একটি সরঞ্জামচেন cha এটি EMCU-IT দ্বারা প্রস্তাবিত এবং এখানে অতিরিক্ত তথ্য রয়েছে । সেই পৃষ্ঠাগুলি এছাড়াও মতো RTOS ব্যবহার করার প্রস্তাব FreeRTOS.org , কিন্তু যে আপনার উপরে নির্ভর করে।

এবং লিনাক্সের এসটিএম 32 উদাহরণগুলি সংকলন করতে সহায়তার জন্য এখানে যান । সেই লিঙ্কটি উদাহরণগুলির জন্য একটি মেকফিলের দিকে ইঙ্গিত করে যা সাহায্য করতে পারে

git clone git://github.com/snowcap-electronics/stm32-examples.git
cd stm32-examples
wget http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32_f105-07_f2xx_usb-host-device_lib.zip
unzip stm32_f105-07_f2xx_usb-host-device_lib.zip

বেশ কয়েকটি ছোটখাটো কোড ফিক্সও ডকুমেন্টেড, তবে বেশিরভাগ প্রকল্পের সাথে কাজ করা উচিত

make CROSS_COMPILE=/path/to/arm-2011.03/bin/arm-none-eabi-

1
ধন্যবাদ! আমি এই লিঙ্কগুলি আগে দেখিনি। আমি বিস্মিত হয়েছি যে কোথাও কোনও নির্দিষ্ট নির্দেশিকা নেই যদিও বিভিন্ন আবিষ্কারের বোর্ডে বিল্ডিংয়ের পতাকাগুলি যথাযথভাবে আলাদা রয়েছে।
গর্ডন উইলিয়ামস

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

1

আমি https://github.com/JorgeAparicio/bareCortexM (লিঙ্কযুক্ত ব্লগ পোস্টগুলিও দেখুন) দিয়ে সাফল্য পেয়েছি । আমি মেঝেতে রয়েছি যে আমি আমার কোডে ডিবাগিং স্টেটমেন্ট সন্নিবেশ করা বা চিপের ভিতরে কী চলছে তা অনুমান করার পরিবর্তে কোডের মাধ্যমে কেবল একক পদক্ষেপ বা ডিভাইস মেমরিটি ব্রাউজ করতে পারি।

বেয়ারকোর্টেক্স এম প্রকল্পটি কোনও ওএস ছাড়াই সি ++ তে কর্টেক্স এম সিরিজ, বিশেষত এসটিএম 32 এর সাথে বিকাশের জন্য একটি গ্রহন টেম্পলেট। এটি ওপোনকডি, জিসিসি ব্যবহারের জন্য কনফিগার করা হয়েছে এবং এটি আবিষ্কারের বোর্ড সহ কয়েকটি লক্ষ্যবস্তুতে ফ্ল্যাশ এবং ডিবাগ করার জন্য স্ক্রিপ্ট রয়েছে। নির্দেশাবলী অনুসরণ করে এবং প্রস্তাবিত Eclipse প্লাগইনগুলি ইনস্টল করে আমি উবুন্টুতে আমার STM32VLDISCOVERY ব্যবহার করতে সক্ষম হয়েছি।

প্রস্তাবিত হিসাবে আমি একই লেখকের লাইবস্টেম 32 পি সি ++ টেমপ্লেট লাইব্রেরির সাথে গ্রাহক টেম্পলেটটি এসটিএম 32 হার্ডওয়ারের সাথে একত্রিত করেছি। libstm32pp একটি প্রোগ্রামিং মডেল দিয়ে সিএমএসআইএস এবং প্রায়শই সমালোচিত এসটিএম 32 ড্রাইভারের জন্য একটি আশ্চর্যজনকভাবে সম্পূর্ণ প্রতিস্থাপন সরবরাহ করে যা আপনাকে সি ++ টেমপ্লেটগুলির কারণে PB10::setMode(gpio::cr::GP_OPEN_DRAIN_2MHZ)এবং PINB::setLow()বা PINB::setHigh()বেশিরভাগই প্রায়শই ইনলাইন সংকলন করতে দেয়। সেটআপটি খুব সুন্দর।


আমি আর অবিস্মরণীয় খালি কর্টেক্সএম সুপারিশ করি না; andybrown.me.uk/wk এ স্টেম
জোফোরকার

এই জাতীয় ডিভাইস ড্রাইভারদের সমস্যা হ'ল তারা অদক্ষ। যথাযথ হাই স্পিড ডিভাইস ড্রাইভারদের জন্য যা সিপিইউ চক্র নষ্ট করে না আপনার নীচে একটি আরটিও প্রয়োজন যাতে আপনি যথাযথ সময় নির্ধারণ করতে পারেন।
মার্টিন

0

হতে পারে এটি কারওর জন্য কার্যকর হবে: আমার সংক্ষিপ্ত নিবন্ধ (রাশিয়ান ভাষায়) এবং সহজ প্রকল্প । সব কিছুই লিনাক্সে এবং গ্রহণের মতো অপ্রয়োজনীয় জিনিস ছাড়াই।

ইন্টারনেটের অনেক জিপিএল উদাহরণগুলির মধ্যে একটি থেকে এসটি ওয়েবসাইট, মেকফিল - থেকে গ্রন্থাগারগুলি নেওয়া হয়েছিল।


0

লিনাক্স বা অন্য কোনও OS এর অধীনে STM32F0 ডিসকভারি বোর্ডটি দ্রুত ব্যবহারের জন্য এখানে একটি ছোট তবে উদ্ভাবনী টেম্পলেট প্রকল্প রয়েছে:

https://github.com/dobromyslov/stm32f0-chibios-template

নোট করুন যে প্রকল্পটি ChibiOS ব্যবহার করে - একটি নিখরচায় এবং ওপেন সোর্স রিয়েল টাইম অপারেটিং সিস্টেম যাতে এটি স্ক্র্যাচ থেকে একেবারে খালি হাড় প্রয়োগ নয়।


0

আমি সমস্ত সাধারণ লিনাক্স ডেভ সরঞ্জাম সহ বীম এবং আর্ম-নন-ইবি-জিসিসি ব্যবহার করি। লিনাক্স আমার মতে এম্বেড থাকা কাজের জন্য এখন পর্যন্ত উচ্চতর পরিবেশগত পরিবেশ। ডিবাগিংয়ের জন্য আমি স্ট্লিংক এবং আর্ম-নন-ইবি-জিডিবি ব্যবহার করি।


0

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.