এমবেডেড সিস্টেমগুলির জন্য আরটিওএস


57

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

আমি স্বল্প সংস্থান মাইক্রোকন্ট্রোলার (এমএসপি 430, পিআইসি) ব্যবহার করি এবং আমি যে আরটিওএস ব্যবহার করতে পারি তার সন্ধান করছিলাম।

যথাযথ:

  1. সিস্টেমের রিসোর্স ব্যয়
  2. সিস্টেমের সুবিধা
  3. সিস্টেমের অসুবিধাগুলি
  4. বাস্তবায়ন কৌশল
  5. আরটিওএসের যে পরিস্থিতিগুলি ব্যবহার করা উচিত নয় / হওয়া উচিত।

আমি আরডুইনোর মতো সিস্টেম ব্যবহার করি না, আমি যে প্রকল্পগুলি নিয়ে কাজ করি সেগুলি এই ধরনের সিস্টেমের ব্যয়কে সমর্থন করতে পারে না।


2
এটি কী কারণে একটি ডাউন-ভোট পেয়েছে তা নিয়ে আমি বিভ্রান্ত। যদি ভোটার আমাকে প্রতিক্রিয়া জানাতে পারে তবে আমি ভবিষ্যতে এ জাতীয় পদক্ষেপ এড়াতে চেষ্টা করব।
কর্টুক

1
Ditto। এটি একটি দুর্দান্ত প্রশ্ন ....
জেসন এস

আমি একটি প্রশ্ন গ্রহণ করেছি কারণ এমনকি এমনকি ভেবেছিল এটি উন্মুক্ত হয়ে গেছে, আমার প্রচুর প্রতিক্রিয়া হয়েছে এবং চেষ্টা করার জন্য কমপক্ষে একজন লেখককে পুরস্কৃত করতে চেয়েছিলাম।
কর্টুক

উত্তর:


29

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

যেখানে আপনি আরটিওএস থেকে উপকৃত হবেন এমন ক্ষেত্রে রয়েছে

  • থ্রেড পরিচালনা / সময়সূচী
  • আন্ত-থ্রেড যোগাযোগ + সিঙ্ক্রোনাইজেশন
  • স্টিডিন / স্টডআউট / স্টেডার বা সিরিয়াল পোর্টস বা ইথারনেট সমর্থন বা একটি ফাইল সিস্টেম (সিরিয়াল পোর্টগুলি ছাড়া বেশিরভাগ ক্ষেত্রে এমএসপি ৪৩০ বা পিআইসি নয়) সহ সিস্টেমগুলিতে I / O

পিআইসি বা এমএসপি ৪৩০ এর পেরিফেরালগুলির জন্য: সিরিয়াল পোর্টগুলির জন্য আমি একটি রিং বাফার + বিঘ্ন ব্যবহার করতাম ... সিস্টেমের জন্য আমি একবার লিখি এবং কেবল পুনরায় ব্যবহার করি; অন্যান্য পেরিফেরালগুলি আমি মনে করি না যে আপনি কোনও আরটিওএসের কাছ থেকে খুব বেশি সমর্থন পেয়েছেন, কারণ তারা এতটা বিক্রেতার-নির্দিষ্ট।

আপনার যদি এমন সময় প্রয়োজন হয় যা মাইক্রোসেকেন্ডের সাথে রক-কঠিন, কোনও আরটিওএস সম্ভবত সাহায্য করবে না - আরটিএসের সময়সীমা বেঁধে দেওয়া হয়েছে, তবে সাধারণত প্রসঙ্গের স্যুইচিং বিলম্বের কারণে তাদের সময়সূচিতে টাইমিং জিটার থাকে ... একটি পিএক্সএ 270 চলমান কিউএনএক্স ছিল 100 মাইক্রোসেকেন্ডগুলি সাধারণ, সর্বোচ্চ 100-200us এর দশকগুলিতে জিটার, তাই আমি প্রায় 100Hz এর চেয়ে দ্রুত চালাতে হয় এমন জন্য বা প্রায় 500us এর চেয়ে অনেক বেশি সঠিক সময় প্রয়োজন বলে এমন স্টাফগুলিতে ব্যবহার করব না। এই ধরণের স্টাফের জন্য আপনাকে সম্ভবত নিজের বাধা হ্যান্ডলিং বাস্তবায়ন করতে হবে। কিছু আরটিএস এর সাথে দুর্দান্ত অভিনয় করবে, এবং অন্যরা এটিকে একটি রাজকীয় যন্ত্রণায় পরিণত করবে: আপনার সময় এবং তার সময়কাল ভাল থাকতে পারে না।

