تالار گفتمان مانشت
منبع برای سیستم نهفته و درایورنویسی - نسخه‌ی قابل چاپ

منبع برای سیستم نهفته و درایورنویسی - s-nowrozi - 05 اسفند ۱۳۹۳ ۱۰:۱۵ ب.ظ

کسی منبع -نرم افزار مناسب برای سیستم های نهفته و درایور نویسی نداره Huh
میکرو و اف پی جی رو کار کردم اما می خوام یه سیستم عامل روی میکرو بالا بیارم
هر چی باشه ممنون
اگر کسی حوصله داره یه انجمن هم برای این کار در نظر بگیریم بد نیستتCool
لطفا منبع ای که می گید از این منابع که برای نوشتن مقاله خوبه نباشه Angel

RE: منبع برای سیستم نهفته و درایورنویسی - s-nowrozi - 06 اسفند ۱۳۹۳ ۱۱:۲۷ ق.ظ

یعنی تو این سایت یه نفر کار عملی نیکنه پس چرا این همه مهندس می خوان ارشد معماری بخونن HuhHuh

منبع برای سیستم نهفته و درایورنویسی - Bache Mosbat - 06 اسفند ۱۳۹۳ ۱۱:۴۵ ق.ظ

سلام. برای پایان نامه ی کارشناسی میخواین اینکارو بکنین؟ ارزش افزوده اش پس چیه؟ روی میکرو کنترلر میخواین سیستم عامل بالا بیارین؟ یا میکرپروسسور(کامپیوترهای تک بورد) ؟ بورد مقصدتون رو انتخاب کردین؟ درایور برای چه منظوری میخواین بنویسین؟ بهترین منبع برای درایور نویسی بورد های نهفته سورس خود اون درایورهاست چون شما هیچ وقت نمیخواین یک درایور رو از پایه بنویسین و فقط میخواین بر حسب نیازتون تغییرش بدین. ولی دو تا منبع مفید یکی
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
و یکی کتاب Programming Embedded Systems in C and C++ هست.

RE: منبع برای سیستم نهفته و درایورنویسی - s-nowrozi - 06 اسفند ۱۳۹۳ ۰۵:۰۹ ب.ظ

(۰۶ اسفند ۱۳۹۳ ۱۱:۴۵ ق.ظ)Bache Mosbat نوشته شده توسط:  سلام. برای پایان نامه ی کارشناسی میخواین اینکارو بکنین؟ ارزش افزوده اش پس چیه؟ روی میکرو کنترلر میخواین سیستم عامل بالا بیارین؟ یا میکرپروسسور(کامپیوترهای تک بورد) ؟ بورد مقصدتون رو انتخاب کردین؟ درایور برای چه منظوری میخواین بنویسین؟ بهترین منبع برای درایور نویسی بورد های نهفته سورس خود اون درایورهاست چون شما هیچ وقت نمیخواین یک درایور رو از پایه بنویسین و فقط میخواین بر حسب نیازتون تغییرش بدین. ولی دو تا منبع مفید یکی
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
و یکی کتاب Programming Embedded Systems in C and C++ هست.
نه(بهمن فارغ التصیل شدم )می خواستم تو تاپیک مورد نظرش بنویسم جایی پیدا نکردم درباره این موضوع
روی میکرو arm و حتی avr- البته تا جایی که می دونم پروسسور جز سیستم نهفته محسوب نمیشه!
بورد و مدار ش رو خودم میسازم
دستتون درد نکنه از منابعی که معرفی کردید اما این رو با یه سرچ ساده هم می شد بدست آورد.Sad
منظورم این بود که کسی اینجا کار کرده و منابع (از چه سایتهایی - چه نرم افزارهایی و تراشه مناسب ) چیه ؟
منظورتان را از خود کد برای درایور استفاده می کند می تونید روشن تر کنید؟
تو سایت لینوکس سیستم عامل برای سیستم نهفته موجوده می خواستم بدون چیه جوری میشه این رو بکار گرفت ؟
منظورتان از ارزش افزوده چی بود؟

منبع برای سیستم نهفته و درایورنویسی - Bache Mosbat - 07 اسفند ۱۳۹۳ ۱۲:۱۰ ق.ظ

