আপনি একটি কম্পিউটার ছাড়া একটি মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে পারেন?


16

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

আমি বুঝতে পেরেছি যে সত্যিই কিছু করার জন্য আপনার উপযুক্ত I / O এবং মেমরির প্রয়োজন হবে , তবে আপনি যদি এতটা প্রবণ হয়ে থাকতেন এবং সময় থাকতেন তবে আপনি কি এটি করতে পারতেন? আমার ধারণা, historতিহাসিকভাবে, যখন কম্পিউটার / সংকলক / এসেম্বলার শুরু করার ব্যবস্থা ছিল না তখন এটি কীভাবে করা হয়েছিল? আমাকে বাইরের সংস্থায় লিঙ্ক করতে নির্দ্বিধায় মনে হয়। ধন্যবাদ! :)


3
আল্টায়ার ১ টি দেখুন The সম্মুখ প্যানেলগুলির স্যুইচ এবং ম্যানুয়াল মেশিন প্রোগ্রামিংই এটির ব্যবহারের একমাত্র উপায় ছিল।
pjc50

@ pj50 তিনি মাইক্রোপ্রসেসর নয়, একটি মাইক্রোকন্ট্রোলার সম্পর্কে জিজ্ঞাসা করেছিলেন। মাইক্রোকন্ট্রোলাররা তাদের কোডগুলি আমাদের ফ্ল্যাশ চালায় যা কোনও ধরণের ইন্টারফেস ছাড়া অ্যাক্সেসযোগ্য নয়।
tcrosley

আপনার কতটি প্রোগ্রামড ইউনিট দরকার? অনেক নির্মাতারা আপনার কোড সহ তাদের পূর্ব-প্রোগ্রামযুক্ত মাইক্রো সরবরাহ করবে; তবে, আপনি যদি পুরো রিলের চেয়ে কম প্রয়োজন তবে এটি ব্যবহারিক নয়।
ওলেগ মাজুরভ

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

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

উত্তর:


37

আপনি কি আপনার কোডটি সমাবেশে লিখতে পারেন, এটিকে (ম্যানুয়ালি) মেশিন কোডে রূপান্তর করতে পারেন,

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

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

... এবং তারপরে একটি ভোল্টেজ উত্স ব্যবহার করে উপযুক্ত পিনগুলিতে শক্তি প্রয়োগ করবেন?

হ্যাঁ!
তবে এটি করতে অবিশ্বাস্যভাবে ধীর হবে!
অনেক আধুনিক মাইক্রোকন্ট্রোলার প্রোগ্রামিংয়ের জন্য "এসপিআই" ইন্টারফেস ব্যবহারের অনুমতি দেয়।
এটিতে সাধারণত ইনপুট এবং আউটপুট ডেটা লাইন এবং একটি "ক্লক" লাইন থাকে এবং সাধারণত একটি রিসেট লাইন থাকে।

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

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


MC6800:

আধা-বিবর্ণ মেমরি থেকে (প্রায় 40 বছর!)

এলডিআই এ, $ 7 এফ ...... 86 7 এফ ...... 1000 0110 0111 1111
এসটিএ, $ 1234 ...... বি 7 12 34 ... 1011 0111 0001 0010 0011 0100
এলডিআই এক্স, $ 2734 .. । সিই 27 34 ... 1100 1110 0010 0111 0011 0100
...


1
স্থির নকশা উল্লেখ করার জন্য +1, ঘড়িকে সমস্ত পথে ডিসিতে যেতে দেয়।
পেরিসিথিয়নিয়ন

2
এই স্মৃতি ফিরে আসে। আমি আসলে স্কুলে ফিরে বোতাম ব্যবহার করে জেড 80 কোড প্রবেশ করা শিখেছি। এটি ছিল ১৯৯০ সালের কাছাকাছি My আমার শিক্ষক জোর দিয়েছিলেন যে শক্তভাবে প্রোগ্রামিং শেখা মূল্যবান। 25 বছর পরে আমার একমত হতে হবে।
নিলস পিপেনব্রিংক