যদি সময় / সময়সূচী খুব জটিল না হয় তবে আপনি একটি ভাল ডিজাইনের রাষ্ট্র মেশিন ব্যবহার করা ভাল। আমি ইতিমধ্যে সি / সি ++ এ প্রাকটিক্যাল স্টেটচার্টগুলি পড়ার সুপারিশ করব if আমি যেখানে কাজ করি আমাদের কয়েকটি প্রকল্পে আমরা এই পদ্ধতির ব্যবহার করেছি এবং জটিলতা পরিচালনার জন্য এটি traditionalতিহ্যবাহী রাষ্ট্রীয় মেশিনগুলির চেয়ে কিছু প্রকৃত সুবিধা পেয়েছি .... যা আপনাকে আরটিওএসের প্রয়োজন হওয়ার সত্য কারণ।


আমি একটি স্টার্টআপ সংস্থায় কাজ করি যেখানে সর্বাধিক অভিজ্ঞ এম্বেড থাকা সিস্টেমের ছেলেরা কলেজের বাইরেই থাকে (অর্থাত্ আমার নিজের এবং অন্যান্য লোকটি যা প্রায় ২ বছর ধরে আমার সাথে কাজ করছে)। আমি আমার কাজের সপ্তাহে শিল্প অনুশীলন সম্পর্কে নিজেকে শেখানোর সময়ের একটি খুব বড় অংশ ব্যয় করি। আমি পড়তে থাকাকালীন আমাকে সকলের জন্য অবহিত করা হয়েছে তবে আমাদের সর্বনিম্ন ব্যয় পদ্ধতির একটি আরটিওএস একটি বৃহত ইমপ্রোভমেন্ট হবে।
কর্টুক

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

তিনটি পোস্ট স্লট ব্যবহারের জন্য দুঃখিত, আপনার উত্তরটি খুব সহায়ক, আমি খুব স্বল্প সংস্থান সমাধানের সন্ধান করছি, তবে এই তথ্যটি মূল্যবান, সহায়তার জন্য আপনাকে ধন্যবাদ।
কর্টুক

মন্তব্য গণনা সম্পর্কে চিন্তা করবেন না (স্ট্যাক এক্সচেঞ্জের কাঠামোর অভাবে যে আইএমএইচওএই বিষয়টির অভাব রয়েছে তা আলোচনার জন্য সমর্থন ... কিউ / এ ফর্ম্যাট বেশিরভাগ জিনিসকে কভার করে তবে কিছু নয়) ... মনে হচ্ছে আপনার কী খুব সুন্দর একটি হ্যান্ডেল আছে তাতে আপনি খুজছেন. স্টিভ উল্লেখ করেছেন এমন ফ্রিআরটিওএসের দিকে আমি তাকাতে পারি নি তবে যদি এটি নিম্ন-প্রান্তের মাইক্রোকন্ট্রোলারগুলিতে পোর্ট করা হয়ে থাকে তবে এটি আপনার প্রয়োজনীয় সময়সূচী পরিচালনা করবে।
জেসন এস

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

26

আপনি কি ফ্রিআরটিওএস চেষ্টা করেছেন ? এটি নিখরচায় (টিঅ্যান্ডসি সাপেক্ষে), এবং এমএসপি ৪৪০ এবং পিআইসির বেশ কয়েকটি স্বাদে পোর্ট করা হয়েছে।

এটি অন্য কারও তুলনায় ছোট, তবে এটি শিখতেও সহজ করে তোলে বিশেষত আপনি যদি আরটিওএস ব্যবহার না করে থাকেন।

একটি (অবিহীন) বাণিজ্যিক লাইসেন্স পাওয়া যায়, পাশাপাশি একটি আইইসি 61508 / এসআইএল 3 সংস্করণ।


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

12