Embedded linux ها اصلا روی میکرو کنترلرها ریخته نمیشن مگردر مواقع خیلی خاصرویبورد های خاص اگر بخواین روی میکروکنترلزر بر حسب نیازتون سیستم عامل بریزین از سیستم عاملهای بی درنگ باید استفاده کنین مثل freertos امبدد لینوکس رویکامپیوترهای تکبورد single board computers که از میکروپروسسور استفاده میکنن ریخته میشن میتونین برای بالا آوردن لینوک مینیمال روی بوردهای امبدد یه نگاهی به پروژه های buildroot و yocto داشته باشید .
برای بالا آوردن سیستم عامل علاوه بر کانفیگ کرنل احتیاج به bsp یا board support package دارید که اگر مدارش رو خودتون طراحی کنید احتیاج بهدرایورنویسی و اضافه کردن به کانفیگ کرنل هم دارین. فکر کنم به قدر کافی لغت کلیدیگفته باشم که سرچ ساده بکنید و معلومات اولیه ی خودتون رو بالا ببرید

سوالتون رو در بخش مباحث کاربردی یا علمی پژوهشی مطرح کنید

RE: منبع برای سیستم نهفته و درایورنویسی - s-nowrozi - 07 اسفند ۱۳۹۳ ۱۰:۵۵ ق.ظ

خیلی ممنون
من اشتباه کردم از این که پروسسور جز سیستم نهفته محسوب نمیشهBlushBlush
خودتون کرنل لینوکس رو کانفیک کردید؟

منبع برای سیستم نهفته و درایورنویسی - Falcon - 07 اسفند ۱۳۹۳ ۱۱:۳۹ ق.ظ

کرنل لینوکس به خودی خود ورژن Embedded نداره، بلکه با انجام یه سری کانفیگ ها، برداشتن بعضی از ویژگی های اضافه، و ... میشه یه ورژن شبه Embedded ازش تولید کرد. بعد از کرنل نیاز به Filesystem و Binary Utills دارید. برای هردو میتونید از Buildroot استفاده کنید. buildroot رو دانلود کنید، وارد menuconfig ش بشید، پلتفرم ها، وِیژگی های مهم و کلی آپشن دیگه رو باید تنظیم بکنید و اونو make کنید، buildroot خودش پکیج های مورد نظر رو دانلود میکنه، کانفیگ و کامپایل میکنه و در filesystem شما قرار میده و در نهایت یه root filesystem به شما میده. بعد شما باید از کرنل ، bootloader و filesystem و تنظیمات bootloader یه ایمیج درست بکنید و بعد ایمیج رو وارد حافظه flash بوردتون بکنید.

نمیگم کار سختیه، ولی کار پردردسر و وقت گیریه، مخصوصا کانفیگ و کامپایل کردن کرنل و buildroot
ضمننا، میزان اطلاعات شما از لینوکس و ساختار اون خیلی تو این فرایند تاثیر گزاره، بطوری که اگه قبلا تجربه کار با لینوکس رو بطور متوسط نداشته باشید ممکنه تو فرایند های اول کانفیگ کردن بکلی گیج بشید و بیخیال موضوع بشید.



راه ساده تر هم اینه که از بورد های آماده استفاده کنید ( مثل beaglebone و یا rasperyPI ) و Tutorial های اونهارو دنبال کنید. این دو بورد حداقل من میدونم براشون Tutorial های کاملی تو این زمینه وجود داره.

اگرم منظورتون بالا اوردن لینوکس روی میکروکنترلر های نه چندان پیشرفته مثل ARM7TDMI هاست باید از ucLinux استفاده کنید. ucLinux یه توضیع غیر رسمی از لینوکس هست که برای سیستم های میکروکنترلری فاقد MMU و چند پریفرال مهم دیگه بهینه شده و معمولا هم از کرنل mainstream لینوکس ورژنش عقب تر هست. ضمن اینکه کلا استفاده کردن ازش سخت تر هم هست و منابع مطالعاتی اون کمتر.

RE: منبع برای سیستم نهفته و درایورنویسی - s-nowrozi - 07 اسفند ۱۳۹۳ ۱۱:۵۵ ق.ظ

(۰۷ اسفند ۱۳۹۳ ۱۱:۳۹ ق.ظ)Falcon نوشته شده توسط:  کرنل لینوکس به خودی خود ورژن Embedded نداره، بلکه با انجام یه سری کانفیگ ها، برداشتن بعضی از ویژگی های اضافه، و ... میشه یه ورژن شبه Embedded ازش تولید کرد. بعد از کرنل نیاز به Filesystem و Binary Utills دارید. برای هردو میتونید از Buildroot استفاده کنید. buildroot رو دانلود کنید، وارد menuconfig ش بشید، پلتفرم ها، وِیژگی های مهم و کلی آپشن دیگه رو باید تنظیم بکنید و اونو make کنید، buildroot خودش پکیج های مورد نظر رو دانلود میکنه، کانفیگ و کامپایل میکنه و در filesystem شما قرار میده و در نهایت یه root filesystem به شما میده. بعد شما باید از کرنل ، bootloader و filesystem و تنظیمات bootloader یه ایمیج درست بکنید و بعد ایمیج رو وارد حافظه flash بوردتون بکنید.

