আমি একটি টাচস্ক্রিন সহ একটি এম্বেড সিস্টেম বিকাশ করছি। গ্রাফিকাল আউটপুট ওভারলেয়েলের "ভার্চুয়াল" কীবোর্ড সহ টাচস্ক্রিন ইনপুট এবং আউটপুট উভয়ই হিসাবে কাজ করে।
আমার কাছে একটি ওয়ার্কিং ডিভাইস ড্রাইভার রয়েছে যা স্পর্শ সেন্সর থেকে ইনপুট পড়বে এবং এটি সঠিকভাবে কী প্রেসগুলিতে অনুবাদ করে, কার্নেল.আরগ্রে এই গাইডের সাহায্যে তৈরি করা হয়েছে । আমি স্ক্রিনে চিত্রের আউটপুট পরিচালনা করতে এই ড্রাইভারটি প্রসারিত করতে চাই।
আমি যতটা সম্ভব অল্প নকল করে গেটে এবং এক্স উভয়কেই সমর্থন করতে চাই। আমি চেরি-বাছাই করা প্যাকেজগুলি যেমন ন্যূনতম এক্স এর সাথে একটি ন্যূনতম ডেবিয়ান বৈকল্পিক চালাচ্ছি Note নোট করুন যে এই চালকটি সংগ্রহস্থল পাইপলাইনে প্রবেশের চেষ্টা করার আমার ইচ্ছা নেই, যদিও আমি এটি পাবলিক গিটহাবের সংগ্রহস্থলে ফেলে দিতে পারি।
আউটপুটিং স্ক্রিন চিত্রগুলি বর্তমানে একটি ক্রিংই ওয়ার্ক্রাউন্ডের মাধ্যমে করা হয়: সিপিইউয়ের এম্বেডেড গ্রাফিক্স হার্ডওয়্যারকে কোনও ডিসপ্লেতে সংযুক্ত না করা সত্ত্বেও, এবং একটি ডিমন যা এই বাফারকে ধারাবাহিকভাবে স্ক্র্যাপ করে, একটি মুষ্টিমেয় প্রাক-সংস্করণকে পরিবর্তিত করে: কীবোর্ড ভিজ্যুয়াল তৈরি করতে পিক্সেল সংজ্ঞায়িত করা হয়েছে এবং এটিকে বাস্তব পর্দার দিকে ঠেলে দেয়।
এটি ধারণার প্রমাণ হিসাবে কাজ করে, এটি প্রমাণ করে যে আমি স্ক্রীন ডিভাইসের প্রত্যাশা করা ভাষাটি সঠিকভাবে বুঝতে পেরেছি, তবে এটি অবশ্যই সাব-অনুকূল।
kernel.org
"ডিআরএম" ডিভাইস ড্রাইভারদের জন্যও একটি গাইড রয়েছে, তবে আমার হার্ডওয়্যারটি কীভাবে সক্ষম তার জন্য এটি গুরুতর ওভারকিলের মতো বলে মনে হচ্ছে:
লিনাক্স ডিআরএম স্তরটিতে জটিল গ্রাফিক্স ডিভাইসের প্রয়োজনগুলির জন্য সমর্থন করার কোড রয়েছে যা সাধারণত 3 ডি গ্রাফিক্স ত্বরণের জন্য উপযুক্ত প্রোগ্রামযোগ্য পাইপলাইন ধারণ করে।
আমার কোনও হার্ডওয়ারের 3 ডি ত্বরণের অনুরূপ কিছু নেই, তাই আমি এই সিদ্ধান্তে পৌঁছেছি যে এটি সম্ভবত আমি চাই না।
আমার কোন সাবসিস্টেম / এপিআই ব্যবহার করা উচিত? আমি অনুপস্থিত পরিভাষাটির এক টুকরোটি বলেছি যা আমার অনুসন্ধানগুলি আটকে রেখেছে, তবে কীভাবে এটি সম্পাদন করতে হবে তার আরও কোনও তথ্য প্রশংসা করবে।
হার্ডওয়্যার বিশদ (সম্ভবত অপ্রাসঙ্গিক): সিপিইউ এবং স্ক্রিনটি 8080-এস্কো প্যারালাল প্রোটোকলের মাধ্যমে যোগাযোগ করে, যা সিপিইউ স্থানীয়ভাবে সমর্থন করে না, তাই আমি এটিকে জিপিআইও (এমএমএপের মাধ্যমে রেজিস্টারগুলি ম্যানিপুলেটেড করে) দ্বারা অনুকরণ করছি।
একটি সম্পূর্ণ স্ক্রিন চিত্র প্রেরণে প্রায় 20 এমএস লাগে, তবে এম্বেড থাকা গ্রাফিক্স বাফার থেকে একটি সম্পূর্ণ অনুলিপি পেতে 180 ডলার লাগে, সুতরাং এই পদক্ষেপটি এড়ানো সবচেয়ে গুরুত্বপূর্ণ উদ্দেশ্য। পুরো ফ্রেমের মূল্যবান ডেটা রাখার জন্য স্ক্রিন হার্ডওয়্যারটিতে পর্যাপ্ত পরিমাণ এসজিআরএম মেমরি রয়েছে এবং এটি একটি আয়তক্ষেত্রাকার উপ-অঞ্চল লেখার পক্ষে সমর্থন করে, তাই পরিবর্তিত পর্দার অংশটি কেবলমাত্র আপডেট করার জন্য একটি হুক আকাঙ্ক্ষিত হবে।
স্ক্রিনটি ইনকামিং ডেটার সময় সম্পর্কে নির্দিষ্ট নয়। টাচ সেন্সর ইনপুটটি উদ্দেশ্যমূলকভাবে নির্মিত আইসি দ্বারা পরিচালিত হয় যা সিপিইউয়ের মাধ্যমে আইপিএর সাথে যোগাযোগ করে, সিপিইউ সমর্থন করে। বর্তমান ড্রাইভার linux/input-polldev.h
ইন্টারফেস ব্যবহার করে । সিপিইউ একটি ব্রডকম বিসিএম 2835 , স্ক্রিনটি এমবেডড হিম্যাক্স এইচএক্স 8357 নিয়ামক সহ একটি টিএফটি , টাচস্ক্রিন সেন্সর ডিকোডারটি একটি এসটি এসএমপিই 610 , এবং এইচএক্স 8357 এবং বিসিএম 2835 এর মধ্যে খেলতে একটি ভোল্টেজ লেভেলশিফটার (নেক্স্পেরিয়া 74LVCH245A ) রয়েছে। আরও বিশদ অনুরোধের ভিত্তিতে উপলব্ধ।