@ নীলপিপেনব্রিন্ক আমি এই মুহুর্তে সি কোড লিখছি এবং ফোরট্রানের সাথে আমি প্রথম শিখেছি পাঠ প্রয়োগ করছি :-) !!! - এবং এরপরে এম্বেডড সিস্টেম এবং সমাবেশ ভাষা দিয়ে সম্মান জানানো হয়েছিল। এই পাঠগুলি ভেরিয়েবল এবং পোর্ট অ্যাক্সেসগুলিতে মানসিক-টাইপ প্রয়োগ করে ত্রুটির সম্ভাবনা হ্রাস করে যা অন্যথায় অনুমতিপ্রাপ্ত তবে পছন্দসই বা দরকারী নয় এমন কিছু করতে পারে। এসেম্ব্লার হ'ল চূড়ান্ত ধারালো অস্ত্র - একটি ডাবল এন্ড তরোয়াল যার হাতে নেই। এর পরে "উচ্চ স্তরের" ভাষাগুলি কম তীক্ষ্ণ বলে মনে হচ্ছে :-)। জেড 80 বোতাম এন্ট্রি আপনার শেখার অভিজ্ঞতাগুলিতে একইভাবে কাজ করে ;-)।
রাসেল ম্যাকমাহন

@ ইরবুরেথ ধন্যবাদ :-)। হ্যাঁ ffff 1111 এর জন্য স্পষ্টভাবে মস্তিষ্কের বিবর্ণ ছিল। ... কেবল "আপনি ধারণাটি পেয়েছিলেন" তবে লাইনটি শেষ করা কোনও ক্ষতি করে না।
রাসেল ম্যাকমাহন

হ্যাঁ, আমি ধারণাটি পেয়েছিলাম, কিন্তু যখন আমি এটিতে ছিলাম ... :)
এরবুরেথ মনিকা

10

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

এটি আক্ষরিক অর্থে, সেখানে একটি কার্ড নিয়ে বসে ম্যানুয়ালি এতে গর্ত তৈরি করছিল।

এখানে চিত্র বর্ণনা লিখুন

প্রতিটি কলাম হ'ল একটি নির্দেশ বা বিট ডেটা যা সিপিইউর রাজ্য মেশিন দ্বারা কার্য সম্পাদন করার জন্য ব্যাখ্যা করা হয়।

এখন অবশ্যই যদি এটি সমস্ত ফ্ল্যাশ মেমরি, এবং হ্যাঁ, সেখানে প্রথম স্থানে ডেটা পাওয়ার জন্য সাধারণত এটি করার জন্য একটি কম্পিউটারের প্রয়োজন। তবে এটি কঠোরভাবে 100% সত্য নয়।

সর্বোপরি, একটি কম্পিউটার এবং হার্ডওয়্যার প্রোগ্রামার সঠিক সময়ে আইও পিনের স্থিতি সেট করে তবে কী করে? সুতরাং, আপনি যদি সত্যই যথেষ্ট মস্কোস্টিক হন তবে আপনি এমন একটি সিস্টেম তৈরি করতে পারেন যা আপনাকে মাইক্রোকন্ট্রোলারের প্রোগ্রামিং পিনগুলিতে সঠিক নির্দেশাবলী প্রবাহের জন্য ফ্ল্যাশ মেমরিতে কিছু নির্দেশাবলী ইনস্টল করতে দেয় send

প্রচুর সুইচ, কিছু শিফট রেজিস্টার, একটি ক্লক জেনারেটর ইত্যাদি জড়িত কিছু হতে পারে

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


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

@ টিক্রোসলে জেড 80 হ'ল উপাখ্যানীয় উদ্দেশ্যগুলির জন্য - ভিজ্যুয়াল স্টুডিওর সমস্ত দক্ষতা দূরে নিয়ে যাওয়ার আগে কম্পিউটারগুলি কীভাবে প্রোগ্রাম করা হত তা চিত্রিত করে।
মাজনকো

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

2
আমি নিজে হাতে গর্ত কাটা ব্যবহৃত। এটি কেবলমাত্র চরম পরিস্থিতিতেই সম্ভব (সোমবার রাত ১০ টা, মেয়াদী কাগজপত্র আগামীকাল, এক মেইনফ্রেম বামে, পাঞ্চ রুমের মহিলাটি দিনের জন্য রেখে গেছে)। সামনের প্যানেল থেকে একই মেইনফ্রেম প্রোগ্রামিং (কয়েক বছর পরে) আসলে দ্রুত ছিল।
ওলেগ মাজুরভ