نمیگم کار سختیه، ولی کار پردردسر و وقت گیریه، مخصوصا کانفیگ و کامپایل کردن کرنل و buildroot
ضمننا، میزان اطلاعات شما از لینوکس و ساختار اون خیلی تو این فرایند تاثیر گزاره، بطوری که اگه قبلا تجربه کار با لینوکس رو بطور متوسط نداشته باشید ممکنه تو فرایند های اول کانفیگ کردن بکلی گیج بشید و بیخیال موضوع بشید.



راه ساده تر هم اینه که از بورد های آماده استفاده کنید ( مثل beaglebone و یا rasperyPI ) و Tutorial های اونهارو دنبال کنید. این دو بورد حداقل من میدونم براشون Tutorial های کاملی تو این زمینه وجود داره.

اگرم منظورتون بالا اوردن لینوکس روی میکروکنترلر های نه چندان پیشرفته مثل ARM7TDMI هاست باید از ucLinux استفاده کنید. ucLinux یه توضیع غیر رسمی از لینوکس هست که برای سیستم های میکروکنترلری فاقد MMU و چند پریفرال مهم دیگه بهینه شده و معمولا هم از کرنل mainstream لینوکس ورژنش عقب تر هست. ضمن اینکه کلا استفاده کردن ازش سخت تر هم هست و منابع مطالعاتی اون کمتر.

خودم می خوام از beaglebone استفاده کنم هم منابع زیاده هم از تگزاس اینس (با اینکه میکرو کنترلر نیست )
اما این بورد برای اموزش -سوال من اینه که وقتی خواستید پروژه ای خودتون رو بسازید باید مدار رو بسازید اون وقت چه جوری باید لینوکس رو وارد حافظه flash کنم(شاید سوالم احمقانه باشه)؟
خیلی ممنون

منبع برای سیستم نهفته و درایورنویسی - Falcon - 07 اسفند ۱۳۹۳ ۰۱:۳۱ ب.ظ

همونطور که دوستمون گفتند شما برای بوردی که خودتون طراحی میکنید نیاز به bsp دارید. معمولا تو اینجور موارد سعی میشه از بورد های آماده استفاده بشه، چراکه چرخه طراحی، تست و پیاده سازی چنین بورد هایی به همراه نرم افزار های مورد نیاز اونها بسیار پیچیده است.

در مورد میکروکنترلر ها این چرخه کمی ساده تر هست.

RE: منبع برای سیستم نهفته و درایورنویسی - s-nowrozi - 07 اسفند ۱۳۹۳ ۰۲:۱۶ ب.ظ

(۰۷ اسفند ۱۳۹۳ ۰۱:۳۱ ب.ظ)Falcon نوشته شده توسط:  همونطور که دوستمون گفتند شما برای بوردی که خودتون طراحی میکنید نیاز به bsp دارید. معمولا تو اینجور موارد سعی میشه از بورد های آماده استفاده بشه، چراکه چرخه طراحی، تست و پیاده سازی چنین بورد هایی به همراه نرم افزار های مورد نیاز اونها بسیار پیچیده است.

در مورد میکروکنترلر ها این چرخه کمی ساده تر هست.
تو ایران در این زمینه شرکت یا افرادی کار می کنند که اگر زمانی نیاز شد بشود ازشون کمک گرفت؟

RE: منبع برای سیستم نهفته و درایورنویسی - Falcon - 07 اسفند ۱۳۹۳ ۱۱:۳۸ ب.ظ

(۰۷ اسفند ۱۳۹۳ ۰۲:۱۶ ب.ظ)s-nowrozi نوشته شده توسط:  
(07 اسفند ۱۳۹۳ ۰۱:۳۱ ب.ظ)Falcon نوشته شده توسط:  همونطور که دوستمون گفتند شما برای بوردی که خودتون طراحی میکنید نیاز به bsp دارید. معمولا تو اینجور موارد سعی میشه از بورد های آماده استفاده بشه، چراکه چرخه طراحی، تست و پیاده سازی چنین بورد هایی به همراه نرم افزار های مورد نیاز اونها بسیار پیچیده است.

در مورد میکروکنترلر ها این چرخه کمی ساده تر هست.
تو ایران در این زمینه شرکت یا افرادی کار می کنند که اگر زمانی نیاز شد بشود ازشون کمک گرفت؟


تو شرکتی که من کار میکنم اینجور کارا انجام میشه، اما اینکه شما با چه بودجه ای بتونید برای یک شرکت بزرگ پروژه تعریف کنید رو دیگه نمیدونم Shy