আমি সবেমাত্র নটেক্স আরটিএস সম্পর্কে জানতে পেরেছি , এটি এমনকি একটি 8052 (8-বিট) সিস্টেমে কাজ করতে পারে। এটিতে প্রচুর বন্দর নেই তবে এটি আকর্ষণীয় দেখাচ্ছে। পসিক্স একটি প্লাস হতে পারে, কারণ আপনি যদি একটি বিফায়ার প্রসেসরের কাছে যান এবং আপনি রিয়েল-টাইম লিনাক্স বা কিউএনএক্স চালাতে চান তবে এটি আপনার কোডটিকে কিছুটা আরও পোর্টেবল করতে পারে।

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

আরটিওএস ব্যবহার করার সময় আমি আপনাকে রেট মনোটোনিক অ্যানালাইসিস বা আরএমএ নিয়ে গবেষণা করার পরামর্শ দিই । এটি আপনাকে গ্যারান্টি দিতে সহায়তা করবে যে আপনার সমালোচনামূলক কাজগুলি তাদের সময়সীমা পূরণ করবে।

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


9

বেশ কয়েকটি মেশিনে আমি যে জিনিসটি দরকারী পেয়েছি তা হ'ল একটি সাধারণ স্ট্যাক সুইচার। আমি পিআইসির জন্য আসলে একটিও লিখিনি, তবে আমি আশা করব যে উভয় / সমস্ত থ্রেড মোট 31 বা তার চেয়ে কম স্ট্যাক স্তর ব্যবহার করলে পিক 18 এ পিকচারটি ঠিক কাজ করবে। 8051-তে, প্রধান রুটিনটি হ'ল:

_taskswitch:
  এক্সচ এ, এসপি
  xch a, _altSP
  এক্সচ এ, এসপি
  পচান

পিআইসি-তে, আমি স্ট্যাক পয়েন্টারের নামটি ভুলে যাই, তবে রুটিনটি এমন কিছু হবে:

_taskswitch:
  মুভলব _াল্টএসপি >> 8
  Movf _altSP, w, খ
  Movff _STKPTR, AltSP 
  Movwf _STKPTR, গ
  প্রত্যাবর্তন

আপনার প্রোগ্রামের শুরুতে, একটি টাস্ক 2 () রুটিন কল করুন যা বিকল্প স্ট্যাকের ঠিকানা দিয়ে AltSP লোড করে (16 সম্ভবত কোনও PIC18Fxx এর জন্য ভাল কাজ করবে) এবং টাস্ক 2 লুপটি চালায়; এই রুটিনটি আর কখনও ফিরে আসবে না অন্যথায় জিনিসগুলি বেদনাদায়ক মৃত্যুতে মরবে। পরিবর্তে, যখনই এটি প্রাথমিক কাজের নিয়ন্ত্রণ অর্জন করতে চায় তখন এটি _ টাস্কউইচকে কল করা উচিত; প্রাথমিক টাস্কটি তখনই টাস্কউইচকে কল করতে হবে যখনই এটি গৌণ কাজটি করতে চায়। প্রায়শই, কারওর মতো ছোট্ট রুটিনগুলি থাকে:

অকার্যকর বিলম্ব_t1 (স্বাক্ষরযুক্ত স্বল্প ভল)
{
  করা
    taskswitch ();
  যখন ((স্বাক্ষরযুক্ত স্বল্প স্বাক্ষরিত) (মিলিসেকেন্ড_ক্লোক - ভাল)> 0xFF00);  
}

নোট করুন যে টাস্ক সুইচারটির কোনও 'শর্তের অপেক্ষা' করার কোনও উপায় নেই; এটি সমর্থন একটি স্পিনওয়েট। অন্যদিকে, টাস্ক সুইচটি এত দ্রুত যে একটি টাস্কউইচ () চেষ্টা করার সময় যখন অন্য টাস্কটির টাইমারের মেয়াদ শেষ হওয়ার অপেক্ষায় থাকে তখন অন্য টাস্কটিতে স্যুইচ হয়ে যায়, টাইমারটি পরীক্ষা করে দেখবে এবং একটি সাধারণ টাস্ক-স্যুইচারের চেয়ে দ্রুত ফিরে যেতে হবে এটি নির্ধারণ করবে যে এটিতে টাস্কউইচের দরকার নেই।

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

