متاسفانه تو ایران بازار معمولا تو تهران متمرکزه از این نظر حرف شما درسته ولی این رو هم بدونید که بازار طبق نیاز خودشو تطبیق میده.
من قشنگ یادمه بهار سال پیش تو فروم ایران ویچ بحث آرم بود ، درنتیجه رفتم جمهوری سراغ میکروهای آرم. از کل مغازه ها 2 تاشون sam7s داشتن که تازه یکیشون میگفت الان ندارم . غیر از sam7s یه مدل آرم داشت که اصلا تو سری sam نبود (at91gm بود فرضا) . اما کمتر از 3 ماه بعد ، به خاطر صحبتهایی که تو این فرومها شد (و تقاضاهایی که ایجاد شد) فروشنده ها فهمیدن که فقط سری sam رو وارد کنن ،در نتیجه میکرو های sam7s ,7x تقریبا زیاد شد. الان تو اکثر شهر های بزرگ پیدا میشه . اگه این صحبتها و تقاضاها نبود الان همون atmega128 نهایت چیزی بود که میتونستیم پیدا کنیم، یا حداقل به این سرعت وارد نمیکردن.
در مورد cortex-m3 هم همینطوره (بازم میگم m3 رو با a8 اشتباه نگیرید) . الان فقط یه مدل از st اونم به سختی پیدا میشه ولی اگه روی اینا کار بشه و درنتیجه تقاضا زیاد بشه ، اونم تو بازار زیاد میشه. پس نگران اینکه فلان میکرو تو ایران نیست نباشید ، نهایتش اینه که سری اول رو خودمون وارد میکنیم.
-------------------------
درمورد سیستم عامل ها :
*برای هر پردازنده ای ، RTOS وجود داره ، حتی همین cpu کامپیوترتون.
os , rtos ها تو ضمینه های زیر با هم فرق دارن در نتیجه کاربردشون هم فرق داره:
-نوشتن برنامه برای rtos سخت تر از os هست
-نوشتن برنامه برای rtos به صورت تعریف task هست ولی تو os به صورت فایل جدا
-برنامه های rtos اغلب به صورت لوپ هستند و کار ثابتی رو انجام میدن ولی تو os برنامه ها معمولا کار ثابتی رو انجام نمیدن و به کاربرشون وابسته هستن(ثابت یعنی از پیش تعیین شده)
-برنامه های rtos همراه خود rtos کامپایل میشن و قابل تغییر نیستن (firmware) ولی برنامه های os انعطاف پذیری بالایی دارن
-سرعت و قابلیت اطمینان در rtos ها بیشتر از os هست برای همین تو کاربردهای Real Time یا بلادرنگ ازشون استفاده میشه(ریل تایم یا بلادرنگ به این معنیه که حتما باید یه کاری هر n ثانیه یکبار انجام بشه وگر نه مشکل بزرگی ایجاد میشه)
با توجه به مطالب بالا میبینید که برای یک سیستم اتوپایلوت یا مثلا هدف یابی موشک که هر خطای کوچیکی منجر به فاجعه میشه از rtos استفاده میکنن و قرار هم نیست یه کاربر بالای سیستم باشه و برنامه رو تغییر بده ، اکثر وظایف خودکار انجام میشن.
از اون طرف وقتی قراره برای مثلا یه موبایل سیستم عاملی استفاده کنن هیچ لزومی به استفاده از rtos نیست . مثلا اگه وقتی کاربر یه دکمه ای رو فشار میده 100میلی ثانیه بعد کار انجام بشه یا 200 میلی ثانیه بعد ، هیچ اتفاق خاصی نمی افته (تو بعضی مواقع که 10 برابر زمان عادی هم تاخیر بشه اتفاقی نمی افته) از اون طرف قابلیت نصب برنامه جدید ، انعطاف پذیری سیستم عامل و .... خیلی اهمیت داره.
یه مثال ساده برای تفاوت تو برنامه نویسی اینه که فرض کنید شما میخواید اطلاعات فلان سنسور رو بفرستید تو اینترنت ، اگه بخواید با rtos این کار رو بکنید باید پروتکل شبکه رو براش راه اندازی کنید ، تنظیمات شبکه رو روش انجام بدید و برنامتون رو براش به صورت task تعریف کنید.(اونایی که سعی در انجام همچین چیزی ، حتی بدون rtos داشتن میدونن چه کاری هست) ولی وقتی از os استفاده میشه ،پروتکل و تنظیمات به صورت خودکار انجام میشن و شما با چند خط برنامه این کار رو انجام میدید.
--------------------
چند نمونه از کاربرد cortex-a8 + os :
روباتیک و پردازشهای پیچیده: برای پردازهای پیچیده مثل پردازش تصویر یا الگوریتمهای هوش مصنوعی ، داده ها رو به کامپیوتر میفرستن و مهمتر اینکه تو کامپیوتر با استفاده از برنامه های آماده این اطلاعات رو پردازش میکنن و دستور صادر میکنن. اگه پردازنده داخلی روبات قدرت کافی داشته باشه و یک سیستم عامل هم روش نصب باشه تا اون نرم افزار آماده رو اجرا کنه ، دیگه ربات مستقل میشه.
دستگاه های multimedia : مثل دستگاه پخش فیلم ، مدیا سنتر و...
استفاده به جای کامپیوتر شخصی ! یا یک وب سرور
ساخت دستگاه بازی قابل حمل ، پروژه اپن پاندورا رو ببینید ، توسط یه شرکت کوچیک این کار انجام شده (نه یه شرکت عظیمی مثل سونی و نینتندو و..) که هنوزم نمیتونن به اندازه ای که سفارش میگیرن ، تولید کنن(تولیدشون محدوده برای همین پیش خرید باید بکنید!):
[Dear Guest/Member you can't see link before replyclick here to register]
ساخت موبایل ، GPS Navigator و دستگاه هایی از این دست که قبلا حتی فکر ساختشون رو هم نمیشد کرد.
نقل قول:
در ضمن شما میشه یکی از اون سایتهایی که میگی رو معرفی کنی که Cortex-A8 داشته باشه؟؟؟؟
در حال حاظر (باز به دلیل نبود تقاضا) وضعیت صنعت pcb تو کشور خیلی نا مناسبه . برای همین شما در حال حاظر نباید به فکر ساخت بورد برای omap3530 باشید (با فرض اینکه حتی تخصص این کار رو دارید) ، این بورد های آماده برای آموزش و آزمایش هستن . یعنی اینکه اول کار این پردازنده رو یاد میگیرید(نصب سیستم عامل و غیره) بعد طبق پروژه ای که دارید یه بورد دیگه برای پروژه خودتون طراحی میکنید و نرم افزارش رو دوباره تو همین بورد آزمایش میکنید و بورد جدیدتون رو سفارش میدید تا بسازن (اگه ایران نتونستن خارج) .
اما اینکه شما برای یادگیری خودتون بیاید بورد آموزشی بسازید اصلا جالب نیست! شما یا کار با اون و طراحی بورد براش رو بلدید یا نه ، اگه بلدید که چرا بورد آموزشی میسازید ، یه راست برید سر پروژه ! اگرم بلد نیستید ، چطور میتونید براش بورد طراحی کنید و بسازید و مطمئن باشید بورد سالمه ؟! اگرم خودتون طراحی نکنید و یه بورد ساخته شده رو کپی کنید ، تو ایران قیمت تمام شده برای شما بیشتر از بورد آماده میشه.
بورد آماده برای این omap3530 تو اینترنت زیاده ، چیپشم گیر میاد.
اینی که گفتم در مورد آرم 9 هم صادقه!
نقل قول:
بابا، یکمی واقع بین باشید. انقدر بلند پروازی نکنید. باز هم میگم قدم به قدم بهتر ننتیجه میده. باور کنید از روی ARM9 پریدن هیچ کار بزرگی نیست.
قبلا چندین بار گفتم که از لحاظ ساخت بود ، قیمت نهایی ، نصب سیستم عامل arm9 , cortex-a8 مشابه هم هستن و arm9 پیش نیاز اون نیست ! حتی اگر بخواید رو اینا RTOS استفاده کنید یا حتی با c براشون برنامه بنویسید بازم پیش نیاز هم نیستن .
شما بگو چرا نباید از روی arm9 پرید ؟
نقل قول:
اگه میخواید یه کار درست و حسابی کنید با Free RTOS رو یه مدل پایینتر کار کنید خیلی بهتر و با ارزشتر از اینه که با Windows CE (که دیگه از دور خارج شده) رو یه مدل خیلی بالا کار کنید. آخه ناسلامتی ما مهندسای برق یا کامپیوتر هستیم. معنی نداره که بیایم یه برنامه برای اجرا رو Windows CE بنویسیم. این که میشه همون برنامه نویسی ترم دوم فقط بجای "توربو سی" یا "وی سی" تو یه کامپایلر دیگه. مگه قرار نیست اون همه چیزمیزای درس میکروپروسسور به درد یه جایی از زندگیمون بخوره؟
قبلا توضیح دادم که برنامه نویسی برای سیستم عامل جای خود و کاربرد خودش رو داره و برنامه نویسی برای سخت افزار هم جای خودش رو داره . اینا پیشنیاز هم نیستن و کاملا مستقل از همن.
اتفاقا من freertos رو avr اجرا کردم ، ولی ایام عید زمان دست خود آدم نیست و کار ها طبق برنامه پیش نمیره . منظورم اینه که آموزش RTOS ها به طور موازی با اون میتونه جلو بره.
windows ce از رده خارج نشده ، ولی مشکلش اینه که اولا شرکتهایی که از این استفاده میکنن چون پول میدن و لایسنس رو میخرن ، از طرف مایکروسافت ساپورت و راهنمایی میشن ولی اگه قرار باشه قاچاقی استفاده بشه سر انجام مطلوبی نداره. ثانیا قابل دست رس نیست و کرک کردن هم اطمینان سیستم رو پایین میاره.
اما در عوض کار با لینوکس اساسی تر و پایه ای تر (البته سخت تر) هست . و به راحتی هم در دسترسه. (مثلا winavr رو با بسکام مقایسه کنید)
نقل قول:
حالا اصلاً بورد با فرکانس بالای 100 مگ چطوری میخوای بسازی؟ (توضیح: میدونم که میگید از PLL استفاده میکنیم بجای اینکه بورد فرکانس بالا بسازیم. گذشته از نویز تو فرکانسهای بالای داخل CPU که رو کل مدار اثر میذاره اگه میخوایاینجوری کار کنی دیگه چه فرقی هست بین ARM9 با Cortex-A8 ؟) حالا بورد رو یه کاریش کردی، بقیه قطعات چی؟ همه قطعه ها رو میلیتاری میگیری؟
بله، همونطور که میگید از این لحاظ فرق چندانی بین ARM9 و Cortex-A8 نیست.
نقل قول:
انصافاً..... چند تا از تفاوتهای ARM9 با Cortex-A8 رو میتونی اسم ببری؟ چند بار رفتی دیتاشیت یکی از مدلهای یکیشون رو بخونی؟
تفاوتها arm9 , cortex-a8 تو یه تاپیک دیگه آورده شده . درضمن cortex-a8 که به تنهایی وجود نداره ، چیپ های براساس اون هست که یکیش همون omap3530 هست . در مورد اینکه تو omap3530 علاوه بر cortex-a8 چی اضافه داره باز هم قبلا صحبت شده.
نقل قول:
از اینه گذشته، تازگی Cortex مدل دو هسته ایش اومده قراره 4 تاییش هم بیاد. حالا با این اوصاف فردا بریم سر وقت اونا دیگه... هرچی باشه جدیدترن. توان پردازشی بالاتری دارن. Windows 7 هم روشون اجرا میشه. خوب به جای اون یه کامپیوتر خونگی یا یه نت بوک بخریم با ویژوال استادیو خیلی بهتره. اون هم میتونیم سفراش بیم بیارن. نه؟؟؟؟؟
کسی که شما (شمای نوعی یعنی همون آدم) رو مجبور نمیکنه بیای حتی از arm7 استفاده کنی . اگه avr کارت رو راه میندازه نباید بری سراغ آرم 7 . سری های جدید کرتکس هم همینطوره ، اگه کسی لازم نداره و علاقه هم نداره ، دلیلی نداره بیاد راش بندازه که مثلا چشمک زن درست کنه یا ربات تعقیب خط و ... . کاملا بستگی به نیاز شما داره.(بازم این وسط ، چون قیمت و مراحل راه اندازی arm9 , cortex-a8 مشابه هست ، دیگه نباید رفت سراغ arm9 )
اما در مورد کامپیوتر خونگی و نتبوک و مثلا برد omap3530 :
1. ابعاد چیپ و بورد نهایی
2. پردازنده کامپیوتر حدود 60 وات مصرف برقشه ولی امپ3530 حدود 2 وات . حتی لپ تاپ هم حدود 10 برابر این مصرف برقشه ،کدومشون رو میشه با باطری راه انداخت؟
3.پردازنده کامپیوتر و لپتاپ داغ میکنن و اگه فن نباشه سریع میسوزن ولی امپ3530 بدون فن اصلا داغ نمیشه و هیچ نیازی به فن نداره .
4. قیمت