دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: نصب سیستم عامل فمتو رو میکروکنترولر avr

  1. #1
    استعداد برتر سایت
    رشته تحصیلی
    الکترونیک و فیزیک هسته ای
    نوشته ها
    3,290
    ارسال تشکر
    4,930
    دریافت تشکر: 13,220
    قدرت امتیاز دهی
    12295
    Array
    عرفان سلیم زاده's: خجالت

    Question نصب سیستم عامل فمتو رو میکروکنترولر avr

    با سلام
    من تازه کار با میکروکنترولر ها رو دارم شروع می کنم و اطلاعات زیادی ندارم
    از وقتی که کار با میکرو ها رو شروع کردم گفتم دو تا کار رو پیش زمینه پروژه هام کنم
    1- از حداکثر فرکانس کلاک میکرو استفاده کنم که 16 مگ هستش
    2- از یک سیستم عامل جهت بهینه سازی کارکرد سخت افزار های میکرو استفاده کنم که در اینجا سیستم عامل فمتو هستش
    میکرو کنترولری که دارم استفاده میکنم از خانواده مگا و 32 هستش.
    فکر میکنم با انجام این دوتا میشه کار های سخت تر و پیچیده تری رو با میکرو انجام داد مثلا ساخت دستگاهای تمام اتوماتیک یا این که کار ها رو دقیق تر انجام بده.
    در مورد سیستم عامل میکرو چون فمتو بهترین نوع کد نویسی رو بین بقیه داره به کم حجم ترین سیستم عامل برای میکرو ها لقب گرفته.
    میخوام که در مورد نصب این سیستم عامل رو ATMEGA32 بدونم و این که برنامه نویسی میکرو چه تغییری با قبل میکنه.
    اصلا به چه دردی میخوره؟

  2. 3 کاربر از پست مفید عرفان سلیم زاده سپاس کرده اند .


  3. #2
    استعداد برتر سایت
    رشته تحصیلی
    الکترونیک و فیزیک هسته ای
    نوشته ها
    3,290
    ارسال تشکر
    4,930
    دریافت تشکر: 13,220
    قدرت امتیاز دهی
    12295
    Array
    عرفان سلیم زاده's: خجالت

    پیش فرض پاسخ : نصب سیستم عامل فمتو رو میکروکنترولر avr

    یه توضیح مختصری در مورد سیستم عامل های بلادرنگ بدم.البته خواهشمندم که متن منو حتما یه تصحیح بفرمایید که شرمنده دوستان نشم.
    سیستم عامل های بلادرنگ در واقع میاد سه تا کار رو انجام میده:
    1- کاری میکنه که بتونیم هم زمان چند عملیات رو انجام بدیم.
    2- استفاده از cpu میکرو برای انجام عملیات های دیگه در زمان های وقفه
    میکرو کنترولر ها یه چیزی به نام وقفه دارند که کارش خوندن عدد از تایمر شمارنده میکرو در زمان های مورد نیاز است.
    در این زمان که معمولا چند میلی ثانیه هم میرسه عملیات روی برنامه متوقف میشه تا اگر عدد مناسب تو شمارنده نشان داده شد سریع خوانده بشه تا در عملیات بکار گرفته بشه.
    سیستم عامل میاد در این زمان عملیات های دیگه روی برنامه های دیگه میکرو انجام میده.در این صورت هم مورد 1 شدنیه و هم مورد 2 باعث کاهش بیکاری میکرو میشه.
    3- سیستم عامل برنامه نویسی رو ساده تر میکنه چون میتونیم یک عملیات رو به چند زیر مجموعه تبدیل کنیم و همین کار حجم برنامه نویسی رو کمتر میکنه.
    مرسی

  4. 3 کاربر از پست مفید عرفان سلیم زاده سپاس کرده اند .


  5. #3
    استعداد برتر سایت
    رشته تحصیلی
    الکترونیک و فیزیک هسته ای
    نوشته ها
    3,290
    ارسال تشکر
    4,930
    دریافت تشکر: 13,220
    قدرت امتیاز دهی
    12295
    Array
    عرفان سلیم زاده's: خجالت

    پیش فرض پاسخ : نصب سیستم عامل فمتو رو میکروکنترولر avr

    سلام
    این پست رو اختصاص میدم به معرفی سیستم عامل فمتو:


    ایا سیستم های نصب شده کوچک نیاز به سیستم عامل چند کاره دارند؟
    ایا نمی توان صرفا همه چیز را در یک حلقه بزرگ برنامه نویسی کنید؟مطمئنا می توانبد.
    اما ایا تا به حال متوجه مدت انتظار بین روشن کردن dvd player خود و اولین نشانه های راه انداری سیستم در پاسخ به دکمه (play) شده اید؟
    شرط می بندیم که داخل ان سیستم عاملی وجود ندارد.فقط دارای یک حلقه (loop) بزرگ است. به راحتی میتوان این کار را به نحو بهتری انجام داد زیرا حتی برای کوچک ترین میکروکنترولر ها نیز سیستم عامل وجود دارد.
    ------------------------------------------------------------------------------------------------------------------
    سوال بعدی این است:
    ایا بهتر نیست سیستم عاملی برای خود بنویسید؟در ویکیپدیا تقریبا 100 سیستم عامل از پیش لیست شده اند اما صرف نظر ار سیستم های اختصاصی و سیستم هایی که چندان ارتقا نیافته اند، این لیست واقعا کوتاه است.احتمالا تنها سیستم عاملی که برای 8 کیلو بایت حافظه فلش و 512 بایت RAM مناسب بوده و مفید واقع می شود،سیستم عامل فمتو است.
    این سیستم عامل توسط دکتر R.Vlaming MSC نوشته شده است تا سیستم عاملی چند کاره(multi task) و برای بسیاری از کاربرد های گوناگون کارامد باشد. واژه فمتو در سیستم عامل فمتو نشان می دهد که این سیستم عامل در واقع بسیار کوچک است.

    اهداف
    سیستم عامل فمتو یک سیستم عامل چند کاره بلادرنگ (RTOS) با طرحی نسبتا جامع می باشد.این سیستم عامل قابل انتقال بوده و در حال حاضر با 44 میکروکنترولر AVR متعلق به ATMEL سازگار می باشد.
    فمتو متن باز بوده و تحت لیسانس GPLV3 می باشد.سیستم عامل فمتو از جنبه های گوناگونی متفاوت با دیگر سیستم عامل ها می باشد.
    نخست این که برای RAM و حافظه فلش بسیار مقرون به صرفه است و تنها چیزی که واقعا به ان نیاز دارید کامپایل کردن به داخل KERNEL است.
    به عنوان مثال میتوانید 8 TASK مستقل روشن و خاموش شدن led را در یک بایت از فلش و فقط 47 بایت از ram اجرا کنید. یا می توانید ارتباطاتی را به صورت سری و توسط یک برنامه واسط انجام داده و 8 task دیگر را بر روی ATtiny861 راه اندازی کنید (8 بایت فلش ، 512 بایت ram ).
    ما(مجله الکتور) معتقدیم سیستم عامل فمتو کوچک ترین سیستم عامل روی زمین است که کد ان نیز به خوبی نوشته شده است.
    ----------------------------------------
    چرا سیستم عامل چند کاره را باید مورد استفاده قرار داد؟
    اغلب هنگامی که یک میکرو کنترولر کاری را انجام میدهد،در یک حلقه نامحدود منتشر می ماند تا این که اتفاقی روی می دهد،مثلا پیش از که عملی مانند روشن یا خاموش شدن لامپ انجام گیرد دکمه ای فشار داده می شود.
    forever do
    }
    wait for yellow button to pressed;l
    invert yellow light state;l
    {
    اکنون فرض کنین که دو دکمه و دو لامپ دارید. برنامه زیر به خوبی عمل نخواهد کرد.(ایا میتوانید ببینید چرا؟)


    forever do
    wait for yellow button to pressed;l}
    invert yellow light state;l
    wait for blue button to be pressed;l
    invert blue light state;l
    {
    بنابراین باید کاری مانند زیر انجام دهید:

    forever do
    }
    wait for yellow or blue button to be pressed;l
    if button ws yellow then invert yellow light state;l
    if button was blue then invert blue light state;l
    {
    اما اگر بتوانیم از دو حلقه ای که به صورت موازی اجرا می شوند استفاده کنیم بسیار ساده تر نخواهد بود؟
    forever do
    }
    wait for yellow button to be pressed;l
    invert yellow light state;l
    {
    forever do
    }
    wait for blue button to be pressed;l
    invert blue light state;l
    {
    کد مذکور اساس کار سیستم عامل چند کاره(multi tasking os) است.ما میتوانید یک یا چند task را که به طور همزمان اجرا می شوند،داشته باشید که این امکان را برای شما فراهم می اورد که پیچیدگی برنامه را کاهش دهید.
    -------------------------------------------------------------------
    (شرح ایده و طرح سیستم عامل های بلادرنگ به صورت کلی)

    شکل 1 فلوچارت یک سیستم عامل چند کاره نمونه را نشان می دهد.
    پس از انجام چند تنظیم در سیستم(به عنوان مثال تایمر های avr) زمان بندی همه چیز را سازماندهی می کند.زمانبندی، لیست تمامی task ها را در اختیار داشته و یکی از انها را جهت اجرا انتخاب می کند.این که کدام task به عنوان task بعدی باید اغاز شود بستگی به اولویت انها دارد.(task های مهمتر مقدم ترند) و در صورتی که اولویت ها برابر باشند، task هایی که هنوز اجرا نشده اند انتخاب می شوند.این نوبت گردشی (round robin) نام دارد.
    هنگامی که یک task انتخاب شودف فضای لازم برای این task ذخیره می شود و اجرا برنامه از نقطه ای که پیش از این task انتخاب شده متوقف شده بود، مجددا اغاز می شود.
    معنی این جمله که "محتوی ذخیره می شود"چیست؟اجرای برنامه چیزی بیش از دستکاری بیت رجیستر های cpu و حافظه نمی باشد.
    هنگامی که اجرای برنامه پس از مدتی وقفه مجددا از سر گرفته می شود، رجیستر هایی که با ان کار می کردند ، حداقل باید حاوی همان مقادیری باشند که پیش از وقفه بودند.
    بنابراین "ذخیره محتوی" این اطمینان را به وجود می اورد که رجیستر های کارکرد منظم cpu یعنی رجیستر وضعیت و شمارشگر برنامه در فضای خاصی از حافظه ذخیره شده اند که در ان، برنامه ادرس بازگشت و متغییر های موقتی یعنی پشته (stack) را ذخیره می کند.
    خود اشاره گر پشته باید در محلی ثابت خیره شود.درست پیش از پایان وقفه، مقادیر رجیستر از پشته دوباره بازخوانی شده و در محل اصلی خود نوته می شود. به این عمل "بازگرداندن محتوی" می گویند.
    اگر ذخیره ی محتوی و باز گرداندن ان به درستی انجام گیرد برنامه هیچ گاه متوجه وقفه ان نمی شود. هنگامی که task برای مدتی اجرا می شود، os مجددا از طریق ایجاد وقفه در task که معمولا به وسیله وقفه ی تایمر انجام می دهد، ان را کنترل می کند و به اصطلاح وقفه ی tick نامیده می شود. بلافاصله پس از وقفه، محتوی task ذخیره شده و وضعیت ان تثبیت می شود.
    اکنون بلوکی به نام سوییچ که در شکل 2 نشان داده ایم می رسیم.
    این فرایند pre-emption نامیده می شود زیرا task نمیتواند این وفقه را رد کند.بلوک کنترل task (حافظه ای که تمامی اطلاعات مربوط به task را نگه میدارد) به روز شده و زمان بند ، task جدیدی را برای اجرا انتخاب می کند. اگر task برای راه اندازی اماده نباشد، در صورتی که همهی انها منتظر رویدادی باشند، زمان بند task غیر فعال را که کاری انجام نمیدهد انتخاب می کند.
    وقوع این امر محتمل است که task می خواهد تابعی را که سیستم عامل را کنترل میکند فرا خواند یا task میخواهد با دیگر task ها ارتباط برقرار نماید،بنابر این ممکن است چند تابع هم زمانی را فرا خواندو در چنین مواردی task دیگری نیاز به اجرا نداته و ممکن است زمان باقیمانده اجرا را برای دیگر task ها نشان دهد.
    اکنون که تعویض task به صورت اختیاری است( سیستم های عامل مشترک مذکور بر این اساس به تنهایی عمل می کنند).

    طبق ان چه که بحث شد، ذخیره و بازگردانی محتوی،این اطمینان را به وجود می اورد که محیط task که اجازه دارد،برای محیط خود یکسان باشد.اما بقیه حافظه چه می شود؟
    یا درواقع رجیستر های دستگاه جانبی؟ معمولا به دلیل این که task ها هیچ گاه ان را مورد استفاده قرار نمی دهند، چندان مهم به شمار نمی رود و برای قسمتی که task مورد استفاده قرار میدهد،اغلب تنها قسمتی است task انرا مورد استفاده قرار می دهد بنابراین وقتی که task فعال نیست،از این قسمت استفاده نمی شود.ان چه که باقی می ماند، رجیستر هایی هستند که به وسیله ی بیش از یک task به کار برده می شوندو این امر چگون سازماندهی می شود؟
    ظاهرا سازماندهی ان به عهده ی شماست. درست است که os برخی از ابزار های سنکرون کردن و دستگاهای مخابره با پرچم را به کار می برد تا کار ها را اندکی اسان تر نماید اما ما که کاربر هستید باید مراقب باشید. اگر مراقب نباشید کار ها همواره به بن بست می رسند.
    مطالب ذکر شده راجع به تمامی انچه که برای طراحی یک سیستم عامل چند کاره pre-emption اجرا شده توسط کلاک وجود دارد، می باشد. البته خارج از این مقاله ، انواع متعددی از طرح های جالب دیگری وجود دارد اما این پیشینه برای بحث در مورد سیستم عامل فمتو کافی خواهد بود.
    ---------------------------------------------------------------------------------------------------------

    ویژگی سیستم عامل فمتو
    در شکل 2 طرح کلی os که بر گرفته از شکل 1 است را می بینید اما متوجه بلاک های جدید زیادی نیز می شوید.نخست تنظیم سیستم را با boothook کلی انجام میدهیم.هر task دارای یک hook فرمت می باشد و در جایی قرار داده شده اند که شما میتوانید توابع معمول را به مقدار دهی اولیه اضافه کنید.
    سیستم مرکزی بلاک حاوی بی از چند ابزار می باشد. بررسی وقایع مراتب رویداد های احتمالی است که ممکن است شما اغازگر انها باشید.
    این اعمال به کار برده می شوند تا سریعا task را پس از وقفه یا دیگر task ها را اغاز نمایند. در نتیجه نگهداری فایل ، task های احتمالی را که منتر اتمام عمل نوشتن هستند را از حالت مسدود خارج میکند.
    Watch dog برای task هایی مورد ازمایش قرار می گیرد که دیگر پاسخ نمی دهند یا ممکن است نیاز به شروع مجدد داشته باشند.این امر جهت بررسی این که ایا یک مسیر ارتباطی همچنان مشغول است،مفید بوده و نیاز به بررسی های بی شمار مدت زمان وقفه را از طریق برنامه بر طرف می نماید و نهایتا زمان بند task را در پی طرح ساده ی نوبت گردشی اولویت بندی شده انتخاب می کند.
    سیستم علاوه بر شروع یک task عادی می تواند در حات غیر فعالی قرار ***د که یک task نیست بلکه یک حالت ذخیره توان در فضای سیستم عامل می باشد.
    همچنین سیستم میتواند در حالت sleep قرار گیرد( در صورتی که از سوی سخت افزار پشتیبانی شود.)این عمل حالت خاصی از خاموش کردن تغذیه متعلق به تراشه است که وقفه ی تیک(tick) را شامل می شود.
    درست مانند سیستم عامل عمومی، task ها میتوانند تو سط وقفه ی تیک یا سوییچ دستی متوقف شوند. اما برخلاف سیستم عامل عمومی،برخلاف سیستم عامل عمومی ، فراخوانی کنترول های سیستم عامل فمتو در فضایی از سیستم عامل برای اکثر توابع اتفاق می افتند،بنابراین ابتدا سوییچ دستی را اعمال می کند، سپس از ان فرایند اجرا انجام می شود.
    در این روش پشته ی task برای این فرایند ها به کار برده نشده است،بنابراین اندازه پشته ی task می تواند کوچک تر باشد.
    در سیستم عامل فمتو اکثر پیام هایی که مستقیما تغییر محتوی را اعمال می کنند، XXXtask نامیده شده و ممکن است فقط داخل یک task مورد استفاده قرار گیرند.
    علاوه بر این پیام هایی کلی نیز وجود دارند که با ژن XXX اغاز می شوند و ممکن است این ژن از داخل task ها و نیز از راه سرویس های وقفه فرا خوانی شده باشند.
    انها سبب اعمال تغییر محتوی نمی شوند و در همان فضایی اجرا می شوند که از انجا فراخوانی شده اند و معمولا بسیار سریع هستند.
    سیستم عامل فمتو هر انچه را که شما برای یک ارتباط درون task ایمن نیاز دارید، فراهم می اورد.این امر زمانی اهمیت پیدا می کند که دو task ( یا بیشتر) باید داده های را تقسیم کرده یا به رجیستر یکسانی دسترسی داشته باشند.در نتیجه Mutexe ها ، ردیف داده و محل های تجمع (rendevous) کاملا پشتیبانی می شوند.در اینجا امکان تحلیل عمیق تر این مفاهیم پیشرفته وجود ندارد اما به عنوان یک کاربر بالقوه سیستم عامل فمتو بهتر است بدانید ابزار های لازم جهت درک این موضوع به صورت مناسب در دسترس هستند.
    ------------------------------------------------------------------------------
    منابع:elektor 2010
    http://www.femtoos.org
    به نقل از مجله نویز ماهنامه تخصصی برق و الکترونیک ECA / سال اول/ شماره 6 / اسفند 1389
    ویرایش توسط عرفان سلیم زاده : 27th April 2012 در ساعت 08:51 PM

  6. 2 کاربر از پست مفید عرفان سلیم زاده سپاس کرده اند .


  7. #4
    استعداد برتر سایت
    رشته تحصیلی
    الکترونیک و فیزیک هسته ای
    نوشته ها
    3,290
    ارسال تشکر
    4,930
    دریافت تشکر: 13,220
    قدرت امتیاز دهی
    12295
    Array
    عرفان سلیم زاده's: خجالت

    پیش فرض پاسخ : نصب سیستم عامل فمتو رو میکروکنترولر avr

    برای پورت کردن سیستم عامل فمتو دو نکته رو مد نظر قرار بدین:
    1- در هر ورژنی از سیستم عامل فمتو که می گیرید دارای یک فایل تکست "مرا بخوانید!" است.ان را مطالعه کنین.
    2- هر ورژنی از سیستم عامل نرم افزار ها و وسایل خودش رو برای پورت شدن احتیاج داره پس انها را تامین کنین
    موفق باشین
    ویرایش توسط عرفان سلیم زاده : 19th July 2012 در ساعت 11:09 AM

  8. کاربرانی که از پست مفید عرفان سلیم زاده سپاس کرده اند.


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 8
    آخرين نوشته: 12th February 2014, 09:51 PM
  2. شانس تو را موفق نمیکند، تو هستی که شانس را به موفقیت تبدیل میکنی
    توسط تووت فرنگی در انجمن روانشناسی موفقیت
    پاسخ ها: 1
    آخرين نوشته: 26th August 2012, 11:37 AM
  3. پاسخ ها: 0
    آخرين نوشته: 25th May 2010, 10:53 PM
  4. کشف اتاق‌هاي تو در تو در محوطه باستاني سيمره
    توسط باستان شناس در انجمن باستان شناسی ایران
    پاسخ ها: 0
    آخرين نوشته: 17th March 2010, 10:25 PM
  5. آموزشی: نحوه برقراری Remote Desktop Access به سیستم عامل اوبونتو
    توسط MAHDIAR در انجمن مقالات و آموزش های شبکه
    پاسخ ها: 0
    آخرين نوشته: 22nd December 2009, 02:08 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •