রাস্পবেরি পাই এর হ্যাকিবিলিটির স্তর


35

আমি প্রায় 3 বছর ধরে এম্বেড থাকা সিস্টেমগুলির (বেশিরভাগ মাইক্রো কন্ট্রোলার) সাথে কাজ করছি। আমি জানতে চাইছি আসলে ওপেন সোর্সের আরপিআই কতটা ?? আমি জানি আরডুইনো আমাদের হার্ডওয়্যার / সফটওয়্যার ইত্যাদির সম্পূর্ণ বিবরণ দেয় তবে আরপিআই-র কী? এটি আমার দল থেকে গুরুত্বপূর্ণ এবং আমি রাস্পবেরি পাই দিয়ে নিম্নলিখিতগুলি করতে চাই [এই প্রকল্পটি আরপিআইকে ঠিক একটি আরডুইনো => কোনও OS এর মতো ব্যবহার করতে চায় না]:

  1. বাহ্যিক এসডি কার্ডের চেয়ে ফ্ল্যাশ থেকে বুট করতে প্রাথমিক বুটলোডার (রম) পুনর্লিখন করুন।
  2. বোর্ডের ফ্ল্যাশে একটি গৌণ বুটলোডার রাখুন, এটি পাইয়ের ইউএসবি পোর্টটি সক্রিয় করে এবং এটি শুনবে। এটি অবশ্যই বাইনারি কোড গ্রহণ করবে (এটি আমার পিসি থেকে পাবেন) এবং এটি ফ্ল্যাশে সংরক্ষণ করতে হবে। পরে এটি কার্যকর করা শুরু করুন।
  3. যোগাযোগ প্রোটোকল পরিচালনা করতে আমাদের নিজস্ব ডিভাইস ড্রাইভার বিকাশ করুন।
  4. পিএম এর জন্য আমাদের নিজস্ব আপলোডার এবং ডিবাগ পরিবেশ বিকাশ করুন, পাশাপাশি কাস্টম বাস্তবায়নের জন্য এআরএমের জন্য এম্বেড করা সি (জিপিআইওর নিয়ন্ত্রণের জন্য প্রয়োজনীয়) of
  5. যদি সম্ভব হয় তবে এম্বেড হওয়া সিস্টেমগুলির জন্য আমাদের নিজস্ব ওএস প্রয়োগ করুন।

রাস্পবেরি পাই দিয়ে কি এটি সম্ভব? যদি তা না হয়:
-> আমার পাঁচটি গোলের মধ্যে কোনটি রাস্পবেরি পাই দিয়ে সম্ভব নয়। যদি আমার পিআইয়ের সাথে কাজ করতে হয় তবে আমার প্রকল্পে আমাকে কী পরিবর্তন করতে হবে?
-> বাজারে আরও কী বোর্ড রয়েছে যা আমাকে যা করতে চাই তা সম্পাদন করতে দেয়?

উত্তর:


76

কিছু পটভূমি

আপনার জানা সবচেয়ে গুরুত্বপূর্ণ বিষয়টি হ'ল রাস্পবেরিপি একটি অদ্ভুত জন্তু যেখানে ARM CPUপ্রধান সিপিইউ নয় - এটি কেবলমাত্র সহ-প্রসেসর VideoCore GPU। যখন রাস্পবেরিপি শুরু হয়, একটি জিপিইউ ব্লব এসডি কার্ড থেকে এল 2 ক্যাশে পড়ে এবং কার্যকর করা হয়। এই কোডটি পরে সমস্ত গুরুত্বপূর্ণ পেরিফেরিয়াল (র‌্যাম, ঘড়ি ইত্যাদি) নিয়ে আসে এবং এটি শুরু করে ARM CPU। তারপরে ২ য় পর্যায়ের বুটলোডার বা কিছু অপারেটিং সিস্টেম নিজেই চালানো যেতে পারে ARM CPU

জিপিইউ ব্লব কেবল একটি বুটলোডার নয়। এটি আসলে একটি অপারেটিং সিস্টেম (ভিডিও কোর ওএস) নিজেই। সিস্টেমের কিছু গুরুত্বপূর্ণ উপাদানগুলি এআরএম সিপিইউ দ্বারা সরাসরি অ্যাক্সেসযোগ্য নয় এবং সেগুলি ব্যবহার করার জন্য GPU( mailboxমেসেজিং সিস্টেম ব্যবহার করে) সাথে যোগাযোগ করতে হবে। এটি উপলব্ধ সম্পর্কে আংশিক ডকুমেন্টেশন আছে । এখন Video Core OS( VCOS) প্রয়োজনীয় বৈশিষ্ট্যগুলি সক্রিয় করতে ব্রডকম কর্মীদের দ্বারা সময় সময় বাড়ানো হয় Linuxকার্নেল, RISC OSবা কখনো কখনো এমনকি কিছু শখ অপারেটিং সিস্টেমের। এটি সম্পর্কে কোনও ভাল ডকুমেন্টেশন নেই তবে আপনাকে খনন করতে হবে RaspberryPi forum,githubএবং সম্ভবত অন্যান্য জায়গাগুলি এই সম্পর্কে তথ্য সন্ধান করতে। কিন্তু এটা আছে .. কোথাও। এবং এমন কয়েক জন লোক আছেন যারা আপনাকে সাহায্য করার জন্য রাস্পবেরিপিতে নিজের খালি ধাতব কোড বা এমনকি ওএস লিখেন। এবং অবশ্যই প্রচুর ওপেন সোর্স কোড - উদাহরণস্বরূপ রাস্ব্পেরিপির লিনাক্স কার্নেল।

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