1
@ মাজেঙ্কো - আমি ব্যাবেজের মেশিনটির পুনর্গঠন দেখেছি এবং এটি অবশ্যই টেলিফোনের সরঞ্জাম থেকে তৈরি হয়নি। অবশ্যই গোলমাল।
হট লিক্স

7

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

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

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

প্রায় সমস্ত মাইক্রোকন্ট্রোলারগুলিতে বাইরের ঠিকানা এবং ডেটা বাসের অভাবের কারণে (যেহেতু তারা I / O পোর্ট এবং পেরিফেরিয়ালগুলি দ্বারা প্রয়োজনীয় অনেকগুলি পিন গ্রহণ করবে), কার্যত সমস্ত মাইক্রোকন্ট্রোলারকে এই জাতীয় একটি বিশেষ ইন্টারফেসের মাধ্যমে প্রোগ্রাম করা হয়:

enter image description here

সাধারণত বামদিকে "প্রোগ্রামার" একটি পিসির সাথে সংযুক্ত থাকে, যা সংকলক / লিঙ্কার দ্বারা উত্পাদিত একটি মেশিন ফাইল ডাউনলোড করবে।

তবে যদি প্রোগ্রামারটির কীবোর্ড থাকে তবে নীচের মত:

enter image description here

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

মঞ্জুরিপ্রাপ্ত খুব কম প্রোগ্রামারদের এর মতো কীবোর্ড রয়েছে। এটি কোনও শখের জন্য উপযুক্ত না কারণ এটির জন্য সম্ভবত কয়েক হাজার ডলার খরচ হয়।

এই নির্দিষ্ট প্রোগ্রামার প্রোগ্রামগুলির অংশগুলি একটি বোর্ডে রাখার আগে; ইন্টারফেস এবং সকেট বিভিন্ন PIC- র জন্য এবং অন্যদের মধ্যে আতেল এভিআরগুলির জন্য উপলব্ধ।


5
আপনি অন্যান্য বিভিন্ন উত্তরের বিষয়ে মন্তব্য করেছেন তাদের অকার্যকরতা, তবে আপনি যে মন্তব্য করেছেন তার চেয়ে এই উত্তরটি তর্কযোগ্যভাবে কম বৈধ। তিনি বলেছিলেন "... কোনও ইন্টারফেসিং নেই, কম্পিউটার নেই, ..."। সর্বনিম্ন আপনার সমাধানটি "একটি কম্পিউটার"। "কোন ইন্টারফেসিং" এর অর্থ হ'ল মোট। তবে, এসপিআই ইন্টারফেসে কিছু উত্সাহিত সুইচগুলি ব্যবহার করুন এবং আপনার পক্ষে যুক্তিযুক্ত সমাধান রয়েছে।
রাসেল ম্যাকমাহন

1
@ রাসেলম্যাকমাহন কে বলেন প্রোগ্রামারটিতে একটি কম্পিউটার আছে? তাদের মধ্যে অনেকে কেবল এফপিজিএ ব্যবহার করেন (যা পৃথক যুক্তি দ্বারা প্রতিস্থাপিত হতে পারে)) আপনি কীভাবে কোনও এসপিআই ইন্টারফেসের মাধ্যমে মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে যাচ্ছেন, যদি না এটিতে বুটলোডার না থাকে? যদি তা হয় তবে আপনি কীভাবে বুটলোডার প্রোগ্রাম করবেন?
tcrosley

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

আমার বলতে হবে, বৈদ্যুতিন সরঞ্জামগুলির সাথে কাজ করার সময় আতশবাজি ব্যবহার করা ভুল পটভূমি :)
বেনামে পেঙ্গুইন

6

ব্যবহারিক বিষয় হিসাবে, JTAG পিনগুলি ম্যানুয়ালি টগল করার মতো কিছু খুব ত্রুটি-প্রবণ হবে। যে কোনও শালীন আকারের একটি প্রোগ্রাম ইনপুট করতে কয়েক হাজার টগল লাগবে। তবে তাত্ত্বিকভাবে, এটি সম্ভব।

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

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

