ايران ويج

نسخه‌ی کامل: سیستم عامل برای میکروکنترلر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
این چند وقت فکرم مشغول سیستم عاملهای بلادرنگ برای میکروکنترلرها بوده
کلا مبحثهای RTOS و پورت کردن و این دری وریا...
امروز هم مطالبق معمول دنبال این بحث میسرچیدم ، قاطی نمونه های مختلفی که این چند وقت دیدم مثل :
http://www.barello.net/avrx/avrx.htm
http://picoos.sourceforge.net
http://www.freertos.org
http://www.lancos.com
http://www.tinyos.net


ظاهرا یک os درست کردن به قول خودشون سبکترین os موجود دنیا هست گفتم شروع کنیم به آنالیز سورس هاش و تکمیل شکل ظاهری اون به عنوان یک پروژه قابل فهم به زبان ساده برای خودمون و نسل آیندهWink
این پروژه به اسم فمتو هست روی سایت http://www.femtoos.org

یکی دیگه از دلایلی که اینو انتخاب کردم که با هم شروع کنیم کار گروهی برای فهم کارکردش اینه که برای خانواده Atmega طراحی شده ( غیر از سبک بودن )
مثال های ساده داشت ( روشن کردن LED )
مدار جانبی خاصی نیاز نداره ( مثل این os هایی که برای Arm زدن و نیاز داره حتما EVal board هاشون به نا به تعریف استاندارد کشیده بدن و قطعات حتما باشن و الا سیستم عامل کرش میکنه و سورس کدهای حجیمو .. .... )
[تصویر:  programmer.jpg]
(اینقدر هیچی نیاز نداره که نمونه اولیه اش برای خالی نبودن عریضه به همراه پروگرامر usbasp ساختن Biggrin )
فایلهاش روی سورس فورج بود که به علت بسته بودن ip های ایران همینجا آخرین نسخه اش را ضمیمه میکنم.

خلاصه فعلا یه نگاه کلی به سایتش بندازین ، تا بعد شروع کنیم از یه جائیش بریم جلو...
پیوست : شروع به قول خودش هم اینطوریه :
http://www.femtoos.org/code_start.html


خب نظرتون ؟
خب بلاخره امشب تونستم helloword مثال خودش را روی یک فروند atmega16 پورت کنم :)
خاک تو اون سر نویسندش ، حداقل مثال میزاره درست بزاره :)
مواد لازم :
AvrStudio
http://www.atmel.com/dyn/resources/prod_...4Setup.exe
به حجم 116 مگ ( دهنتون سرویس میشه سر دانلودش، هاها ها Biggrin )

WinAvr آخرین نسخه
به علت محدودیت ip روی SF از لینک زیر آخرین نسخه اش را دانلود کنید:
http://www.mirrorservice.org/sites/downl...nstall.exe
به حجم 27 مگا بایت

خب اصل فمتو هم که توی پست بالا ضمیمه کردم ، آنزیپ میکنید
بریم سر اصل مطلب یعنی ساخت اولین مثال
توی شاخه Install_Scripts\avrstudio یک فایل تمپلیت هست مخصوص avrStudio که نویسنده شاسکول این فمتو درست آدرس دهی نکرده دیگه ، ...
همینجا میتونید فایلها را آدرس دهی کنید
کد:
<SOURCEFILE>..\..\MainCode\demos_source\code_TestHelloWorld.c</SOURCEFILE>
<HEADERFILE>..\..\MainCode\demos_headers\config_TestHelloWorld.h</HEADERFILE>

این ..\..\MainCode\ را بعضی جاهاش نزاشته که باید بزارید یا مستقیم روی فایلها کلیک کنید تا آدرس روی هارد شما به اون اسم فایلها اختصاص پیدا کنه.

البته پیشنهاد میکنم این تمپلیت
project_template
ترجیحا پسوندش را هم بزارید .aps که دیگه با یک کلیک روش خود avrstudio بازش کنه
بعد هم منو Build و فایل hex را توی شاخه ای به اسم standard میتونید داشته باشید که وقتی بریزید روی میکروکنترلر میشه یک سیستم عامل روی میکروکنترل 8بیتی avr
نکته : ایت تمپلیت مال mega8 هست ، میتونید روی اسم پروجکت توی avrstudio رایت کلیک کنید و مدل میکرو و فرکانس و و.... عوض کنید
عکس ضمیمه
یا بیاین کمک یا اگه تنهایی رفتم جلو دیگه هیچی دیتا تو این مورد share نمیکنم 023
امشب یک راس گوسفند زنده FreeRTOS را روی میکرو mega32 پورت کردم