(সম্পাদনা): স্বয়ংক্রিয় ভেরিয়েবল এবং এ সম্পর্কিত কয়েকটি দম্পতি

  1. যদি কোনও রুটিন যা টাস্ক-স্যুইচিং ব্যবহার করে উভয় থ্রেড থেকে ডেকে আনা হয়, তবে সাধারনত রুটিনের দুটি কপি সংকলন করা প্রয়োজন (সম্ভবত # বিভিন্ন উত্সর বিবৃতি সহ একই উত্স ফাইলটি দুবার অন্তর্ভুক্ত করে)। প্রদত্ত যে কোনও উত্স ফাইলটিতে কেবল একটি থ্রেডের কোড থাকবে, অথবা অন্যথায় এমন কোড থাকবে যা দু'বার সংকলিত হবে - প্রতিটি থ্রেডের জন্য একবার - তাই আমি "# সংজ্ঞা বিলম্ব (x) বিলম্ব_t1 (এক্স)" বা ম্যাক্রোগুলি ব্যবহার করতে পারি # নির্ধারিত বিলম্ব (x) বিলম্ব_টিএক্স (এক্স) "আমি কোন থ্রেড ব্যবহার করছি তার উপর নির্ভর করে।
  2. আমি বিশ্বাস করি যে পিআইসির সংকলকরা যে ফাংশনটি "দেখা" করতে পারে না তা ধরে নিতে পারে যে এই জাতীয় ফাংশনটি কোনও এবং সমস্ত সিপিইউ রেজিস্ট্রে ট্র্যাশ করতে পারে, এইভাবে টাস্ক-স্যুইচ রুটিনে কোনও রেজিস্টার সংরক্ষণের প্রয়োজনীয়তা এড়ানো হবে [এর তুলনায় একটি দুর্দান্ত সুবিধা প্রিমিটিভ মাল্টিটাস্কিং]। অন্য যে কোনও সিপিইউয়ের জন্য অনুরূপ টাস্ক স্যুইচার বিবেচনা করে যে কোনও ব্যক্তিকে ব্যবহারের ক্ষেত্রে নিবন্ধভুক্ত কনভেনশন সম্পর্কে সচেতন হওয়া দরকার। কোনও টাস্ক স্যুইচের আগে রেজিস্টারগুলিকে পুশ করা এবং তাদের পরে পপ করা জিনিসগুলির যত্ন নেওয়ার একটি সহজ উপায়, ধরে নেওয়া যথেষ্ট পর্যাপ্ত স্ট্যাকের জায়গা রয়েছে।

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


1
দুর্দান্ত উত্তর। আমি মনে করি আমার নিজস্ব আরটিওএসে পৌঁছানোর সংস্থানগুলিতে কিছু লিঙ্ক পাওয়া আকর্ষণীয় হবে। এখানে আমার ফোকাসটি সত্যই সত্যিকারের সময়টি নিশ্চিত করার কাজটি করেছে এমন একজন বিক্রেতার কাছ থেকে একটি উচ্চ মানের আরটিওএস পাচ্ছিল, তবে এটি আমার জন্য মজাদার শখের প্রকল্প হতে পারে।
কর্টুক

1
দুর্দান্ত, কখনও এসপি পরিবর্তন করার মতো কাজগুলি কখনও ভাবেননি ...
নিকহাল্ডেন

1
@ জেগর্ড: আমি 8x51 এবং একটি টিআই ডিএসপিতে ছোট ছোট টাস্ক-স্যুইচার করেছি। উপরে দেখানো 8051, যথাযথভাবে দুটি কাজের জন্য তৈরি করা হয়েছে। চারটি দিয়ে ডিএসপি ব্যবহার করা হয় এবং এটি আরও জটিল। যদিও আমি কেবল একটি ক্রেজি ধারণা পেয়েছি: একজন কেবল তিনটি টাস্কউইচার ব্যবহার করে চারটি কাজ পরিচালনা করতে পারে। প্রতিবার প্রথম দুটি টাস্কের মধ্যে যে কোনও একটি টাস্ক-স্যুইচ করতে চাইলে, এটি টাস্কসুইচ 1 এবং টাস্কসুইচ 2 কল করে। যখন দ্বিতীয় দুটি টাস্কগুলির মধ্যে একটি যদি টাস্কউইচ করতে চায় তখন তার উচিত টাস্কউইচ 1 এবং টাস্কউইচ 3 কল করা উচিত। ধরুন কোডটি স্ট্যাক0-এ শুরু হয় এবং প্রতিটি কার্য স্যুইচার তার সাথে সম্পর্কিত স্ট্যাক নম্বর দিয়ে সেট করা হয়।
সুপারক্যাট

@ জেগর্ড: হুম ... এটি বেশ কার্যকর নয়; এটি একটি 3-রাউন্ড রাউন্ড-রবিন উত্পন্ন বলে মনে হচ্ছে এবং তৃতীয় সুইচারটিকে উপেক্ষা করবে। ঠিক আছে, পরীক্ষা এবং আমি মনে করি আপনি সম্ভবত একটি ভাল সূত্র পাবেন।
সুপারক্যাট

7

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

AVR32 এ আমি ফ্রিআরটিওএস ব্যবহার করছি। আবার এখন পর্যন্ত খুব নির্ভরযোগ্য তবে ফ্রিআরটিওএস প্রকাশিত সংস্করণ এবং এটিমেল ফ্রেমওয়ার্কের সাথে সরবরাহিত সংস্করণটির মধ্যে আমার কিছু কনফিগারেশন / সংস্করণ বৈষম্য রয়েছে। এটি তবে সুবিধা যে এটি বিনামূল্যে!


5

প্রতিদিনের প্রাকটিক্যাল ইলেকট্রনিক্সের ডিসেম্বর সংস্করণে পিআইসিদের জন্য রিয়েল টাইম অপারেটিং সিস্টেমের একটি সিরিজের অংশ 3 রয়েছে (পিআইসি এন 'মিক্স কলামে) এবং এমপিএলবি এবং একটি পিকিত 2 সহ ফ্রিআরটিওএস স্থাপনের বিশদ রয়েছে। আগের দুটি নিবন্ধ (যা আমি দেখে নেই) বিভিন্ন আরটিওসের মেধা নিয়ে আলোচনা করেছে এবং ফ্রিআরটিওএসে স্থির হয়েছে বলে মনে হচ্ছে। বর্তমান নিবন্ধটি বিকাশের পরিবেশ নির্ধারণ করার পরে তারা বাইনারি ডিজিটাল ঘড়ির নকশা শুরু করে। এটি প্রদর্শিত হচ্ছে যে এই বিষয়ে কমপক্ষে আরও একটি অংশ আসতে হবে।

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


4

পিআইসির সিসিএস সংকলনটি একটি সাধারণ আরটিওএস নিয়ে আসে। আমি এটি চেষ্টা করে দেখিনি, তবে আপনার যদি এই সংকলকটি থাকে তবে এটির সাথে পরীক্ষা করা সহজ।


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

2
আমি মনে করি এটি এখনও একটি আরটিওএস নামে পরিচিত। এটির মতো এটির মতো মনে হচ্ছে এটির সম্পূর্ণ পূর্বনির্ধারিত সময়সূচীর পরিবর্তে একটি সমবায় শিডিয়ুলার রয়েছে।
জে অ্যাটকিনসন

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

3

ঘনিষ্ঠভাবে সম্পর্কিত প্রশ্ন: https://stackoverflow.com/questions/1624237/multithreading- using-c-on-pic18


ধন্যবাদ! দেখে মনে হচ্ছে বেশিরভাগ লোকেরা প্রশ্নটি পাননি তবে এটি এখনও আকর্ষণীয়।
কর্টুক

আমি এসও-তে প্রশ্নটিতে পোস্ট করেছিলাম ব্যবহারকারীকে সাহায্যের জন্য ই & আর এ আসার জন্য আমন্ত্রণ জানাচ্ছি!
কর্টুক

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

2

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

কোনটি সবচেয়ে গুরুত্বপূর্ণ তার উপর নির্ভর করে মাইক্রোকন্ট্রোলারে সময় সংগঠিত করার বিভিন্ন উপায় রয়েছে:

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

  2. সমস্ত বাধা: পিআইসিতে ঘটে যাওয়া সমস্ত কিছু একটি বাধা দ্বারা ট্রিগার করা হয়। ইভেন্টের গুরুত্ব অনুসারে বাধাগুলিকে অগ্রাধিকার দেওয়া যেতে পারে।

  3. এটিকে একটি লুপে আটকে দিন এবং যত দ্রুত সম্ভব সবকিছু করুন। আপনি এটি উপযুক্ত সময়সীমা সরবরাহ করতে পারেন।


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