میشه اطلاعاتی در باره ی برنامه نویسی برای سخت افزار به من بدید؟
میشه اطلاعاتی در باره ی برنامه نویسی برای سخت افزار به من بدید؟
لطفا بیشتر توضیح بدید. چه برنامه نویسی؟ منظورتون Driver ها هست یا مثلا برنامه نویسی برای port های ورودی و خروجی که برای کنترل سخت افزارهای جانبی بکار میره؟ زبان خاص یا سیستم عامل خاصی مد نظرتون هست؟
Driver ها برنامه هایی هستند که برای کنترل سخت افزارها بکار میرن. هر سخت افزار، برای اینکه بتونه قابل استفاده باشه، باید Driver مخصوص اون بر روی سیستم عامل نصب بشه. در سیستم عاملهای قدیمی تر مانند DOS امکان استفاده از توابع Driver ها برای ارتباط مستقیم را سخت افزار وجود داشت که سیتسم عاملهای مدرن بنا به دلایل امنیتی، تنها اجاره ارتباط با سخت افزار از طریق سیستم عامل و API های سیستم عامل رو فراهم میکنند.
برای نوشتن یک Driver باید شناخت دقیق از سخت افزار، نظیر، پورتهای ورودی، خروجی، تاخیرهای زمانی اجزای سخت افزاری و غیره رو داشت. معمولا نوشتن Driver در سطح بسیار پایین در حد بسیار نزدیک به مدارهای الکترونیکی سخت افزار مورد نظر نوشته میشه. Driver ها از نظر پیچیدگی بسیار متنوع هستند. یکی از پیچیده ترین Driver ها، Driver های موجود برای هارددیسک هستند که باید مرتبا مشخصات آماری هارددیسک نظیر سرعت چرخش صفحات، میزان خطا در اطلاعات، ارسال فرمان حرکت هد به هارددیسک و در آخر مشخصات حرارتی (Thermal) هارددیسک رو بررسی کنند. بر عکس، یکی ار ساده ترین Driver ها هم Driver های پرینتر هست که نسیت به قبلی خیلی ساده تر هست و من سالها قبل یکی نوشتم. برای نوشتن یک Driver باید به اصول زیر توجه کرد:
1. ترتیب اجرایی اعمال برای خاموش و روشن کردن سخت افزار.
2. داشتن زمان تاخیر تک تک قسمتها با اسفاده از Datasheet های شرکتهای سازندهو مثلا زمانی که موتور هارددیسک لازم دارد تا با سرعت مناسب بچرخد که تا این مدت (مثلا 2 هزارم ثانیه) Driver باید منتظز بماند. معمولا یک حاشیه (مثلا 3 هزار ثانیه بجای 2 هزارم ثانیه) در نظر می گیرند.
3. ترتیب و چگونگی ارسال بیتهای 1 و 0 برای روشن و خاموش کردن سخت افزار.
برنامه های برای کنترل پورتهای ورودی و خروجی برای کنترل دستگاههای جانبی متصل به کامپیوتر بکار میره که در واقع نوعی Driver اما ساده تر هستند. این برنامه ها معمولا در سطحی بالاتر از Driver های گفته شده و حتی با استفاده از توابعی که Driver در اختیار طراح قرار میده نوشته میشوند. یعنی به نوعی روی Driver سوار میشوند. از این تکنیک برای کنترل دستگاههای جانبی متصل به یکی از پورتهای استاندارد مانند سریال، پارالل و یا USB که توسط کاربر ساخته شده مانند رباتهای متصل به کامپیوتر و یا سیستمهای اتوماسیون کارخانه ها استفاده می شود.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)