অবশ্যই, আপনি এমন একটি মাইক্রোকন্ট্রোলারও ব্যবহার করতে পারেন যা বাহ্যিক মেমরি ইন্টারফেসের বাইরে কোড চালায়, তবে এটি প্রতারণা করছে। :-)


2
আসলে, আমি 1976/77 সালে একটি ইমসাই 8800 "ক্লোন" তৈরি করেছি এবং টগল সুইচগুলি ব্যবহার করে এটি নিয়মিতভাবে বাইনারিতে প্রোগ্রাম করতাম। আমার একটি বুট-লোড সিকোয়েন্স ছিল যা প্রায় 40- বা 60-বিজোড বাইট ছিল (এটি আজীবন আগে ছিল!) যা আমার এএসআর -৩৩ টেলিফোনটি থেকে একটি কাগজপত্র পড়ত এবং আমাকে একটি কীবোর্ড মনিটরে নিয়ে যেত। টেলি-টাইপ কাজ করার আগে আমি 8085 (আমার "ক্লোন" এবং ইমসাইয়ের মধ্যে অন্যতম পার্থক্য) বাইনারিগুলিতে কঠোরভাবে প্রোগ্রাম করতাম। কিন্তু এটি ছিল সমান্তরাল, এক সারি সুইচের সাথে। সিরিয়াল এনকোডিং করতে আমি একটি টেলিগ্রাফ কী ব্যবহার করেছি এবং এটি আদতে ত্রুটি-প্রবণ, যেমনটি অ্যাডাম জানিয়েছেন।
ব্যবহারকারী 6297

3

একেবারে। আসলে, আমি প্রথম মাইক্রোপ্রসেসর কোর্সটি নিয়েছিলাম (সার্কায় 87) একটি মটোরোলা 68000 বোর্ড ব্যবহার করেছে। আমরা সমাবেশে কোডটি তৈরি করব, সমাবেশের জন্য হেক্সস সন্ধান করব এবং বোর্ডকে প্রোগ্রাম করার জন্য টেক্সটটিতে হেক্সটি টাইপ করব। আপনি যদি সম্পাদনা করেন তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে কোডটি আপনি রেখেছিলেন সেটি আপনার পরিবর্তিত কোডের চেয়ে কম ছিল এবং তারপরে বাকী অংশটি এনওপি দিয়ে বাফার করবেন। কোডিটি যদি দীর্ঘ হয় তবে আপনাকে সমস্ত কিছু আবার টাইপ করতে হবে! আমরা প্রচুর পরিমাণে এনওপি যুক্ত করতে শিখেছি।


68000 কোনও মাইক্রোকন্ট্রোলার ছিল না। তিনি একটি মাইক্রোকন্ট্রোলার সম্পর্কে জিজ্ঞাসা করেছিলেন, কোনও মাইক্রোপ্রসেসর নয়। মাইক্রোকন্ট্রোলাররা তাদের কোডগুলি আমাদের ফ্ল্যাশ চালায় যা কোনও ধরণের ইন্টারফেস ছাড়া অ্যাক্সেসযোগ্য নয়।
tcrosley

5
@tcrosley- এটি কঠোরভাবে সত্য নয়। এমন কোনও মাইক্রোকন্ট্রোলার রয়েছে যাগুলির বাহ্যিক রমের প্রয়োজন কারণ তাদের নিজস্ব কোনও রম বা ফ্ল্যাশ নেই। এগুলি কীসের জন্য একটি মাইক্রোকন্ট্রোলার তৈরি করে তা র্যাম বা রমে তৈরি হয় না, তবে পেরিফেরিয়ালে নির্মিত হয় (আইও পোর্টস, ইউআরটি ইত্যাদি)।
মাজেঙ্কো

খুব কম যদিও - আপনি কেবলমাত্র I / O পেরিফেরিয়ালগুলির কারণে, খুব কম লোকেরই বাহ্যিক ঠিকানা এবং ডেটা বাস রয়েছে কারণ তাদের দুটি আরও পিন প্রয়োজন require
tcrosley

2

একেবারে। একবার আপনার কাছে আসল নির্দেশাবলীর বাইনারি ফর্ম্যাট হয়ে গেলে (সুনির্দিষ্ট নির্দেশাবলীর জন্য সেট করা সহজ) প্রোগ্রামিং প্রোটোকলটি কার্যকর করা দরকার all

