امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
نوشتن یک درایور ساده برای usb
نویسنده پیام
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #1
نوشتن یک درایور ساده برای usb
سلام
من چند هفته ای هست که دارم با arm و پورت usb کار میکنم و تونستم یه مدار بسازم که با چهار تا کلید اشاره گر موس رو از طریق usb حرکت میده .
این پروژه از درایو اماده ی موس که توی ویندوز هست استفاده میکنه .
سوال من :
چه جوری میتونم برای یک وسیله درایو بنویسم؟
نوع کار و endpoint ها و .... مهم نیست ، همچنین کلیه اطلاعات از قبیل فریم ها و تعداد بیت ها و ... که بین کامپیوتر و دستگاه رد و بدل میشه قابل تغییر هست . فقط میخوام نحوه ی کار رو بدونم .
با تشکر .
(آخرین ویرایش در این ارسال: ۰۴-فروردین-۱۳۸۹, ۱۴:۲۷:۱۸، توسط 1nafar.)
۰۴-فروردین-۱۳۸۹, ۱۰:۴۴:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, محمد حسینی, salehjg
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
RE: نوشتن یک دیارو ساده برای usb
نوشتن درایور کار راحتی نیست
اولا باید برای هر سیستم عاملی یدونه بنویسی این در آینده هم ادامه داره دوباره این میکرو سافت یه سیستم عامل جدید می ده دوباره باید درایور رو باز نویسی کنی
بررای نوشتن نیاز به یه سری نرم افزار داری به اسم DDK احتمالا SDK میکرو سافت رو دیدی این هم شبیه به همونه ولی اون زمان ها تقریبا کامند لاین بود
یه سری درایور آماده هم هست که می تونی از اونها استفاده کنی حسنش اینه که خودشون اپدیتش رو می نویسن

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۴-فروردین-۱۳۸۹, ۱۱:۳۹:۳۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : اشک, 1nafar, t3r!p3000, محمد حسینی, aKaReZa75, salehjg
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #3
RE: نوشتن یک درایور ساده برای usb
سلام
نقل قول: اولا باید برای هر سیستم عاملی یدونه بنویسی این در آینده هم ادامه داره دوباره این میکرو سافت یه سیستم عامل جدید می ده دوباره باید درایور رو باز نویسی کنی
من میخوام نحوه ی کار رو بدونم ، سیستم عاملش فرقی نداره و میتونه ویندوز xp باشه
نقل قول: بررای نوشتن نیاز به یه سری نرم افزار داری به اسم DDK احتمالا SDK میکرو سافت رو دیدی این هم شبیه به همونه ولی اون زمان ها تقریبا کامند لاین بود
یه سری درایور آماده هم هست که می تونی از اونها استفاده کنی حسنش اینه که خودشون اپدیتش رو می نویسن
یه مقدار کار باهاشون سخت هست .
فرض کنید میخواییم یه دونه دما سنج بسازیم ، میکرو دما رو اندازه میگیره و به پورت usb میفرسته .
میشه با تغییر دادن درایو های مشابه اطلاعات روی پورت usb رو برداشت و توی نرم افزاری که برای دماسنج نوشته میشه اونا رو به وضعیت دلخواه تبدیل کرد ، اما این یه کار اصولی نیست ....
۰۴-فروردین-۱۳۸۹, ۱۴:۲۸:۰۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : محمد حسینی, salehjg
naatamam آفلاین
كاربر دو ستاره
**

ارسال‌ها: 117
موضوع‌ها: 2
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 228
( 530 تشکر در 214 ارسال )
ارسال: #4
RE: نوشتن یک درایور ساده برای usb
(۰۴-فروردین-۱۳۸۹, ۱۰:۴۴:۱۷)1nafar نوشته است: این پروژه از درایو اماده ی موس که توی ویندوز هست استفاده میکنه .
سلام
میشه نام درایور موس توی ویندوز را بگی ؟ . منظورم نام فایل آن است
من هم میخوام ازش استفاده کنم.

۰۴-فروردین-۱۳۸۹, ۱۹:۲۵:۴۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : 1nafar, محمد حسینی, salehjg
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #5
RE: نوشتن یک درایور ساده برای usb
نوشتنش که امکان پذیر هست فقط یکم سخت
برای نوشتنش روی سیستم عامل های ویندوز همون DDK رو نیاز داری بدون اون نمی شه
توی همون برای کار با پورت usb یدونه مثال هم هست که معمولا همون رو برمی دارن و ویرایش می کنن
البته من این کار رو نکردم بنابراین نمی تونم بیشتر کمک کنم ولی در کل کار پردردسری بود

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۴-فروردین-۱۳۸۹, ۲۱:۳۵:۳۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : اشک, 1nafar, t3r!p3000, محمد حسینی, aKaReZa75, salehjg
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #6
RE: نوشتن یک درایور ساده برای usb
تو ویندوز برای نوشتن درایور باید از ddk استفاده کنینDriver Developer Kit که یه sdk هست که روی vs نصب میشه و با زبانهایی مثل asembly - C - ++C میتونین درایور بنویسین البته برای نوشتن درایور باید از تو ntdll.dll قرار داره استفاده کنین که معمولا شبیه api های معمولی هستن با این تفاوت که با zw ,nt ,rtl شروع میشن و بعضی از اینها پراامترهاشون کمی متفاوته مثل zwcreatefile

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۴-فروردین-۱۳۸۹, ۲۱:۴۸:۱۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : اشک, 1nafar, t3r!p3000, __Genius__, محمد حسینی, aKaReZa75, salehjg
__Genius__ آفلاین
كاربر تک ستاره
*

