سلام
من چند هفته ای هست که دارم با arm و پورت usb کار میکنم و تونستم یه مدار بسازم که با چهار تا کلید اشاره گر موس رو از طریق usb حرکت میده .
این پروژه از درایو اماده ی موس که توی ویندوز هست استفاده میکنه .
سوال من :
چه جوری میتونم برای یک وسیله درایو بنویسم؟
نوع کار و endpoint ها و .... مهم نیست ، همچنین کلیه اطلاعات از قبیل فریم ها و تعداد بیت ها و ... که بین کامپیوتر و دستگاه رد و بدل میشه قابل تغییر هست . فقط میخوام نحوه ی کار رو بدونم .
با تشکر .
نوشتن درایور کار راحتی نیست
اولا باید برای هر سیستم عاملی یدونه بنویسی این در آینده هم ادامه داره دوباره این میکرو سافت یه سیستم عامل جدید می ده دوباره باید درایور رو باز نویسی کنی
بررای نوشتن نیاز به یه سری نرم افزار داری به اسم DDK احتمالا SDK میکرو سافت رو دیدی این هم شبیه به همونه ولی اون زمان ها تقریبا کامند لاین بود
یه سری درایور آماده هم هست که می تونی از اونها استفاده کنی حسنش اینه که خودشون اپدیتش رو می نویسن
سلام
نقل قول: اولا باید برای هر سیستم عاملی یدونه بنویسی این در آینده هم ادامه داره دوباره این میکرو سافت یه سیستم عامل جدید می ده دوباره باید درایور رو باز نویسی کنی
من میخوام نحوه ی کار رو بدونم ، سیستم عاملش فرقی نداره و میتونه ویندوز xp باشه
نقل قول: بررای نوشتن نیاز به یه سری نرم افزار داری به اسم DDK احتمالا SDK میکرو سافت رو دیدی این هم شبیه به همونه ولی اون زمان ها تقریبا کامند لاین بود
یه سری درایور آماده هم هست که می تونی از اونها استفاده کنی حسنش اینه که خودشون اپدیتش رو می نویسن
یه مقدار کار باهاشون سخت هست .
فرض کنید میخواییم یه دونه دما سنج بسازیم ، میکرو دما رو اندازه میگیره و به پورت usb میفرسته .
میشه با تغییر دادن درایو های مشابه اطلاعات روی پورت usb رو برداشت و توی نرم افزاری که برای دماسنج نوشته میشه اونا رو به وضعیت دلخواه تبدیل کرد ، اما این یه کار اصولی نیست ....
(۰۴-فروردین-۱۳۸۹, ۱۰:۴۴:۱۷)1nafar نوشته است: [ -> ]این پروژه از درایو اماده ی موس که توی ویندوز هست استفاده میکنه .
سلام
میشه نام درایور موس توی ویندوز را بگی ؟ . منظورم نام فایل آن است
من هم میخوام ازش استفاده کنم.
نوشتنش که امکان پذیر هست فقط یکم سخت
برای نوشتنش روی سیستم عامل های ویندوز همون DDK رو نیاز داری بدون اون نمی شه
توی همون برای کار با پورت usb یدونه مثال هم هست که معمولا همون رو برمی دارن و ویرایش می کنن
البته من این کار رو نکردم بنابراین نمی تونم بیشتر کمک کنم ولی در کل کار پردردسری بود
تو ویندوز برای نوشتن درایور باید از ddk استفاده کنینDriver Developer Kit که یه sdk هست که روی vs نصب میشه و با زبانهایی مثل asembly - C - ++C میتونین درایور بنویسین البته برای نوشتن درایور باید از تو ntdll.dll قرار داره استفاده کنین که معمولا شبیه api های معمولی هستن با این تفاوت که با zw ,nt ,rtl شروع میشن و بعضی از اینها پراامترهاشون کمی متفاوته مثل zwcreatefile
سلام ،
همانطور که دوستان اشاره کردن مبحث نوشتن درایور مبحث ساده ای نیست ، و کمی هم پیچیده تر از پیچیده هست ولی خوب در صورتی که علاقه داشته باشین میتونید یاد بگیرید و Driver مربوطه رو بنویسید .
برای نوشتن Driver ها در حال حاضر جدیدترین کیت WDK یا Windows Driver Kit ورژن 7.1 همراه با Support برای ویندوز 7 ، 2008 و دیگر ورژن های جدید ویندوز هست ( قابلیت پشتیبانی از XP هم داره ) .
لینک دانلود ،
کد:
http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx
DDK ورژن قبلی و قدیمی تر برای تولید درایور های سطح هسته هست .
البته خود WDK کار جالبی کرده و اونو به دو قسمت KMDF و UMDF تقسیم بنده کرده ، با UMDF میتونید درایورهای سطح یوزر بسازید و با KMDF درایورهای سطح هسته .
برای راحتی کار هم پلاگین Visual DDK رو میتونید دانلود کنید و با استفاده از Visual Studio 2008 یا 2005 درایورها رو با سرعت بالاتری تولید کنید .
اگر قصد تولید Driver ها با زبان اسمبلی رو دارید KMDKIT توصیه میشه که با بکار گیری masm میتونید Driver تولید کنید .
ضمناً نگاهی به این لینک بکنید :
کد:
http://www.osronline.com/article.cfm?article=371
بعد یک اشاره کوچیک : lord_viper عزیز ، توابعی که نام بردین بهشون توابع Native گفته میشه و حتی توی User-Mode هم قابل استفاده هستن اما اجباراً توی Driver نویسی باید از این نوع توابع که در سطح هسته عمل میکنن استفاده بشه .
2 سری وسیله هست، یک سری مثل ماوس و کیبورد و وسایل عمومی، تعریف استاناردی دارن . درایور اینها هم جزوی از ویندوز هست، برای همین هست. نوشتن برنامه جابجه کننده کرسر ماوس، از همین HID ها میشه استفاده کرد اما برای کارهای دیگه برنامه هایی مثل windriver و ... هم هستن.
HID که یه درایور آماده هست ، HID رو دیگه نمی نویسن ، فقط ازش استفاده می کنن.