উদাহরণস্বরূপ, একটি এভিআর টিনি 4 এর মতো ছোট কিছু নিন । বিভাগে প্রোটোকল এবং শারীরিক স্তর সহ প্রোগ্রামিং ইন্টারফেসের বিশদ বিবরণ রয়েছে। এটি তুলনামূলকভাবে সহজ এবং আপনার 1 বা একটি 0 পাঠাতে / রিসিভ করতে আপনাকে কয়েকটি বোতাম এবং পুলআপ / ডাউন রেজিস্টার প্রয়োজন amb

শেষ বাকি সমস্যাটি যদি আপনি এটি দ্রুত করতে পারেন তবে যা ভাগ্যক্রমে * এভিআর ক্ষুদ্র 4 (বিভাগ 16) এর জন্য, এটি প্রোগ্রামিংয়ের ক্ষেত্রে এটির কোনও ন্যূনতম ফ্রিকোয়েন্সি নেই।

* দ্রষ্টব্য: যতটা ডেটাসিট নির্দিষ্ট করে। এটি বাস্তবে ভিন্ন হতে পারে ... আমি সন্দেহ করি যে কেউ এমএইচজেড ঘড়ির গতিতে এটির প্রোগ্রামিংয়ের চেষ্টা করেছে।

এটিকে স্বয়ংক্রিয়ভাবে নির্দ্বিধায় যথাযথ প্রক্রিয়াটি / অল্প পরিমাণে স্বচ্ছন্দ করুন। বেশিরভাগ প্রোগ্রামিং ডিভাইসগুলি যাইহোক এটি করেন: প্রক্রিয়াটি স্বয়ংক্রিয় করুন।


2

আপনি যে প্রোগ্রামটিকে ইউসিতে ইনপুট করেন তার দ্বারা আপনি এটির সাথে "ইন্টারফেসিং" করছেন, কারণ এটি ইন্টারফেসিংয়ের অর্থ ing এমনকি ম্যানুয়ালি ফ্লিপ করে এমন একগুচ্ছ স্যুইচ হ'ল একটি "ইন্টারফেস"।

সুতরাং আমি এই প্রশ্নের সাথে বিবেচনা করব "আমি কীভাবে একটি ইউসির সাথে ইন্টারফেসিং করব - মূলত - মেকানিকাল- (বৈদ্যুতিনের বিপরীতে) ইন্টারফেসিং হার্ডওয়্যার দিয়ে এবং যতটা সম্ভব শীতল উপায় হিসাবে?"

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


2

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


2

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

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

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


1

হ্যাঁ. মূল ইস্যুটি প্রোগ্রামিং ইন্টারফেসের সাথে ইন্টারঅ্যাক্ট করতে পারে। আপনার যদি একটি সাধারণ ঠিকানা এবং ডেটা বাস থাকে তবে জিনিসগুলি কিছুটা সহজ। আপনি কি সত্যিই প্রাথমিক কিছু কম্পিউটার দেখেছেন? প্রোগ্রামগুলি সামনের দিকে স্যুইচ সহ র‌্যামে একবারে একটি নির্দেশ প্রবেশ করানো হয়।


তিনি একটি মাইক্রোকন্ট্রোলার সম্পর্কে জিজ্ঞাসা করেছিলেন, কোনও মাইক্রোপ্রসেসর নয়। মাইক্রোকন্ট্রোলাররা তাদের কোডগুলি আমাদের ফ্ল্যাশ চালায় যা কোনও ধরণের ইন্টারফেস ছাড়া অ্যাক্সেসযোগ্য নয়।
tcrosley

4
@ টিক্রোসলে - প্রারম্ভিক ইউসির কাছে ফ্ল্যাশ ছিল না। প্রোগ্রাম স্টোরের জন্য তাদের কাছে র‌্যাম বা রম ছিল।
হট লিক্স