আরেকটি সমস্যা হ'ল USBস্নোপসিসের স্ট্যাকটি মালিকানাধীন এবং আবার এর জন্য কোনও ডকুমেন্টেশন নেই এবং মনে হয় এমনকি ডকুমেন্টেশন সহ এটি নির্ভরযোগ্যভাবে প্রয়োগ করা শক্ত। তবে আবার কোডটি পাওয়া যায় (লিনাক্স কার্নেল, ইউ-বুট, সিএসইউডি )। এর উন্নত গ্রাফিক্স ক্ষমতা ব্যবহার করা শক্তও হতে Video Coreপারে - গ্রাফিক্স লাইব্রেরির জন্য কিছু ওপেন সোর্স কোড রয়েছে তবে এটি কেবল ARMপাশের জন্য।

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

তোমার লক্ষ্যসমূহ

1 নম্বর

যতদূর আমি জানি, এসইসি বর্ণিত পদ্ধতির চেয়ে অন্য কোনও উপায়ে শুরু করতে পারে এমন কোনও উপায় নেই। সুতরাং প্রথম পর্যায়ে বুটলোডার চালু রাখতে হবে SD card। এবং এটি GPUবাইনারি হতে হবে , বাইনারি নয় ARMযা অন্য সমস্যা। আর রাস্পবেরিপিতে বোর্ড ফ্ল্যাশ নেই এমনটিও একটি সমস্যা।

২ নম্বর

মূল সমস্যাটি হ'ল flashরাস্পবেরিপিতে কোনও বোর্ড নেই । আপনি একটি যুক্ত করতে পারেন এবং এটি আপনার বুটলোডারটিতে সক্রিয় করা যেতে পারে (যা ইতিমধ্যে দ্বিতীয় স্তরের বুটলোডার হতে হবে)। তবে একটি ইউএসবি ড্রাইভার লিখতে সমস্যা হতে পারে।

সংখ্যা 3, 4, 5

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

বিকল্প

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


3
আমি এই উত্তরটি +100 করতে চাই। সাবাশ.
অরিথেনা

@ মালিগিরি লোল, চিন্তা করবেন না - এটি ইতিমধ্যে হয়ে গেছে! :)
xxmbabanexx

1
বেবেলবোনটির জন্য +1 কারণ এটি 100% ওপেনসোর্স এবং আপনার হার্ডওয়্যারটি "রেসিন" করার এবং আপনার নিজের সার্কিট বোর্ড তৈরি করার ক্ষমতা রয়েছে
Portforwardpodcast

5

ক্রিজিসটফের দুর্দান্ত উত্তরটি আপডেট করার জন্য, ব্রডকম সর্বশেষে প্রকাশ্যে কিছু ওপেন সোর্স জিপিইউ ড্রাইভার তৈরিতে সহায়তার জন্য, 3-ক্লজ বিএসডি হিসাবে লাইসেন্সযুক্ত কিছু কোড প্রকাশ করেছিল। ২০১p সালে রাস্পবেরি পাই ভিপিইউ ফার্মওয়্যার ব্লবটি প্রতিস্থাপনের জন্য "আরপিআই-ওপেন-ফার্মওয়্যার" প্রচেষ্টা শুরু হয়েছিল: https://github.com/christinaa/rpi-open-firmwareHttps://news.ycombinator.com/item?id=11703842 এ আরও দেখুন

ওয়ানড্রয়েড-সি 1, কিউবিবোর্ড, কলা পাই, ওলিমেক্সের ওলিনাক্সিনো ওয়াইফাই এবং ওলিনাক্সিনো মিনি, ইওএমএআরএক্স এবং বিগলবোন কালো সহ অনেকগুলি বিকল্প বোর্ড সংক্ষেপে বর্ণিত এবং এর সাথে সংযুক্ত রয়েছে - ডিপিয়ান উইকি


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

1

রাস্পবেরি পাই সহ আপনি ইউ-বুট বুটলোডারটি করতে পারবেন এমন অনেক কিছুই আছে। আপনি মূলত জিপিইউকে আপনার এআরএম কપ્રোসেসর এসসিকে ইউ-বুট চিত্রটি "ওএস" হিসাবে লোড করতে দিন।

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

আছে অন্য নিবন্ধ যে ইউ-বুট ইমেজ নির্মাণের জন্য আরো ব্যাপক নির্দেশাবলী রয়েছে।


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

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