এমবেডেড সিস্টেম প্রোগ্রামিং এবং এর ভাষাগুলি কী

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





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

এম্বেডড সিস্টেমের উপাদান

নিম্নলিখিত এম্বেড থাকা সিস্টেমের উপাদানগুলি রয়েছে




  • এম্বেড করা হার্ডওয়্যার: মাইক্রো-কন্ট্রোলার এম্বেড থাকা সিস্টেমের কেন্দ্রস্থল, যেখানে একাধিক পেরিফেরালগুলি যোগাযোগের উদ্দেশ্যে এম্বেড করা হার্ডওয়্যারটিতে ইন্টারফেস করা হয়।
  • এম্বেড করা আরটিও'র: একটি এম্বেড থাকা রিয়েল-টাইম অপারেটিং সিস্টেমটি সমস্ত জটিল (আর ক্রিয়াকলাপগুলি) সম্পাদন করতে ব্যবহৃত হয়।
  • ডিভাইস ড্রাইভার: এটি অপারেটিং সিস্টেম এবং পেরিফেরাল ডিভাইসের মধ্যে একটি সেতু হিসাবে কাজ করে।
  • যোগাযোগের স্তূপ: এটি বাহ্যিক ডিভাইসের সাথে যোগাযোগের জন্য ব্যবহৃত হয়।
  • এম্বেড করা অ্যাপ্লিকেশন: এটি এম্বেড থাকা ডিভাইসের পূর্বনির্ধারিত ফাংশন সম্পাদন করে।
এম্বেড থাকা সিস্টেমের উপাদানগুলি

এম্বেড থাকা সিস্টেমের উপাদানগুলি

এম্বেড সফটওয়্যার

একটি এম্বেড থাকা সফ্টওয়্যার বা এম্বেড হওয়া সিস্টেম প্রোগ্রামিং হ'ল কম্পিউটার সফটওয়্যার, যা নির্দেশাবলীর একটি সেট সরবরাহ করে ডিভাইসগুলি নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি হিসাবে নামকরণ করা হয় ফার্মওয়্যার, বিভিন্ন কার্যকারিতা সহ বিভিন্ন ডিভাইসগুলি এম্বেডড সফ্টওয়্যার ব্যবহার করে ডিজাইন সীমাবদ্ধতাগুলি (যেমন প্রতিক্রিয়ার সময় সীমাবদ্ধতা, কঠোর সময়সীমা, এবং প্রক্রিয়াজাত ডেটা) বজায় রেখে প্রোগ্রাম করা যায় এবং এতে চূড়ান্ত ডেটা সংরক্ষণ করে স্মৃতি (রাম / রোম)



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

এম্বেড করা সিস্টেম প্রোগ্রামিং ভাষা

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

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

সমাবেশ ভাষায় একটি এম্বেড সিস্টেমের প্রোগ্রামিং

একটি এম্বেড থাকা সিস্টেমের প্রোগ্রামিং এসেম্বলি (ইনপুট) এবং রূপান্তর করা যন্ত্র-স্তরের ভাষা language (আউটপুট) একটি এসেমব্লার ব্যবহার করে নিম্নলিখিত উদাহরণটি ব্যবহার করে ব্যাখ্যা করা যেতে পারে, যেখানে আমরা দুটি স্প্রেট রেজিস্টার ব্যবহার করে দুটি সংখ্যার সংযোজন সম্পাদন করি এবং ফলাফল আউটপুট রেজিস্টারে সংরক্ষণ করি।


ইনপুট

এখানে: মোভ আর0, # 01 এইচ

মোভ # 1, # 02 এইচ

মোভ এ, আর 0

এডি, এ, আর ১

মোভ পি0, এ

সিম্প এখানে

আউটপুট

ঠিকানা অপকোড অপেরাড ra

0000 78 01
0002 79 02
0004 ই 8 -
0005 29 -
0006 F5 80
0008 80 00

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

সি, সি ++, জাভা এবং এম্বেডেড সি সম্পর্কে

সি প্রোগ্রামিং

সি ল্যাঙ্গুয়েজ একটি কাঠামো-ভিত্তিক ভাষা, ডেনিস রিচি দ্বারা বিকাশিত। এটি সাধারণ সংকলকটি ব্যবহার করে কম স্মৃতি অ্যাক্সেস সরবরাহ করে এবং মেশিনের নির্দেশাবলী অনুযায়ী দক্ষতার সাথে ডেটা সরবরাহ করে। তারা এম্বেড থাকা সিস্টেম থেকে সুপার কম্পিউটারগুলিতে বিস্তৃত রেঞ্জগুলিতে প্রযোজ্য।

এম্বেড করা সি

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

নিম্নলিখিত সুবিধার কারণে এম্বেড সিস্টেমে সি এর ব্যবহার

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

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

সি ++

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

জাভা