@ হটলিক্স সঠিক এবং মাত্র কয়েকটি ব্যতিক্রম ব্যতীত, এগুলি সমস্ত মাইক্রোপ্রসেসর ছিল, মাইক্রোকন্ট্রোলার নয়। এটি আমার বক্তব্য ছিল না, প্রোগ্রামের স্টোরটি ফ্ল্যাশ, বা রম, বা প্রম, বা ইপ্রোম বা ইপ্রোম ছিল not মূল বিষয় ছিল প্রোগ্রামের দোকানটি চিপ (মাইক্রোকন্ট্রোলার) এ ছিল কিনা (মাইক্রোপ্রসেসর)। এমনকি 8048, 1977 সালে ইন্টেলের প্রথম মাইক্রোক্রন্টোলার চালু হয়েছিল, অভ্যন্তরীণ রম ছিল।
tcrosley

3
পছন্দ করুন এবং আপনি সাধারণত সহায়ক এবং আপত্তিজনক tcrosley দিয়ে কি করেছেন? :-) | তার প্রথম পর্যবেক্ষণটি হ'ল আপনি প্রোগ্রামিং ইন্টারফেসের সাথে ইন্টারেক্ট করতে পারবেন - যা প্রায়শই তবে সর্বদা বৈধ হবে না। "আইএফ" পুনরায় ঠিকানা এবং ডেটা বাস একটি আইএফ। এটি কয়েকটি বৃহত এবং সীমান্তের হাইব্রিড মাইক্রোকন্ট্রোলারদের ক্ষেত্রে প্রযোজ্য, তবে তার আসল আইএফ যথেষ্ট ভাল ছিল (তবুও শক্ত এবং ধীর))
রাসেল ম্যাকমাহন

3
মাইক্রোপ্রসেসর এবং মাইক্রোকন্ট্রোলারের মধ্যে কঠোর পার্থক্য বজায় রাখার চেষ্টা করা দরকারীের চেয়ে বেশি পেডেন্টিক, বিশেষত যখন এটি প্রতিটি একক উত্তরের মন্তব্যে থাকে।
pjc50

1

40+ বছর আগে ডিজিটাল সরঞ্জামগুলির পিডিপি -8 মিন কম্পিউটারের কোনও স্বয়ংক্রিয় বুটিং ক্ষমতা ছিল না। প্রোগ্রামগুলি সাধারণত খোঁচা কাগজের টেপগুলি থেকে লোড করা হত তবে কাগজের টেপগুলি লোড করার জন্য লোডারটি সামনের প্যানেলের সুইচে ম্যানুয়ালি প্রবেশ করতে হত।

enter image description here

ডিজিটাল এবং পিডিপি -8 গ্রাহকদের সাইটে যেমন ইএমএস যারা সেদিনকে এমবেডড-কন্ট্রোলার হিসাবে ব্যবহার করেছিল, বুট লোডারগুলি স্মরণে রাখতে এবং বুটটি প্রবেশের জন্য দ্রুততম সময়ের জন্য একে অপরের সাথে প্রতিযোগিতা করা অস্বাভাবিক কিছু ছিল না মেশিনে লোডার। মেশিনগুলি চৌম্বক-কোর স্মৃতি ব্যবহার করে (বিশ্বের সুদূর প্রান্তে ক্ষুদ্র আঙুলযুক্ত মহিলা, সূঁচ এবং চুলের সূক্ষ্ম তারের সাহায্যে মহিলারা) str

enter image description here

চৌম্বকীয় মেমরির বিষয়বস্তু অস্থিতিশীল হওয়ায় বুট লোডারগুলি পাওয়ার-ডাউন থেকে বেঁচে যায় এবং ম্যানুয়াল এন্ট্রি কেবল প্রাথমিক সমাবেশের পরে প্রয়োজনীয় ছিল, প্রোগ্রামার বাগ দ্বারা লোডারটি নিশ্চিহ্ন করা হয়েছিল, বা লোডারের স্থানটি ব্যবহার করার জন্য কোনও প্রোগ্রাম প্রয়োজন ছিল।


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

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

0

উত্তরটি হ্যাঁ , আপনি কম্পিউটার, ডিবাগার ইত্যাদি ছাড়াই একটি মাইক্রো কন্ট্রোলার প্রোগ্রাম করতে পারেন আপনার যা প্রয়োজন তা হ'ল ইউসি প্রস্তুতকারকের দ্বারা নির্দিষ্ট বিভিন্ন ভোল্টেজ, ডেটা, ঘড়ি এবং প্রোগ্রামিং সিকোয়েন্স সরবরাহ করা (কোনও সহজ কাজ নয়)।

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