ارسال‌ها: 34
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 47
( 105 تشکر در 32 ارسال )
ارسال: #7
RE: نوشتن یک درایور ساده برای usb
سلام ،
همانطور که دوستان اشاره کردن مبحث نوشتن درایور مبحث ساده ای نیست ، و کمی هم پیچیده تر از پیچیده هست ولی خوب در صورتی که علاقه داشته باشین میتونید یاد بگیرید و 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 نویسی باید از این نوع توابع که در سطح هسته عمل میکنن استفاده بشه .
(آخرین ویرایش در این ارسال: ۰۶-فروردین-۱۳۸۹, ۰۵:۰۸:۰۷، توسط __Genius__.)
۰۶-فروردین-۱۳۸۹, ۰۵:۰۰:۳۴
ارسال‌ها
پاسخ
تشکر شده توسط : اشک, naatamam, t3r!p3000, محمد حسینی, lord_viper, 1nafar, aKaReZa75, salehjg, nImaarek
modj.ir آفلاین
كاربر دو ستاره
**

ارسال‌ها: 233
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 1
( 547 تشکر در 230 ارسال )
ارسال: #8
RE: نوشتن یک درایور ساده برای usb
2 سری وسیله هست، یک سری مثل ماوس و کیبورد و وسایل عمومی، تعریف استاناردی دارن . درایور اینها هم جزوی از ویندوز هست، برای همین هست. نوشتن برنامه جابجه کننده کرسر ماوس، از همین HID ها میشه استفاده کرد اما برای کارهای دیگه برنامه هایی مثل windriver و ... هم هستن.

۰۶-فروردین-۱۳۸۹, ۱۶:۵۶:۳۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : محمد حسینی, 1nafar, salehjg
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #9
RE: نوشتن یک درایور ساده برای usb
HID که یه درایور آماده هست ، HID رو دیگه نمی نویسن ، فقط ازش استفاده می کنن.

۱۳-مرداد-۱۳۹۲, ۱۴:۲۲:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : aKaReZa75, salehjg, babyy
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #10
RE: نوشتن یک درایور ساده برای usb
گفتم فقط لینک داده باشم:
http://www.iranled.com/forum/thread-24707.html
۱۳-مرداد-۱۳۹۲, ۱۵:۴۳:۳۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : aKaReZa75, sharin, babyy


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] راهنمایی در مورد برنامه و نحوه نوشتن maxtor20 1 2,177 ۲۸-خرداد-۱۳۹۶, ۱۸:۵۱:۲۳
آخرین ارسال: babyy
  کمک کردن در نوشتن برنامه اندازه گیری توان در avr arosh 45 32,196 ۲۳-اسفند-۱۳۹۳, ۲۰:۳۷:۴۴
آخرین ارسال: alimogmov
  [سوال] درخواست نوشتن برنامه a.mehran 23 12,170 ۰۳-دى-۱۳۹۳, ۰۲:۰۷:۳۴
آخرین ارسال: NO DONGLE
  نوشتن یک برنامه ۳ بعدی ha_60 7 6,011 ۰۷-بهمن-۱۳۹۲, ۱۱:۱۹:۴۵
آخرین ارسال: ha_60
  طراحی ال ای دی درایور ifa2002 11 17,189 ۲۵-دى-۱۳۹۰, ۱۳:۳۰:۳۷
آخرین ارسال: ha_60
  ماشین حساب ساده به زبان c sepade 4 15,368 ۰۲-آذر-۱۳۹۰, ۱۸:۲۶:۳۷
آخرین ارسال: mehdi1172
Rolleyes سایت ساده با php Ghoghnus 1 3,508 ۰۷-اسفند-۱۳۸۸, ۰۰:۰۰:۰۶
آخرین ارسال: ΛΛ Θ l-l $ Σ Ω
Question کمک برای نوشتن کد samaneh_garmehi 1 2,722 ۲۹-آذر-۱۳۸۸, ۱۱:۱۲:۰۰
آخرین ارسال: samaneh_garmehi
  برنامه خیلی ساده با اسمبلی - جون هر کی دوست داری اگه بلدی کمک کن alikarimi 0 3,893 ۰۸-خرداد-۱۳۸۸, ۰۴:۴۸:۴۹
آخرین ارسال: alikarimi
  یک پروژه ی ساده با pspice Shahab_H 1 4,446 ۲۴-دى-۱۳۸۷, ۱۸:۲۷:۲۰
آخرین ارسال: Shahab_H

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 4 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS