این چند وقت که شبگرد دان بود وقت کردیم یخورده به کارهای جدید برسیم
توی این مدت تونستم یکی دوتا سیستم عامل Ú©Ù… Øجم را روی میکروکنترلر های 8 بیت avr پورت کنم
پیرو بØØ« : http://shabgard.org/forums/showthread.php?t=21068
که ادامه مطلب از سایتهایی که مطالب را خودم قبلا توشون نوشتم :
این چند وقت Ùکرم مشغول سیستم عاملهای بلادرنگ برای میکروکنترلرها بوده
کلا مبØثهای 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 موجود دنیا هست Ú¯Ùتم شروع کنیم به آنالیز سورس هاش Ùˆ تکمیل Ø´Ú©Ù„ ظاهری اون به عنوان یک پروژه قابل Ùهم به زبان ساده برای خودمون Ùˆ نسل آینده
این پروژه به اسم Ùمتو هست روی سایت http://www.femtoos.org
یکی دیگه از دلایلی Ú©Ù‡ اینو انتخاب کردم Ú©Ù‡ با هم شروع کنیم کار گروهی برای Ùهم کارکردش اینه Ú©Ù‡ برای خانواده Atmega طراØÛŒ شده ( غیر از سبک بودن )
مثال های ساده داشت ( روشن کردن LED )
مدار جانبی خاصی نیاز نداره ( مثل این os هایی Ú©Ù‡ برای Arm زدن Ùˆ نیاز داره Øتما EVal board هاشون به نا به تعری٠استاندارد کشیده بدن Ùˆ قطعات Øتما باشن Ùˆ الا سیستم عامل کرش میکنه Ùˆ سورس کدهای Øجیم Ùˆ .. .... )
(اینقدر هیچی نیاز نداره که نمونه اولیه اش برای خالی نبودن عریضه به همراه پروگرامر usbasp ساختن Biggrin )
Ùایلهاش روی سورس Ùورج بود Ú©Ù‡ به علت بسته بودن ip های ایران همینجا آخرین نسخه اش را ضمیمه میکنم.
خلاصه Ùعلا یه نگاه Ú©Ù„ÛŒ به سایتش بندازین ØŒ تا بعد شروع کنیم از یه جائیش بریم جلو...
پیوست : شروع به قول خودش هم اینطوریه :
http://www.femtoos.org/code_start.html
ادامه :
خب بلاخره امشب تونستم helloword مثال خودش را روی یک Ùروند atmega16 پورت کنم
خاک تو اون سر نویسندش ØŒ Øداقل مثال میزاره درست بزاره
مواد لازم :
AvrStudio
http://www.atmel.com/dyn/resources/p...udio4Setup.exe
به Øجم 116 Ù…Ú¯ ( دهنتون سرویس میشه سر دانلودش، هاها ها )
WinAvr آخرین نسخه
به علت Ù…Øدودیت ip روی SF از لینک زیر آخرین نسخه اش را دانلود کنید:
http://www.mirrorservice.org/sites/d...10-install.exe
به Øجم 27 مگا بایت
خب اصل Ùمتو هم Ú©Ù‡ توی پست بالا ضمیمه کردم ØŒ آنزیپ میکنید
بریم سر اصل مطلب یعنی ساخت اولین مثال
توی شاخه Install_******s\avrstudio یک Ùایل تمپلیت هست مخصوص avrStudio Ú©Ù‡ نویسنده شاسکول این Ùمتو درست آدرس دهی نکرده دیگه ØŒ ...
همینجا میتونید Ùایلها را آدرس دهی کنید
این ..\..\MainCode\ را بعضی جاهاش نزاشته Ú©Ù‡ باید بزارید یا مستقیم روی Ùایلها کلیک کنید تا آدرس روی هارد شما به اون اسم Ùایلها اختصاص پیدا کنه.
البته پیشنهاد میکنم این تمپلیت
project_template
ترجیØا پسوندش را هم بزارید .aps Ú©Ù‡ دیگه با یک کلیک روش خود avrstudio بازش کنه
بعد هم منو Build Ùˆ Ùایل hex را توی شاخه ای به اسم standard میتونید داشته باشید Ú©Ù‡ وقتی بریزید روی میکروکنترلر میشه یک سیستم عامل روی میکروکنترل 8بیتی avr
نکته : ایت تمپلیت مال mega8 هست ØŒ میتونید روی اسم پروجکت توی avrstudio رایت کلیک کنید Ùˆ مدل میکرو Ùˆ Ùرکانس Ùˆ Ùˆ.... عوض کنید
ادامه :
امشب یک راس گوسÙند زنده FreeRTOS را روی میکرو mega32 پورت کردم
Ùعلا با AVR STudio مشکل دارم Ùˆ الا توضیØات کاملتر مینوشتم
ادامه :
خب مراØÙ„ استÙاده از 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- اضاÙÙ‡ کردن Ùایلهای زیر به کنار Ùایل اصلیتون
با کلیک رایت Ùˆ استÙاده از گزینه
7- اضاÙÙ‡ کردن آدرس path Ùایلهای هدر اصلی
8- و نوشتن برنامه
9- Øسش بود لیست توابع Ùˆ کارکردهاشون Ùˆ Ù†Øوه نوشتن یک برنامه مولتی تسک به واسطه این سیستم عامل را براتون میزارم... Øسش هم نبود Øقتونه Ú©Ù‡ نمیاین Ú©Ù…Ú© ...
10 - برای تست برنامه Demo همراه Ùایلهای اصلی کاÙیه روی پایه های PortB میکروکنترلر LED وصل کنید تا نمونه چشمک زن اون را ببینید
توی این مدت تونستم یکی دوتا سیستم عامل Ú©Ù… Øجم را روی میکروکنترلر های 8 بیت avr پورت کنم
پیرو بØØ« : http://shabgard.org/forums/showthread.php?t=21068
که ادامه مطلب از سایتهایی که مطالب را خودم قبلا توشون نوشتم :
این چند وقت Ùکرم مشغول سیستم عاملهای بلادرنگ برای میکروکنترلرها بوده
کلا مبØثهای 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 موجود دنیا هست Ú¯Ùتم شروع کنیم به آنالیز سورس هاش Ùˆ تکمیل Ø´Ú©Ù„ ظاهری اون به عنوان یک پروژه قابل Ùهم به زبان ساده برای خودمون Ùˆ نسل آینده
این پروژه به اسم Ùمتو هست روی سایت http://www.femtoos.org
یکی دیگه از دلایلی Ú©Ù‡ اینو انتخاب کردم Ú©Ù‡ با هم شروع کنیم کار گروهی برای Ùهم کارکردش اینه Ú©Ù‡ برای خانواده Atmega طراØÛŒ شده ( غیر از سبک بودن )
مثال های ساده داشت ( روشن کردن LED )
مدار جانبی خاصی نیاز نداره ( مثل این os هایی Ú©Ù‡ برای Arm زدن Ùˆ نیاز داره Øتما EVal board هاشون به نا به تعری٠استاندارد کشیده بدن Ùˆ قطعات Øتما باشن Ùˆ الا سیستم عامل کرش میکنه Ùˆ سورس کدهای Øجیم Ùˆ .. .... )
(اینقدر هیچی نیاز نداره که نمونه اولیه اش برای خالی نبودن عریضه به همراه پروگرامر usbasp ساختن Biggrin )
Ùایلهاش روی سورس Ùورج بود Ú©Ù‡ به علت بسته بودن ip های ایران همینجا آخرین نسخه اش را ضمیمه میکنم.
خلاصه Ùعلا یه نگاه Ú©Ù„ÛŒ به سایتش بندازین ØŒ تا بعد شروع کنیم از یه جائیش بریم جلو...
پیوست : شروع به قول خودش هم اینطوریه :
http://www.femtoos.org/code_start.html
ادامه :
خب بلاخره امشب تونستم helloword مثال خودش را روی یک Ùروند atmega16 پورت کنم
خاک تو اون سر نویسندش ØŒ Øداقل مثال میزاره درست بزاره
مواد لازم :
AvrStudio
http://www.atmel.com/dyn/resources/p...udio4Setup.exe
به Øجم 116 Ù…Ú¯ ( دهنتون سرویس میشه سر دانلودش، هاها ها )
WinAvr آخرین نسخه
به علت Ù…Øدودیت ip روی SF از لینک زیر آخرین نسخه اش را دانلود کنید:
http://www.mirrorservice.org/sites/d...10-install.exe
به Øجم 27 مگا بایت
خب اصل Ùمتو هم Ú©Ù‡ توی پست بالا ضمیمه کردم ØŒ آنزیپ میکنید
بریم سر اصل مطلب یعنی ساخت اولین مثال
توی شاخه Install_******s\avrstudio یک Ùایل تمپلیت هست مخصوص avrStudio Ú©Ù‡ نویسنده شاسکول این Ùمتو درست آدرس دهی نکرده دیگه ØŒ ...
همینجا میتونید Ùایلها را آدرس دهی کنید
کد:
<SOURCEFILE>..\..\MainCode\demos_source\code_TestHelloWorld.c</SOURCEFILE> <HEADERFILE>..\..\MainCode\demos_headers\config_TestHelloWorld.h</HEADERFILE>
البته پیشنهاد میکنم این تمپلیت
project_template
ترجیØا پسوندش را هم بزارید .aps Ú©Ù‡ دیگه با یک کلیک روش خود avrstudio بازش کنه
بعد هم منو Build Ùˆ Ùایل hex را توی شاخه ای به اسم standard میتونید داشته باشید Ú©Ù‡ وقتی بریزید روی میکروکنترلر میشه یک سیستم عامل روی میکروکنترل 8بیتی avr
نکته : ایت تمپلیت مال mega8 هست ØŒ میتونید روی اسم پروجکت توی avrstudio رایت کلیک کنید Ùˆ مدل میکرو Ùˆ Ùرکانس Ùˆ Ùˆ.... عوض کنید
ادامه :
امشب یک راس گوسÙند زنده FreeRTOS را روی میکرو mega32 پورت کردم
Ùعلا با AVR STudio مشکل دارم Ùˆ الا توضیØات کاملتر مینوشتم
ادامه :
خب مراØÙ„ استÙاده از 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
کد:
c:\Embedded\FreeRTOS\Source\include\ c:\Embedded\FreeRTOS\Source\ c:\Embedded\FreeRTOS\Source\portable\GCC\ATMega323\
9- Øسش بود لیست توابع Ùˆ کارکردهاشون Ùˆ Ù†Øوه نوشتن یک برنامه مولتی تسک به واسطه این سیستم عامل را براتون میزارم... Øسش هم نبود Øقتونه Ú©Ù‡ نمیاین Ú©Ù…Ú© ...
10 - برای تست برنامه Demo همراه Ùایلهای اصلی کاÙیه روی پایه های PortB میکروکنترلر LED وصل کنید تا نمونه چشمک زن اون را ببینید
Comment