একটি এম্বেড থাকা সিস্টেম JAVA ভাষায় প্রোগ্রাম করা যেতে পারে, JAVA ভার্চুয়াল মেশিন (JVM) ব্যবহার করে যা প্রচুর সংস্থান ব্যবহার করে ses এটি প্রাথমিকভাবে উচ্চ-অ্যাপ্লিকেশনগুলিতে (মোবাইল ফোনের মতো) ব্যবহার সন্ধান করে এবং অ্যাপ্লিকেশনগুলি প্রক্রিয়া করার জন্য সিস্টেম জুড়ে বহনযোগ্যতা সরবরাহ করে। এটি ছোট এম্বেড থাকা ডিভাইসের জন্য পছন্দ হয় না।

এম্বেড করা সি প্রোগ্রামিং আর্কিটেকচার এবং উদাহরণ

এম্বেডেড সি প্রোগ্রামিং আর্কিটেকচার ব্যবহারের উদাহরণ দিয়ে বোঝা যায় 8051 মাইক্রো-কন্ট্রোলার , যেখানে এর ফাংশনটি LED বাল্বকে জ্বলজ্বল করা যা নিয়ামকের PORT1 এর সাথে সংযুক্ত এবং ব্যবহৃত সংকলক হ'ল কেইল সি সংকলক। নিম্নলিখিত জন্য কোড এলইডি পলক

# অন্তর্ভুক্ত // প্রাক প্রসেসরের নির্দেশ
অকার্যকর বিলম্ব (int) // বিলম্ব কার্যের ঘোষণা
অকার্যকর মূল (অকার্যকর) // মূল ফাংশন
{
পি 1 = 0x00 // পোর্ট 1 বন্ধ রয়েছে তাই এলইডি বন্ধ রয়েছে এবং Reg51.h এ সংরক্ষণ করা হয়
(1) // অনন্তের লুপ
{
পি 1 = অক্সএফএফ //// পোর্ট 1 চালু রয়েছে তাই এলইডি চালু রয়েছে
বিলম্ব (1000) // বিলম্ব বিলম্ব
পি 1 = 0 এক্স 100 // পোর্ট 1 বন্ধ
বিলম্ব (1000)
}
}
অকার্যকর বিলম্ব (int d) // বিলম্ব ফাংশন নির্ধারণ
{
স্বাক্ষরবিহীন int i = 0 // ভেরিয়েবল স্থানীয়ভাবে নির্ধারিত
(d> 0 d-) এর জন্য
{
(i = 250 i> 0i–) এর জন্য
(i = 248 i> 0i–) এর জন্য
}
}

সুবিধাদি

এম্বেডেড সফ্টওয়্যার এর সুবিধাগুলি নীচে দেওয়া হল

  • ডেটা লোড করা দ্রুত
  • খরচ কম
  • কম সংস্থান ব্যবহার করে।

অসুবিধা

এম্বেডযুক্ত সফ্টওয়্যারগুলির অসুবিধাগুলি নীচে রয়েছে

  • আপগ্রেডিং জটিল
  • যদি কোনও সমস্যা দেখা দেয় তবে প্রতিটি সময় পুনরায় সেট করা প্রয়োজন
  • ছোট মানগুলির জন্য স্কেলিবিলিটি কঠিন।

অ্যাপ্লিকেশন

নিম্নলিখিত এম্বেডেড সফ্টওয়্যার এর অ্যাপ্লিকেশন

  • ব্যাংকিং
  • অটোমোবাইল
  • গৃহস্থালী যন্ত্রপাতি
  • গাড়ি
  • মিসাইল ইত্যাদি

FAQ এর

1)। একটি এম্বেডেড সফ্টওয়্যার কী?

একটি এম্বেড থাকা সফ্টওয়্যার বা এম্বেড থাকা সিস্টেম প্রোগ্রামিং হ'ল কম্পিউটার সফটওয়্যার, যা নির্দেশাবলী সরবরাহ করে ডিভাইসগুলি নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

2)। এমবেডেড সিস্টেম সফটওয়্যারগুলিতে কী কী প্রোগ্রাম ব্যবহৃত হয়?

এম্বেড থাকা সিস্টেম সফ্টওয়্যার প্রোগ্রামগুলি সি বা সি ++, ফাইটন এবং জাভা স্ক্রিপ্টগুলিতে প্রোগ্রাম করা হয়।

3)। এমবেডেড সিস্টেম এবং সাধারণ সিস্টেমের মধ্যে পার্থক্য কী?

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

4)। এমবেডেড সিস্টেমের বিভিন্ন প্রকারগুলি কী কী?

এম্বেড সিস্টেম দুটি বিভাগে শ্রেণিবদ্ধ করা হয়

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

5)। এম্বেড থাকা সিস্টেমের প্রধান অ্যাপ্লিকেশন

একটি এম্বেড থাকা সিস্টেমের প্রধান অ্যাপ্লিকেশনগুলি হ'ল

  • ধৌতকারী যন্ত্র
  • ডিজিটাল ক্যামেরা
  • সংগীত প্লেয়ার, ইত্যাদি।

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