فعلا با AVR STudio مشکل دارم و الا توضیحات کاملتر مینوشتم Sad

پیوست:
یکی این تاپیک را بفرسته یه بخش دیگه غیر از پروژه های گروهی
رفت بخش میکرو !!
خب مراحل استفاده از AVR STudio برای کامپایل و گرفتن خروجی یک فایل hex به عنوان یک سیستم عامل چند وظیفه ای بر روی یک میکروکنترلر ATMEGA بدون نیاز به وسایل جانبی خاص
فایل FreeRTOS الان آخرین نسخه اش 6.0.5 هست بعد از دانلود و اکستراکت یک شاخه demo داره که میتونید واردش بشید و بگردید دنبال فولدری که لازم دارید
ما اینجا برای شروع کار با اتمگا دنبال فولدری به اسم : AVR_ATMega323_WinAVR
توجه کنید که برای کامپایلر IAR هم فولدی جدا هست...

پس مراحل کار به صورت کلی :
1- دانلود FreeRTOS
2- دانلود کامپایلر WinAVR
3- دانلود نرم افزار AVRSTUDIO
4- اکستراکت فایل FreeRTOS ( ترجیحا در یک فولدی که توی اسمش فاصله به کار نرفته باشد مثلا اینطوری C:\program--Files\ xyz نباشد

5- ساخت یک پروجکت جدید در avrstudio
6- اضافه کردن فایلهای زیر به کنار فایل اصلیتون
با کلیک رایت و استفاده از گزینه
کد:
c:\FreeRTOS\Source\croutine.c
c:\FreeRTOS\Source\list.c
c:\FreeRTOS\Source\queue.c
c:\FreeRTOS\Source\tasks.c

c:\FreeRTOS\Source\portable\MemMang\heap_1.c
توجه کنید که این دوتافایل توی فولدر پرتابل هستند و آدرس دهی مستقیم رجیسترها در فایل دوم انجام میشوند( البته کاری به کارش نداشته باشید)
c:\FreeRTOS\Source\portable\GCC\ATMega323\port.c
7- اضافه کردن آدرس path فایلهای هدر اصلی
کد:
c:\Embedded\FreeRTOS\Source\include\
c:\Embedded\FreeRTOS\Source\
c:\Embedded\FreeRTOS\Source\portable\GCC\ATMega323\
7- و نوشتن برنامه :)
8- حسش بود لیست توابع و کارکردهاشون و نحوه نوشتن یک برنامه مولتی تسک به واسطه این سیستم عامل را براتون میزارم... حسش هم نبود حقتونه که نمیاین کمک ...
9 - برای تست برنامه Demo همراه فایلهای اصلی کافیه روی پایه های PortB میکروکنترلر LED وصل کنید تا نمونه چشمک زن اون را ببینید
سلام دوست عزیز
موضوع جالبی هست، منم خیلی علاقه مندم که رو این پروژه کار کنم(البته اگه یکم وقت گیر بیارمBiggrin)
میشه لطف کنید و یه کم توضیح در مورد این سیستم عاملا توضیح بدین!!
که این سیستم عاملا چیکار می کنن و هدف از استفاده از اونا چیه؟؟؟
من کلاس اولیم Wink
کمک میکنه به نوشتن برنامه های مولتی تسک. یه جور همزمانی فعالیتهای مختلف روی یک میکروکنترلر بدون اینکه یک روتین ، منجر به متوقف شدن روتینهای دیگربشود
و راحت تر کردن برنامه نویسی روی این کوچولوها ...
کارکرد سیستم عامل ویندوز را در اشل کوچیک در نظر بگیرید.
نقل قول: پس مراحل کار به صورت کلی :
1- دانلود FreeRTOS
2- دانلود کامپایلر WinAVR
3- دانلود نرم افزار AVRSTUDIO
4- اکستراکت فایل FreeRTOS ( ترجیحا در یک فولدی که توی اسمش فاصله به کار نرفته باشد مثلا اینطوری C:\program--Files\ xyz نباشد

دوستان سلام
میخواستم بدونم نرم افزار winavr این وسط چیکارست 013013
یعنی میشه یا توی AVRSTUDIO کار کرد یا توی WinAVR ؟
قضیه سیستم عامل سبک چیه ؟
ینی چند برنامه رو میکرو همزمان انجام بده؟
آقا من تازه کارم یکی کمکم کنهHappySad Sad Sad Sad SadSad Sad
میخوایم یاد بگیریم چطور یه سیستم عامل رو میکرو نصب میشه.
یعنی همین که سرآیندشون رو به برنامه اضافه میکنیم یعنی سیستم عامل رو راه انداختیم؟
صفحه‌ها: 1 2