-
میکرو کنترلر های 32 بیتی ARM
با سلام
تو این تاپیک قراره در مورد میکرو کنترلر های ARM صحبت بشه . همونطور که میدونید از هسته های پردازشی ARM ،در حال حاظر، در تمامی موبایلها استفاده میشه ، این پردازنده ها توان پردازشی بالایی رو در کنار مصرف بسیار کم انرژی ارائه میکنند . همین عامل سبب شده بهترین گزینه برای استفاده در وسایل قابل حمل باشند(اخیرا یک netbook هم بر اساس همین خانواده cpu ساخته شده که میتونه فیلم 720p رو 8 ساعت پخش کنه)
جالبه بدونید علارغم همه ی این برتری ها قیمت این میکروکنترلر ها(دارای هسته ی ARM) خیلی گرون نیست ، به طور مثال At91SAM7s (ساده ترین نوع) با قیمت 10 هزار تومن امکانات بسیار بالایی رو در اختیار میگذاره:
High-performance 32-bit RISC Architecture
64 Kbytes حافظه فلش
16 kbytes رم داخلی (قابل اتصال به 4 گیگ رم خارجی!)
Low-power RC Oscillator, 3 to 20 MHz On-chip Oscillator and one PLL
20-bit Programmable Counter plus 12-bit Interval Counter
Real-time Timer 32bit دارای alarm
One USB 2.0 Full Speed (12 Mbits per Second) Device Port
One Four-channel 16-bit PWM Controller
One 8-channel 10-bit Analog-to-Digital Converter
Fully Static Operation: Up to 55 MHz at 1.65V and 85°C Worst Case Conditions
البته به این نکته هم توجه داشته باشید که این میکرو مثلا در 10 مگاهرتز خیلی بیشتر از یه avr (سریعترین میکروی 8 بیتی) تو همون فرکانس ،توان پردازشی داره.
خب ممکنه سوال کنید اگه اینقدر خوبه پس دیگه چرا از بقیه میکرو ها استفاده میشه؟ در جواب باید گفت:
1.این میکرو ها 4 ساله تولید میشن برای همین منابع آموزشی زیادی ندارن
2.کد نویسی تو کامپایلر این میکرو ها (در حال حاظر) خیلی پیچیده تره. و علیرغم اینکه زبان برنامه نویسی مثلا c هست ولی دستورات بیشتر به اسمبلی نزدیکن!
3.همه این ic ها smd هستن که کار باهاشون سختره (سوکت ندارن و سختر لحیم میشن)
4.به علت موارد بالا برای افراد مبتدی مناسب نیستن!
در ادامه (اگر دوستان علاقه مند باشند) یکسری فایل آموزشی برای کار با این میکرو ها میگذارم.
----------------------------------------------------------------------
معرفی حانواده میکروکنترلر های arm ساخت اتمل:
arm7
AT91SAM7A : این سری برای کار هایی که به شبکه های can نیازه مناسبه و بقیه امکاناتش معمولی هست.
AT91SAM7L : قابلیت ویژه این سری مصرف بسیار کم انرژی است. برای همین برای کار های پرتابل(استفاده از باتری) بسیار مناسبه.
AT91SAM7S : این سری برای شروع بسیار مناسبه و تقریبا همه امکانات ، مخصوصا sam-ba ، رو داره و یه چیز همه منظوره هست
AT91SAM7SE : این سری مثل همون 7s هست فقط یه باس اضافه برای مموری خارجی داره
AT91SAM7X : قابلیت ویژه این سری امکانات کامل شبکه مثل ethernet هست. در حقیقت کاملتر از 7a هست.
arm9 :
AT91SAM9 (مثل at91sam9260) : برنامه نویسی این سری شبیه arm7 هست و تقریبا تمام امکاناتی رو که در بالا گفته شد رو یکجا داره!!! علاوه بر اینحا دارای فرکانسی نزدیک به 3برابر arm7 هست!
AT91SAM9XE : این سری دارای امکانات بیشتری برای شبکه هست
AT91X40 : مشخصه ویژه این سری حجم بالاتر فلش و حافظه ،در حد چند مگ، هست
(این مطلب رو قبلا یه جای دیگه نوشته بودم که دیدم خیلی جاها کپی شده ، برای همین اینجا هم گذاشتم)
دو نمونه بورد برای کار با میکرو های arm :
این برای lpc هست:
http://farzadsw.persianblog.ir/post/9
اینم برای AT91SAM7s هست:
http://farzadsw.persianblog.ir/post/11
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
به به چه استقبالی !:تشویق:
حالا تعداد 0 پاسخ هیچی ، تعداد "مشاهده ها" واقعا چشمگیره! :لبخندساده:
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
خب ، برای شروع این pdf رو بخونید تا با انواع سری های میکروکنترلر های arm ، ساخت شرکت اتمل آشنا بشید.
http://www.4shared.com/file/11461188...dded_MPUs.html
اما برای ادامه بهتره هدف مشخص باشه . به طور مثال من دارم با میکرو های lpc 2148 , At91sam7s64 به طور عملی کار میکنم ، و اصولا برای یاد گرفتن و مسلط شدن به میکرو کنترلر باید در کنار تئوری کار عملی(یا حداقل شبیه سازی) هم انجام داد .
حالا بقیه دوستان بگن ، دارن یا میخوان ، به طور عملی کار کنن یا فقط شبیه سازی با پروتئوس ؟
-
نقل قول: ریز پردازنده های ARM
نقل قول:
نوشته شده توسط
farzadsw
به به چه استقبالی !:تشویق:
حالا تعداد 0 پاسخ هیچی ، تعداد "مشاهده ها" واقعا چشمگیره! :لبخندساده:
با سلام.
از اینکه میبینم kernel جان،مشوق این تاپیک هستند،جدا خوشحالم.
دوست من،مهم تعداد پاسخ ها نیست،سعی نکن دوستان را تشویق به بحث های فلسفی کنی.
ما قبلا یک کارهایی اینجا کردیم و همچنین درباره RTOS اینجا و اینجا بحث کردیم.
ولی آن گونه که باید پیش می رفت پیش نرفت،به 2 علت:
1)بچه های الکترونیک به PCB و شماتیک رسیدند
2)شخصا نتوانستم در بازار بردی پیدا کنم که با دات نت میکرو،بشه پرت کرد.همچنین بدلیل جدید بودن موضوع یا SDK جدیدتر از ebook بود و یا برعکس،که متاسفانه با هم در بسیاری موارد نا هماهنگ بودند.به همین دلیل گذاشتم که net. micro به بلوغش برسد و همچنین بردی هم پیدا بشود که دات نت روش پرت بشه.
-----------------------
من خیلی به این موضوع(پورت کردن RTOS بر روی برد)علاقه مندم، و حاظرم مطالب زیادی بخوانم.
ولی دوست ندارم از مبحث دات نت،دور شوم.یک توصیه هم که دارم به طرف ترجمه نرویم و یک راست به طرف کار عملی حرکت کنیم.اگر دوستان تخصص خود را در این باره بگویند و هدفشان را از یادگیری ARM بیان کنند،فکر کنم بتوانیم با هم کارهایی را انجام دهیم.
پیروز باشید.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
دوست من،مهم تعداد پاسخ ها نیست،سعی نکن دوستان را تشویق به بحث های فلسفی کنی.
:متعجب: ، آخه من توقع داشتم با توجه به اینکه میکروکنترلر های arm یه موضوع جدیده و منابع آموزشی براش کمتره ، استقبال (لا اقل از لحاظ بازدید نه پاسخ) در حد خوبی باشه . راستی منظورتون رو از بحث فلسفی نفهمیدم ؟ (من خودم عاشق بحث کردنم!)
نقل قول:
ما قبلا یک کارهایی اینجا کردیم و همچنین درباره RTOS اینجا و اینجا بحث کردیم.
ولی آن گونه که باید پیش می رفت پیش نرفت
از اونجایی که رشته من برقه قبلا کل مطالب مرتبط با ARM رو تو eca دیده بودم ولی چیزی که من برداشت کردم این بود که ؛
بیشتر اعضا بدون داشتن هیچ تجربه عملی در این ضمینه میومدن و تو بحث شرکت میکردن و بحث بی نتیجه میموند.بعضی ها هم که قدم اول رو خیلی خیلی بلند انتخاب میکردن. مثلا طرف نه میدونه پردازش تصویر چیه (حتی تو متلب) و نه میدونه (و میتونه ) با arm حتی یه led رو روشن کنه ، اون وقت میاد میپرسه با arm چه جوری میشه پردازش تصویر کرد! به همین علت کل بحث تو اون تاپیک منعطف میشه به قیمت و مارک دوربین های مخصوص پردازش تصویر.
برای همینم من تو این فروم و فروم iranled عضو شدم تا بتونم با کسایی که تونستن یه led رو با arm (به طور عملی)روشن کنن سر مباحث پیشرفته تری بحث کنیم.
در مورد نصب سیستم عامل هم همینطوره ، اول باید تا حدودی به arm مسلط شد ، بعد روش لینوکس نصب کرد و در مرحله بعدی رفت سراغ ویندوز.
نقل قول:
من خیلی به این موضوع(پورت کردن RTOS بر روی برد)علاقه مندم، و حاظرم مطالب زیادی بخوانم.
ولی دوست ندارم از مبحث دات نت،دور شوم.یک توصیه هم که دارم به طرف ترجمه نرویم و یک راست به طرف کار عملی حرکت کنیم.اگر دوستان تخصص خود را در این باره بگویند و هدفشان را از یادگیری ARM بیان کنند،فکر کنم بتوانیم با هم کارهایی را انجام دهیم.
اگه شما خیلی به نصب ویندوز روی بورد علاقه مندید ، باید یه دفعه سراغ arm9 و به عنوان نمونه at91sam9261 بروید .
اما با توجه به اینکه مطالب آموزشی arm9 حتی کمتر از arm7 هست و همچنین برد های آماده اون گرونتره گزینه مناسبی برای شروع نیست.
مثلا قیمت یه همچین چیزی حدود 200 تومن بدون پول پست و گمرک ، در میاد
http://img37.picoodle.com/img/img37/...0m_bef9d57.jpg
اگرم بخوای برد رو تو ایران تولید و مونتاژ کنی که بیشتر از این قیمت در میاد!
----------------------------------------------
در مورد ترجمه ، به نظر من کسی که نتونه مطالب انگلیسی بخونه باید 4 سال صبر کنه تا 3-4 تا کتاب فارسی تو این زمینه در بیاد ! بنابراین با شما موافقم
اگه قرار باشه با هم کار کنیم (البته نه مثل eca انحصاری!) باید بدونیم هرکس چقدر تو این زمینه اطلاعات داره؛ مثلا من همونطور که گفتم الان شروع به یاد گیری عملی arm7 کردم و هدفم استفاده از این میکرو کنترلر ها برای ساخت وسایل مختلف هست(نه لزوما نصب سیستم عامل روی arm ، هرچند اگه محقق بشه چه بهتر)
منتظر جواب بقیه دوستان هستم
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
دوست عزیز چرا ادامه نمیدی ؟
بی صبرانه منتظریم
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
دوست عزیز من منتظر جواب این 2 سوالم:
نقل قول:
بقیه دوستان بگن ، دارن یا میخوان ، به طور عملی کار کنن یا فقط شبیه سازی با پروتئوس ؟
نقل قول:
م هرکس چقدر تو این زمینه اطلاعات داره؟
خود من هم فقط چند قدم ابتدایی رو برداشتم و تا مسلط شدن به این میکرو ها فاصله دارم ! بنابراین در این زمینه گفتگو بشه بهتره .
البته من یه چند تا مطالب آموزشی میگذارم ولی قبلش لازمه به سوالات بالا جواب داده بشه. همچنین شما قصد دارید با lpc ها کار کنید یا at91sam ها ( زیاد فرقی نمیکنه ولی باید مشخص بشه)؟
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
farzadsw
حالا بقیه دوستان بگن ، دارن یا میخوان ، به طور عملی کار کنن یا فقط شبیه سازی با پروتئوس ؟
برای این پرسش ها نظر سنجی میزارن.
شخصا کار عملی را دوست دارم.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
تا اونجایی که من متوجه شدم تو این forum فقط ما 3 نفر علاقه به کار تو این زمینه داریم ، برای همین نیازی به گذاشتن نظر سنجی نیست!
خب امین آقا ، شما برد برای کار عملی دارید دیگه (همون برد eca )!؟
nxp یا اتمل ؟ برای من زیاد فرقی نمیکنه چون من برای هردوتاش برد دارم
خدمت دوستان عرض کنم من اینجا خدای نکرده قصد leader بازی ندارم ، برای همین اگه موضوعی به ذهنتون برسه مطرح کنید.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
farzadsw
تا اونجایی که من متوجه شدم تو این forum فقط ما 3 نفر علاقه به کار تو این زمینه داریم ، برای همین نیازی به گذاشتن نظر سنجی نیست!
خب امین آقا ، شما برد برای کار عملی دارید دیگه (همون برد eca )!؟
nxp یا اتمل ؟ برای من زیاد فرقی نمیکنه چون من برای هردوتاش برد دارم
خدمت دوستان عرض کنم من اینجا خدای نکرده قصد leader بازی ندارم ، برای همین اگه موضوعی به ذهنتون برسه مطرح کنید.
PCB و شماتیک گروه را دارم ولی بنابر قوانین گروه،اجازه پخش آن به آقا وحید بستگی دارد.
در ضمن،شما کار را شروع کنید تا دوستان بیایند.در آن گروه هم ابتدا یک نفر بود،70 درصد دوستان بعد از طراحی شماتیک پیوستند و خیلی ها هم بعد از آماده شدن و روشن شدن LED به گروه علاقه مند شدند.
در ضمن،در جامعه برنامه نویس همه با هم دوست هستند و از کسانی که ضحمت می کشند تشکر می شود،همانطور که Kernel جان گفت شما استارت کار را بزن.تا دوستان استفاده کنند.
میکرو های اتمل،در بازار بیشتر وجود دارد و همچنین فارم مشهوری هم برای تبادل نظر درباره میکرو می باشد.
شما شروع کن،جزییات کار با پرسش های کاربران در طول مسیر مشخص می شود.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
PCB و شماتیک گروه را دارم ولی بنابر قوانین گروه،اجازه پخش آن به آقا وحید بستگی دارد.
منظور من هم همین بود ، من خودم برد آماده دارم (نه اون برد eca)و نیازی به pcb ندارم . اگه بقیه نیاز به برد داشتن با شما مذاکره خواهند کرد.
من در عرض 1-2 روز آینده استارت رو میزنم !
* کامپایلری که من استفاده میکنم keil uvision هست.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
اگه میشه بردتون رو به ما هم معرفی کنین تا ازش استفاده کنیم
در ضمن لطف کنین و یه لینک خوب برای keil uvision قرار بدین
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
خب، برای آشنایی با معماری و نحوه برنامه نویسی arm7 بهتره (خیلی بهتره!) که این pdf رو بخونید:
http://www.4shared.com/file/12054048...-book_srn.html
ممکنه قبلا این pdf رو دیده باشید ولی اگه ندید حتما بخونیدش( لا اقل تا صفحه 40) . البته این کتاب مخصوص lpc هست ولی از اونجایی که هسته میکرو های arm یکیه و فقط تو امکانات جانبی با هم فرق دارن ، برای یاد گیری at91sam هم مناسبه.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
kernel
اگه میشه بردتون رو به ما هم معرفی کنین تا ازش استفاده کنیم
در ضمن لطف کنین و یه لینک خوب برای keil uvision قرار بدین
من این بورد رو به صورت آماده از خارج (با قیمت مناسبی!) خریدم .
ولی مهم نیست که شما از چه بوردی استفاده کنید ، فقط یه بورد باشه که پایه های i/o میکرو رو بیرون آورده باشه ، کفایت میکنه (اونم به خاطر smd بودن میکرو) .
حجم کامپایلر حدود 70 مگه برای همین آپلودش طول میکشه ، من میگذارمش تو فولدر wampserver تا شما دانلود کنید ولی سرعت دانلودش حدود 7-8 بیشتر نمیشه!
farzadsw.serveftp.com/Keil.rar
اگه دانلود نمیشه بگید تا آپلودش کنم.
-
2 ضمیمه
نقل قول: میکرو کنترلر های 32 بیتی ARM
خب ، اگه احیانا بورد و پروگرمر دارید این برنامه ای که ضمیمه کردم رو امتحان کنید. برنامه روشن خاموش کردن led رویه پایه شمار 1 هست ، میدونم خیلی سادس ولی چون اولین برنامه من بود 2 ساعت وقتم رو گرفت، شما هم برای شروع حتما باید این کار رو بتونید انجام بدید!
اینم چندتا عکس از بورد( اون مربع کوچیکه نه کل برد) .
http://img26.imagefra.me/img/img26/2...2m_7cd4038.jpg
http://img26.imagefra.me/img/img26/2...2m_b6ca236.jpg
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
تا اونجایی که من متوجه شدم تو این forum فقط ما 3 نفر علاقه به کار تو این زمینه داریم ، برای همین نیازی به گذاشتن نظر سنجی نیست!
دوست عزیز
شرکت نکردن در بحث شما دلیل بر فعالیت نکردن کاربران سایت در این زمینه نیست!
میکروکنترلهای ARM تازه وارد ایران شده است خیلی از مهندسان حتی الکترونیک هم با آن آشنایی کافی ندارند .
و اینکه بدلیل هزینه بالا در استفاده از آن فعلا کسی سراغش نمیرود.
معمولا استفاده از ARM در پروژه بزرگ استفاده میشود در انجام پروژه های معمولی صرف نمیکند از این میکرو استفاده شود. پروژه های بزرگ کمتر تعریف میشوند در نتیجه افراد کمتری در این زمینه فعالیت میکنند.
و اینکه در زمینه ARM قبلا توسط افراد دیگری در همین سایت بحث شده است ! نمونه ش همین آقای مهندس شریفی خودمون.
در کل بحث جالبی هستش ... ادامه ش هم می ارزه ...
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
asp.net.csharp.ir
دوست عزیز
شرکت نکردن در بحث شما دلیل بر فعالیت نکردن کاربران سایت در این زمینه نیست!
میکروکنترلهای ARM تازه وارد ایران شده است خیلی از مهندسان حتی الکترونیک هم با آن آشنایی کافی ندارند .
و اینکه بدلیل هزینه بالا در استفاده از آن فعلا کسی سراغش نمیرود.
معمولا استفاده از ARM در پروژه بزرگ استفاده میشود در انجام پروژه های معمولی صرف نمیکند از این میکرو استفاده شود. پروژه های بزرگ کمتر تعریف میشوند در نتیجه افراد کمتری در این زمینه فعالیت میکنند.
و اینکه در زمینه ARM قبلا توسط افراد دیگری در همین سایت بحث شده است ! نمونه ش همین آقای مهندس شریفی خودمون.
در کل بحث جالبی هستش ... ادامه ش هم می ارزه ...
نقل قول:
شرکت نکردن در بحث شما دلیل بر فعالیت نکردن کاربران سایت در این زمینه نیست!
:متفکر:
نقل قول:
و اینکه بدلیل هزینه بالا در استفاده از آن فعلا کسی سراغش نمیرود.
علت اصلیش کم بودن منابع آموزشی و سختی یادگرفتنشه. قیمت at91sam9261 تو ایران حدود 20 تومنه ، در حالی که با این میکرو میتونید یه pda (ساده) با سیستم عامل بسازید، بقیه هم که ارزونترن.
نقل قول:
و اینکه در زمینه ARM قبلا توسط افراد دیگری در همین سایت بحث شده است ! نمونه ش همین آقای مهندس شریفی خودمون.
ایشونم جزو همون 3 نفرن دیگه ، حالا با شما شدیم 4 نفر ! من برام خیلی ، مهم نیست چند نفر تو بحث شرکت میکنن ، اون حرفو برای لازم نبودن نظر سنجی گفتم .
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
keil uvision ی که گذاشتی دانلود نمیشه برادر
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
سلام دوستان.
می خواستم ببینم هیچکدوم از شما pcb آماده و قابل چاپ برای arm9 (at91sam9260 که پین های اونو فقط قابل استفاده کرده باشه ندارید؟؟؟؟
ممنون میشم اگه بذارید چون نیاز دارم واسه یه پروژه ای از این آرم استفاده کنم.
باسپاس
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
درود بر دوستان
من با avr تا حدودی آشنایی دارم
هم با codevision کار کردم هم با bascom و تقریبا همه کاری باهاش کردم بجز کار در زمینه pc interface، در ترم تابستون هم استاد پروژه ای داده و اجبار کرده که از PIC استفاده کنم، برای همین الان یک هفته ای هست که دارم با pic سرو کله می زنم، اونم با شبیه سازی تقریبا بیشتر کارهاش رو انجام دادم،
اما بر اساس چیزهایی که در باره آرم شنیدم، خواه نا خواه باید تا 5 سال آینده برم سراغ این میکرو، برا همین تصمیم گرفتم این تابستون که دارم پروژه دانشجویی رو انجام میدم در باره آرم هم آموزش های نخستین رو بگذرونم، و از اونجا که هنوز کتاب رفرنس خوبی به زبان فارسی یافت نمی شه می خوام از تجربه شما استفاده کنم،
فقط یه چیزی از یکشنبه هفته بعد شروع می کنم، تا حالا فهمیدم که باید برنامه دانلود بشه، این کتابهایی که لینک داده بودید رو چند فصلش رو بخونم، یه برد پروگرمر برای شروع کار تهیه کنم، و در این تاپیک فعال باشم:بامزه: حالا اگه شما راهنمایی دیگه ای هم برای شروع کار داشته باشید ممنون میشم(اگه یه برد معرفی کنید که عالی میشه)
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
برای پروگرمر میتونید از wiggler که نقشه و برنامه طرف کامپیوترش به صورت رایگان موجوده ، استفاده کنید و خودتون بسازید. مزیت این پروگرمر اینه که ارزونه و راحت میشه ساخت اما پورتش LPT (پورت موازی) هست برای همین ممکنه به لپتاپ وصل نشه.
بورد هم فقط در این حد باشه که تغذیه میکرو و کریستال (بهتره 12 مگ باشه) روش باشه و پایه های میکرو رو هم به پین هدر وصل کنه(تا شبیه ic های dip بشه و کار باهاش راحت بشه) .
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
من هم شخصا علاقه ام را ابراز می کنم، من 8051 نسبتا مسلطم، دات نت و طراحی وب هم خوب بلدم (جفتشون را تدریس می کنم) فکر کنم توی جمع کردن دو بحث بتونیم با هم کار کنیم، به خاطر شرایط شغلیم شاید نتونم خیلی عملی کمکتون کنم ، اما توی سازگاریشون (دات نت و میکرو)، احتمالا به کارتون بیام.
شما شروع کنید، ببینیم چی میشه.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
آقا آرم رو ادامه بده
keil رو گرفتیم
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
خب ، پس چرا شروع نمیکنید ؟ مثلا همون چشمک زن رو انجام بدید !
اگه برد ندارید با برنامه پروتئوس که میتونید کار کنید . اگه برد میخواید تو وبلاگم یه آدرس برای pcb برد آموزشی lpc23xx گذاشتم :
http://farzadsw.persianblog.ir/post/9
اینجا قراره گفتگو بشه یعنی دوطرفه باشه .
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
دوستان عزیزی که رشتشون کامپیوتره(فکر کنم همه!) اگه علاقه دارن ، من توصیه میکنم روی نصب RTOS ها (مثلا freeRTOS)بر روی همین arm7 کار کنن . به دلایل زیر:
* کاربردیه
* من ندیدم کسی این کارو تا حالا(تو ایران) انجام داده باشه (یعنی مسلط باشه)
* تقریبا یه پیشنیاز برای نصب linuxو wince هست
* من خودم زیاد تو این مقوله اطلاعی ندارم!
البته این رو بگم که من کد آماده ucosii رو برای At91sam7s64 داشتم و رو خود میکرو امتحان کردم و کار هم کرد ولی دیگه حوصله دستکاری و تعریف task و کار با سیستم فایل و ... رو نداشتم . منظور من هم مسلط شدن به این قبیل امور(!) هست.
اگه چیزی فهمیدید به ما هم آموزش بدید .:خجالت:
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
با سلام
این جور که من فهمیدم هنوز اول کارتونه
من هم همین جا اعلام آمادگی در زمینه ی عملی و یه خورده برنامه نویسی میکنم
منتظرم شروع کنید
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
Strange
با سلام
این جور که من فهمیدم هنوز اول کارتونه
من هم همین جا اعلام آمادگی در زمینه ی عملی و یه خورده برنامه نویسی میکنم
منتظرم شروع کنید
کار ما (لا اقل من!) شروع شده ، شما هم اگه میخواید قدم به قدم کار کنید یه بورد تهیه کنید و کار کنید دیگه ! منتظر چی هستید؟!
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
farzadsw
کار ما (لا اقل من!) شروع شده ، شما هم اگه میخواید قدم به قدم کار کنید یه بورد تهیه کنید و کار کنید دیگه ! منتظر چی هستید؟!
ممنون میشم لینک دانلود برد رو بزارین
یا راهنماییم کنید که چجوری تهیه کنم
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
برای کار با هر میکرو کنترلری یکی از مهمترین وسایل مورد نیاز ، پروگرمر هست. میکرو های آرم هم از این قاعده مستثنی نیستن . البته این ابزار فقط برای پروگرم کردن میکرو نیست بلکه برای emulate کردن میکرو (دیباگینگ) هم ازش استفاده میشه و به همین علت بیشتر به اسم emulator میشناسنشون تا پروگرمر ! یعنی به وسیله این ابزار شما میتونید کار کرد میکرو رو توی مدار اصلی زیرنظر داشته باشید و مثلا ببینید فلان متغییر یا پورت الان مقدارش چنده.
به طور کلی پروگرمر هایی که برای این میکرو کنترلر موجوده 2 دسته هستند:
wiggler:
http://www.olimex.com/dev/images/msp430-jtag.jpg
این پروگرمر ها به وسیله پورت parallel یا همون lpt به کامپیوتر وصل میشن .مزیت این پروگرمر اینه که نقشش تو اینترنت موجوده و براحتی میشه ساختش.همچنین به وسیله برنامه H-Jtag کامپیوتر باهاش ارتباط برقرار میکنه که هم کار پروگرم و هم کار دیباگ رو انجام میده. برای پیدا کردن برنامه و نقشه مدار wiggler کافیه تو اینترنت عبارت wiggler Jtag یا H-Jtag رو جست جو بکنید. عیب این پروگرمر ها عمدتا همون پورت موازیشون هست که باعث میشه به لپتاپ و مادربورد های جدید وصل نشن.
به عنوان مثال تو این سایت نقشه پروگرمر رو داره و اینجا هم سایت اصلی H-Jtag .
USB Emulator:
http://www.phaedsys.org/principals/s...ages/jlink.gif
این نوع پروگرمر ها نوع حرفه ای تر ، سریعتر و دارای امکانات زیادی هستن . تو این دسته Sam-ICE و J-Link و U-Link معروفن که هر کدوم برای یه شرکت خاصی هست. اما از بین اینها J-link از بقیشون بهتره و پشتیبانی بهتری هم شده . البته این پروگرمر ها یه عیبی که دارن اینه که : اولا تو ایران برای خرید پیدا نمیشن (به دلیل ثانیا!) و ثانیا قیمتشون خیلی زیاده (تقریبا 100 دلار به بالا !) . نقشه بوردشون هم در دسترس عموم نیست (البته من زیاد دنبالش نگشتم ، شایدم بشه پیدا کرد) و اگر هم باشه به دلیل smd بودن و استفاده از یه سری ic عجیب غریب نمیشه ساختش.
اما زیاد نا امید نشید برای پروگرم کردم(و دیباگینگ) میکرو های ARM ساخت شرکت Atmel از طریق پورت usb یه راه سوم و خیلی ساده دیگه هم هست به نام sam-ba (فکر کنم lpc ها هم یه همچین امکانی داشتن ولی مطمئن نیستم) :
sam-ba یه برنامه هست که داخل Rom خود میکرو های At91sam قرار داره . اگه میکرو رو با این برنامه بوت کنید(روشش رو میگم) و سپس به کامپیوتری که برنامه AT91-ISP توش نصبه ، به وسیله پورت USB و یا COM وصل کنید ، میتونید براحتی و بدون نیاز به پروگرمر میکرو رو پروگرم و دیباگ کنید(به همین راحتی!) .
خب ، حالا روش بوت کردن Sam-ba :
* شما باید یه بورد داشته باشید که usb داشته باشه و علاوه بر اون یه جامپر بین پایه TST و 3.3+ داشته باشه.(اکثر بورد ها این امکان رو دارن)
1. در حالی که میکرو به هیچ جا متصل نیست (خاموش) جامپر مذکور رو وصل میکنید تا TST به 3.3 ولت وصل بشه (تو حالت عادی نباید وصل باشه ها!)
2. بورد رو روشن میکنید(مثلا با وصل کردن کابل usb به کامپیوتر) و 10 ثانیه صبر میکنید ، تا samba از rom به flash منتقل بشه . توجه : تو این حالت برنامه قبلی پاک میشه.
3.بورد رو خاموش میکنید(usb رو جدا کنید) و جامپر رو جدا میکنید تا به حالت عادی برگرده
4. حالا بورد رو به کامپیوتر وصل میکنید و از طریق برنامه نام برده شده میکرو رو پروگرم میکنید.
حتما متوجه عیب این روش شدید ، اینکه برای هر بار پروگرم کردن باید قبلش samba رو به روش بالا بوت کنید ولی در عوض نه نیازی به چند صد هزار تومن هزینه هست و نه از پورت موازی خبری هست.
اینم آدرس دانلود برنامهAT91-ISP
این روش رو هم من به صورت عملی امتحان کردم و هیچ مشکلی نداره.
-----------------------------------------------------------------------------
متاسفانه ، من اینطور دارم برداشت میکنم (درست یا غلط) که دوستانی که میان اینجا اعلام آمادگی میکنن ، اینجا رو مثل یه اتوبوس تصور کردن که هرکی بیاد سوارش بشه به مقصد میرسه .
اگه قرار باشه بحث ها اینجا فقط یه طرفه باشه ، خب من این مطالب رو فقط تو وبلاگ ادامه بدم راحت ترم (الان این مطلب رو هم از وبلاگ کپی کردم) .
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
Strange
ممنون میشم لینک دانلود برد رو بزارین
یا راهنماییم کنید که چجوری تهیه کنم
آقای aminsharifi67 یه نقشه برای بورد داره ولی باید با خودشون صحبت کنید که نقشه رو بهتون میده یا نه.
برای سری LPC23xx هم که تو 4 تا پست قبلی توضیح دادم از کجا نقشه بورد رو پیدا کنید.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
farzadsw
متاسفانه ، من اینطور دارم برداشت میکنم (درست یا غلط) که دوستانی که میان اینجا اعلام آمادگی میکنن ، اینجا رو مثل یه اتوبوس تصور کردن که هرکی بیاد سوارش بشه به مقصد میرسه .
اگه قرار باشه بحث ها اینجا فقط یه طرفه باشه ، خب من این مطالب رو فقط تو وبلاگ ادامه بدم راحت ترم (الان این مطلب رو هم از وبلاگ کپی کردم) .
در واقع گروه هم به همین نتایج رسید که تصمیم گرفت،تمام مطالب رو نزاره و برخی از مطالب برای اعضا باشند.
نقل قول:
نوشته شده توسط
farzadsw
آقای aminsharifi67 یه نقشه برای بورد داره ولی باید با خودشون صحبت کنید که نقشه رو بهتون میده یا نه.
برای سری LPC23xx هم که تو 4 تا پست قبلی توضیح دادم از کجا نقشه بورد رو پیدا کنید.
بخدا منم از اول گفتم که تمام مطالب رو برای همه بگزارید.اما دوستان تصمیم گرفتند که برخی مطالب از جمله همین PCB و برخی sample های برد،فقط برای اعضای گروه باشد.
تا به امروز پرسشی بغیر از "من برد می خوام" را داشته دوستان پاسخ داده اند.
یک PCB چینی در گروه گذاشته شده است که آقای امید حبیبی،آنرا پیاده سازی کرده است.خوب دیگه اون PCB رو پیاده سازی کنید،اگر مشکلی بود،کمکتون میکنه.(برای پیوستن به گروه کاری را که فکر می کنید به گروه کمک کند را بهمدیر گروه بگویید و پس از انجام آن کار به گروه ملحق می شوید،به همین راحتی)
آقا فرزاد،شما انتظار داری زود نتیجه بگیری و همه با یک سرعت پیش برن،در عالم واقعیت اینگونه نیست.
در این فارم افرادی مانند kernel (که شخصا خیلی ارادت پیششون دارم)و asp.net.csharp.ir(که در شرکتی کار میکنند که مربوط به همین مقوله هست) که می تونن در این راه خیلی کمک کنند.
شما هنگامی که پستی در برنامه نویس یا eca می زنی،مطمئا باش همه استفاده میکنند،گرچه نظر ندهند. ولی اگر مشکلی پیش بیاید و یا کمکی از دستشان بر بیاد،هیچ وقت دریغ نمیکنند.
آقا فرزاد شما پست هات رو ادامه بده،همه استفاده میکنند:تشویق:.(من هم کلی پست توی eca زدم و یک نفر هم جواب نداد،دلیل نمیشه که دلسرد بشم،چون می دونم به هر حال یکی دربارش نظر میده[البته هنوز هیچ کس نظر مرتبط نداده!]
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
با تشکر ویژه از جناب aminsharifi و farzadsw بابت زحمات با ارزشتون تا به حال
به خاطر تحقیقاتم روی FPGA و Image proccesing بر روی اون خیلی وقت نمی کنم چیزی این جا بنویسم ولی هر روز چند بار به اینجا میام تا ببینم چقدر پیشرفت صورت گرفته .
اطمینان داشته باشین وقتی اعضا به سطح مطلوبی رسیدن در زمینه کار با ARM ، در مورد Port کردن OS بویژه لینوکس بر روی ARM به مقدار کافی مطلب و پست قرار میدم تا اعضا بتونن به طور حرفه ای با ARM کار کنن !
شما به کار با ارزشت ادامه بده نوبت ما که رسید دریغ نمیکنیم .
یا حق
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
فعلا که تا اینجا تنها مشکلی که بقیه داشتن ، نبود بورد بوده . من یه بورد جدید تو وبلاگ گذاشتم :
http://farzadsw.persianblog.ir/post/11
بنابراین دیگه نباید مشکلی از نظر بورد باشه ، چون بالاخره یکی از اون 3تا رو میتونید تهیه کنید !
الان من در مرحله سرگردانی برای انتخاب کامپایلر هستم! :
winARM - Eclipse : محیط ویرایش کد Eclipse که واقعا حرف نداره ( یه جورایی جادوییه !) و مثال هم براش زیاده ولی برای کانفیگ کردنش یه سری دنگ و فنگ اضافی داره که زیاد خوشایند نیست(مثلا makefile)
Keil : برنامه نویسی توش یکم راحت تره ولی بیشتر کسایی که با lpc کار میکنن ازش استفاده میکنن و آموزش درست حسابی(خود آموز) نداره.
IAR : برنامه نویسی توش یکم سختره ولی در عوض راهنما و خودآموز داره(هنوز نخوندمش) .
حالا من موندم باکدوم کار کنم!؟ شما نظری ندارید ؟
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
توی سایت ماکروسافت اسم realview رو زیاد شنیدم و گرانترین کامپایلر هم محسوب میشه.
خرید RealView / دانلود Realview
البته من هیچ تجربه ای ندارم و حتی این کامپایلر را تهیه نکردم،ولی انگار اسم بزرگی داره.
این کامپایلر برای خود شرکت ARM هست و plug-in های زیادی برای کار با سیستم عامل ها و نرم افزار های گوناگون داره.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
RealView دیگه خیلی حرفه ایه ، دراصل برای هسته های آرم استفاده میشه و چون خیلی گرونه استفاده کننده هاش کمترن و منابع آموزشی (مثال و مطلب) کمتر از بقیه (در مورد میکرو های آرم) باید داشته باشه .
از اونجایی که keil زیر مجموعه شرکت arm هست (از کامپایلر real view استفاده میکنه!)، و کار باهاش ساده تره و احتمالا در آینده ورژن های جدیدتری ازش میاد ، تقریبا تصمیم گرفتم با اون کار کنم . اینم یه مقایسه از یه کتابی:
http://img34.picoodle.com/img/img34/...rm_05c9506.jpg
اون فایل آموزشی برای IAR رو هم دیدم ، همچینم خود آموز نبود! بیشتر درمورد موارد تقریبا پیشرفته بود .
-
آیا کوتوله ها می توانند غول ها را شکست دهند؟
در Computex 2009 نسل بعدی لپ تاپ ها با نام Netbook توسط 2 شرکت Qualcomm و اینتل رونمایی شد،نسلی که آینده آن برایشرکت های سازنده اش هم ،مبهم است!
رایانه هایی که بر پایه محاسبات ابر الکترونیکی ساخته شده اند.
اما داستان اصلی......
شرکت Qualcomm رایانه قابل حمل و کم مصرفی را بر پایه معماری ARM عرضه کرده است.
http://www.slashgear.com/wp-content/...onlaptop4r.jpg
و شرکت اینتل رایانه قابل حمل و پرقدرتی را بر پایه معماری X-86 و با نسل جدید پردازنده ها-atom- به نام Menlowروانهبازار کرده است.
http://www.desinformado.com/wp-conte...el-netbook.jpg
جدال تازه ای که بین تولید کننده های پردازنده ها رخ داده است،جدال بر سر توان بالا و مصرف پایین.
شرکت بزرگ اینتل با دوستان بزرگی مانند ماکروسافت و ارگان های دولتی ایالات متحده و با داشتن تجربه بالایی در ضمینه تولید پردازنده های رایانه و لپ تاپ اکنون در مقابل ARM که دارای 100 تا 200 شریک و 10 سال تجربه در ضمینه گوشی های هوشمند می باشد،صف آرایی کرده است.
در این جنگ،اینتل سعی در بهینه کردن مصرف پردازنده خود می کند و ARM هم سعی در قوی کردن قدرت پردازنده های خود می کند.
اما برنده این میدان کیست؟ اینتل تازه کار یا ARM کهنه کار؟
در اینجا هر شرکت برگ برنده خود را رو میکنند و قدرت دیگری را کم ارزش قلم داد می کنند:
نقل قول:
The software community is already on X86. They can develop on the PC and deploy on Menlow
نقل قول:
Intel's strategy is to provide X86 processors that will offer leading performance while reducing the footprint and power consumption
according to Jon Jadersten, European marketing manager for the ultra mobile group at Intel Santa Clara, Calif.
http://www.microsoft.com/library/med...roducts/ce.png http://www.microsoft.com/library/med...s/standard.png http://www.microsoft.com/library/med...s/posready.png http://www.microsoft.com/library/med...ducts/entr.png
Processor :X86
نقل قول:
We see it [the product category] as a grownup smart phone. We certainly think our experience of more than 10 years of saving power in mobile phones is relevant; it's what allows a variety of products
نقل قول:
A particular instruction set or operating system is not the key; rather, the company must get the whole package right
said Ian Drew, segment marketing vice president for ARM at Cambridge, Englandhttp://www.microsoft.com/library/med...roducts/ce.png http://www.microsoft.com/library/med...s/navready.png http://www.bluedev.eu/t2c/Portals/0/...e.%20small.gif http://tbn0.google.com/images?q=tbn:...ux/peng1wb.gif
Processor :ARM
one ARM executive, who shall remain nameless: "Intel's a big company. I would never bet against them."
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
دفعه قبلی فقط خروجی میکرو رو امتحان کردیم ، اما ایندفعه هم حروجی و هم ورودی و البته با یه میکروی دیگه یعنی AT91sam7s64 . تو این پروژه 3 تا led به وسیله 4 تا دکمه کنترل میشن . به این صورت که دکمه های 1و2و3 به ترتیب led های 1و2و3 رو روشن و دکمه 4 هرسه رو با هم روشن میکنه.
تو این مدت من 2 چیز رو متوجه شدم (هر چند تقریبا بدیهی بود!) ، یکی اینکه از بین کامپایلر های موجود keil نسبتا بهتره ، و دیگه اینکه برنامه های میکرو های اتمل با nxp تو اسم رجیستر ها ، کد startup و کار با peripheral های میکرو متفاوته ، بنابراین کار بر روی هرجفتشون و به طور همزمان ،خصوصا در زمان اولیه آموزش ، توصیه نمیشه!
فعلا من تصمیم دارم با اتمل کار کنم و بعدش برم سراغ NXP . البته امیدوارم تو پروژه بعدی خبری از LED نباشه D:
اینم یه عکس از پروژه:
http://i26.tinypic.com/98zz28.jpg
http://rapidshare.com/files/267656289/LED_KEY.rar.html
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
خب ،اگه نوبتی هم باشه نوبت lcd کاراکتریه !
تو این برنامه که تلفیقی از پروژه های قبلیه ، ابتدا یه متن روی lcd نشون داده میشه و بعد از حرکت اون و توقف ، سه تا led به ترتیب روشن خاموش میشن. سرعت روشن خاموش شدن این led ها توسط 2 تا کلید ، کم یا زیاد میشه .
این برنامه با برنامه های قبلی که گذاشتم یه فرقی داره ، اونم اینه که توش از کتابخونه کامپایلر keil استفاده کردم (کاری که قبلا باید میکردم ! ) . البته اون کتابخونه فقط یه سری تابع داره که کار کردن با امکانات جانبی میکرو رو ساده تر میکنه و توش خبری از تابعی برای کار کردن با lcd کاراکتری و غیره نیست. به همین دلیل یه فایل هدر برای این کار درست کردم(فعلا در مرحله بتا هست). اگه خواستید فایل هدر رو بررسی کنید توصیه میکنم یه دیتاشیت lcd هم کنار دستون باشه تا کامل متوجه کد ها بشید.
http://www.4shared.com/file/127709987/7d...C_LCD.html
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
سلام،
نقل قول:
* کامپایلری که من استفاده میکنم keil uvision هست.
جسارتاً چرا از کامپایلر WinARM استفاده نمی کنید؟
یه سؤال دیگه: تا حالا چه OS هایی روی ARM پورت شدند؟
متشکرم/
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
xxxxx_xxxxx
سلام،
یه سؤال دیگه: تا حالا چه OS هایی روی ARM پورت شدند؟
متشکرم/
تمام سیستم عامل هایی که بر روی موبایل نصب شده اند.
مجوز سیستم عامل های RTOS اغلب به 3 صورت است:
1)رایگان:مانند سیستم عامل های Linux,UClinux و سیستم عامل هایی که گوگل در حال کار بر روی آن هست.
2)تقریبا رایگان!:این سیستم عامل ها بصورت extention ها بر روی کاماپایلر های گران قیمت[مانند realview] بصورت رایگان نصب می شوند.
3)تجاری:مانند سیستم عامل های ماکروسافت
--------
به این دلیل که در سیستم های embedded، وسایل جانبی و میکروکنترل های مختلفی در بورد وجود دارند،باید سیستم عامل را بگونه ای تنظیم کنیم که سیستم عامل تمام وسایل جانبی ما را شناسایی کند و بتواند به تمام پورت های میکرو کنترل دسترسی داشته باشد.
و برای مثال اگر ما فرمان چاپ و یا دکمه راست را فشار دادیم،سیستم عامل باید بداند که این دستور را چگونه باید اجرا کند.
به این دلیل نرم افزار های میانی دیگری به کار می روند به نام porting kit که وظیفه یشان گرفتن یک Image مخصوصی همان وسیله تعبیه شده است.
در حقیقت در قسمت هسته سیستم عامل، ما قطعات را به سیستم عامل معرفی میکنیم[همانطور که در AVR،صفحه نمایش و میکروکنترل را در بالای برنامه مشخص می کنیم ولی با توجه به پیچیدگی معماری ARM که یک ریز پردازنده است و سپس در قالب میکروکنترلر در آمده ست و سیستم عامل که وظیفه مدیریت حافظه و تنظیم حالات میکروکنترلر بر دوشش می باشد،اینکار به مراتب سخت می شود.]
در نرم افزار های رایگان،مانند linux شما می توانید با تمام کامپایلر های موجود(AIR,Keil,realview,....)،لینوکس خود را شخصی سازی کنید.
در سیستم عامل های تقریبا رایگان هم فقط با کامپایلری که مشخص است شما می توانید این کار را انجام دهید.
در سیستم عامل های تجاری،مانند windows embedded وwindows CE و NETMF برنامه هایی به نام porting kit را باید خریداری کنید(یا اگر نرم افزار هم رایگان باشد،مجوز استفاده از هر سیستم عاملش را باید بابت هر وسیله ای که می سازید،متقبل شوید!) و سیستم عامل را بر روی میکروی خود پورت کنید.
اکثر سیستم عامل های پولی که دیده ام،با کامپایلر realview همسازی دارند و شرکت realview که در واقع امتیاز معماری ARM هم متعلق به سازمان اوست با شرکت های نرم افزاری و سخت افزاری [مانندAtmel وMicrosoft] شراکت دارد.
گرچه سیستم عامل های مختلفی بر روی ریزپردازنده های ARM،پورت شده است و evaluation board های زیادی ساخته شده اند ولی به این دلیل که اکثرا شرکت های بزرگ اینکار را انجام داده اند،مطالب مربوط به این مقوله همگام با پیشرفت صنعت نیست و منابع آنگونه که باید باشند زیاد و بروز نیستند و اکثرا دانش سوخته شرکت ها در کتاب های نوشته می شوند.
[تمام اطلاعات بالا فقط از روی whitepaper های شرکت ها و برداشت های شخصی،نوشته شده است و دارای هیچ استناد علمی و تجربی نمی باشد.از دوستان خواهش مندم متن خرد و بدون مدرک بالا را اصلاح کنند.]
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نوشته شده توسط
xxxxx_xxxxx
سلام،
جسارتاً چرا از کامپایلر WinARM استفاده نمی کنید؟
یه سؤال دیگه: تا حالا چه OS هایی روی ARM پورت شدند؟
متشکرم/
اتفاقا همین قصد رو داشتم (و دارم) ولی از یه طرف دانشگاه شروع شد و فرصت برای یاد گیری تقریبا ندارم ، و از طرف دیگه چند تا برنامه دیگه قراره برای یکی از دوستان بنویسم که باید با keil باشه . اما تا عید(نوروز!) دیگه سعی میکنم برم طرف GCC
چون آرم7 mmu نداره برای همین یکسری RTOS های خاص براش وجود داره . که بعضی هاش مثل uClinux , FreeRTOS , uCosII رایگان هستن و 10تای دیگه که غالبا رایگان نیستن مثل ThreadX و embOS و....
اما ARM9 و بالاتر ، دارای mmu هستن و سیستم عامل (واقعی !) رو میشه روشون نصب کرد. مثلا از خانواده لینوکس : debian و آنگستروم (و احتمالا) چند تا دیگه پورت شدن. آندروید هم چون اپن سورس بوده پورت شده . windows CE هم که خیلی وقته پورت شده.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
سلام
متآسفانه چون فرصت زیادی امشب ندارم بطور اجمالی مطالب دوستان رو خوندم.
چند نکته بود که عرض می کنم:
نسخه اول این پردازنده 1985 تولید شده پس چندان جدید هم نیست.
این خانواده هم به صورت میکرو پروسسور و هم میکرو کنترلر عرضه شده
ARM یک طرح است که به صورت licence به شرکتهای دیگر فروخته می شود پس در حقیقت تمامی محصولات این خانواده ARM Based هستند و توسط تولیدکنندگان مختلف با تکنولوژی های مختلف تولید می شود
مقایسه با AVR به هیچ عنوان صحیح نیست زیرا این خانواده 32 بیتی هستند و AVR 8 بیتی.اگر می خواهید مقایسه ای انجام دهید مثلآ با AVR32 مقایسه نمایید
در ضمن در مورد کد نویسی مشکل تر به هیچ عنوان با شما موافق نیستم.اگر فرصتی بود انشا الله چند نمونه ارائه خواهم کرد.شاید این فکر به خاطر استفاده نکردن از سیستم عامل برای شما بوجود آمده باشد . در صورت استفاده از سیستم عامل Application نویسی فرق چندانی با دیگر معماری ها ندارد.
برای پروژه ای دارم برد At91sam9260 می سازم.هزینه تمام شده به نظر می رسه زیر 100 تومان باشد ( تقریبآ تمام قطعات را 60 تومان خریده ام).اگر مایل بودید بیشتر در این مورد صحبت خواهیم کرد.
با تشکر
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
نسخه اول این پردازنده 1985 تولید شده پس چندان جدید هم نیست.
اگه بخواید اینطوری حساب کنید ، نسخه اول پردازنده های اینتل سال 1971 تولید شدن پس مثلا core i7 قدیمیه !
ARM7 که در موردش صحبت شده ، ورژن 4 ام از پروسسور های arm هست و نسبت به بقیه پروسسور هایی که توی میکروکنترلر ها استفاده میشن ، جدیدتر هست . حدودا سال 2002 اولین میکرو کنترلر رو از روش ساختن . همچنین قبلا توی Game Boy Advance, Nintendo DS, iPod ازش استفاده شده.
نقل قول:
مقایسه با AVR به هیچ عنوان صحیح نیست زیرا این خانواده 32 بیتی هستند و AVR 8 بیتی.اگر می خواهید مقایسه ای انجام دهید مثلآ با AVR32 مقایسه نمایید
مبنای مقایسه، قیمت در ازای امکانات و پرفورمنس هست . مثلا at91sam7s64 با اینکه قیمتش حدود 6-7 تومنه(تو ایران) کارایی خیلی بیشتری نسبت به avr داره . البته مساله مهمتر اینه که به چه میزان قدرت پردازش و امکانات جانبی نیاز هست . وقتی میشه یه کار بخصوصی رو با avr tiny انجام داد لزومی نداره از arm و یا حتی atmega استفاده بشه.
نقل قول:
در ضمن در مورد کد نویسی مشکل تر به هیچ عنوان با شما موافق نیستم.اگر فرصتی بود انشا الله چند نمونه ارائه خواهم کرد.شاید این فکر به خاطر استفاده نکردن از سیستم عامل برای شما بوجود آمده باشد . در صورت استفاده از سیستم عامل Application نویسی فرق چندانی با دیگر معماری ها ندارد.
مسلما اگه یه سیستم عامل نصب شده وجود داشته باشه برنامه نویسی خیلی راحت میشه ولی نوشتن برنامه با بسکام و کدویژن راحت تر از پورت کردن و ایجاد task برای RTOS ها (برای arm7 ) و یا پورت کردن ویندوز یا لینوکس بر روی arm9 ( پورت کردن ، نه استفاده از نسخه ای که قبلا پورت شده!) هست. نوشتن برنامه بدون سیستم عامل هم که جای خود. البته کسی که برنامه های avr رو با اسمبلی مینوشته تو برنامه نویسی برای arm مشکل زیادی نداره
نقل قول:
برای پروژه ای دارم برد At91sam9260 می سازم.هزینه تمام شده به نظر می رسه زیر 100 تومان باشد ( تقریبآ تمام قطعات را 60 تومان خریده ام).اگر مایل بودید بیشتر در این مورد صحبت خواهیم کرد.
سخت ترین قسمتش احتمالا خوب در اومدن pcb هست ، امیدوارم موفق بشید .
فعلا تمرکز من روی arm7 هست و پیرامون همون مطلب یا اموزش قرار میدم برای همین اگه شما درمورد arm9 اینجا مطلب بگذارید خوشحال میشم.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
نقل قول:
اگه بخواید اینطوری حساب کنید ، نسخه اول پردازنده های اینتل سال 1971 تولید شدن پس مثلا core i7 قدیمیه !
ARM از ابتدا تاکنون از نظر پایه ای تفاوت چندانی پیدا نکرده است.بر خلاف مثلآ محصولات اینتل که شما مثال زدید.در ضمن منظورم از جدید نبودن این است که ممکن است داخل ایران جدید باشد ولی سال های زیادی است که در جهان استفاده می شود. واین برای یک معماری نقطه قوت است نه ضعف.مثلآ P4 اینتل چقدر توانست در بازار بماند؟ در زمان ارائه اولین نسخه(که البته از نسخه 2 وارد بازار شد و نسخه 1 هیچ گاه تجاری نشد) اینتل در حال ارائه 80286 بود.اکنون هنوز ARM با همان معماری پایه در بازار تجاری جایگاه خوبی دارد (98 درصد موبایل ها در سال 2007 و 90 درصد پردازنده های 32 بیتی ریسک Embedded در 2009)ولی اینتل چند بار معماری را تقریبآ بطور کامل عوض کرده؟
نقل قول:
ARM7 که در موردش صحبت شده ، ورژن 4 ام از پروسسور های arm هست و نسبت به بقیه پروسسور هایی که توی میکروکنترلر ها استفاده میشن ، جدیدتر هست . حدودا سال 2002 اولین میکرو کنترلر رو از روش ساختن . همچنین قبلا توی Game Boy Advance, Nintendo DS, iPod ازش استفاده شده.
ARM7 نسخه 3 است.ARM7TDMI که شما صحبت کردید نسخه 4 است.ضمن اینکه ARM7EJ-S نسخه 5 است.در مورد سال 2002 اگر منبعی دارید که اولین میکرو کنترلر در این سال ARM Based ساخته شده لطفآ برای من هم ارسال فرمایید چون تا جایی که من اطلاع دارم (Cambridge robotics company (Microrobotics سالها پیش میکروکنترلر هایی ARM Based استفاده می کرده است.و البته چون ARM به صورت طراحی ارائه می شود هیچ بعید نیست که قبل تر از آن هم شرکتها و یا اشخاصی برای خود میکرو کنترلری از روی آن ساخته باشند. همانطور که می دانید بعلت حجم کم این معماری و بازدهی بسیار فوق العاده ، برای ساخته شدن بصورت Embedded برای انجام اعمال پردازشی کنترلی مناسب است ولی برای کارهای کنترلی توصیه نمی شود. و همین امر شاید باعث ساختار شکنی در دسته بندی های کلاسیک میکرو کنترلر و میکرو پروسسور شده است.
نقل قول:
مبنای مقایسه، قیمت در ازای امکانات و پرفورمنس هست . مثلا at91sam7s64 با اینکه قیمتش حدود 6-7 تومنه(تو ایران) کارایی خیلی بیشتری نسبت به avr داره . البته مساله مهمتر اینه که به چه میزان قدرت پردازش و امکانات جانبی نیاز هست . وقتی میشه یه کار بخصوصی رو با avr tiny انجام داد لزومی نداره از arm و یا حتی atmega استفاده بشه
در این مورد کاملآ با شما موافقم. اما اگر بحث هزینه مطرح نباشد مقایسه بین این دو قابل انجام نیست.مثلآ من پروژه هایی رو دیدم و یا انجام دادم که با هیچ کدام از این دو قابل انجام نبوده و PIC بهترین جواب رو داده.حالا هر چقدر هم که PIC32 نسبت به ARM گران تر باشد.
نقل قول:
مسلما اگه یه سیستم عامل نصب شده وجود داشته باشه برنامه نویسی خیلی راحت میشه ولی نوشتن برنامه با بسکام و کدویژن راحت تر از پورت کردن و ایجاد task برای RTOS ها (برای arm7 ) و یا پورت کردن ویندوز یا لینوکس بر روی arm9 ( پورت کردن ، نه استفاده از نسخه ای که قبلا پورت شده!) هست. نوشتن برنامه بدون سیستم عامل هم که جای خود. البته کسی که برنامه های avr رو با اسمبلی مینوشته تو برنامه نویسی برای arm مشکل زیادی نداره
به شخصه 8051 هم که کار می کنم حتمآ سیستم عامل استفاده می کنم.ممکن است یاد گرفتن مفاهیم اولیه برای بکار گیری سیستم عامل آماده کمی زمانبر باشد ولی به شدت حجم کار ( طراحی,کد نویسی ، پیاده سازی و اشکال زدایی) را کاهش می دهد و این زمان اولیه را نوعی سرمایه گذاری در نظر می گیرم.
ضمن اینکه باید تصمیم خود را بگیریم: آیا قرار است کار تکنیکال انجام دهیم یا کار ساینتیکال؟
اگر کار تکنیکال است نیازی به پورت کردن سیستم عامل نیست.با یک دست چند تا هندوانه؟
اگر هم کار ساینتیکال است پورت کردن سیستم عاملی که پورت شده چه ارزشی می تواند داشته باشد؟ توسعه آری ولی پورت مجدد؟
نقل قول:
سخت ترین قسمتش احتمالا خوب در اومدن pcb هست ، امیدوارم موفق بشید .
فعلا تمرکز من روی arm7 هست و پیرامون همون مطلب یا اموزش قرار میدم برای همین اگه شما درمورد arm9 اینجا مطلب بگذارید خوشحال میشم.
دقیقآ به نکته درستی اشاره کردید .مدت زیادی برای همین PCB کار عقب افتاده.و شاید فعلآ یک برد آماده که به قیمت 200 تومان پیدا کردم تهیه کنم.(این فرضیه در حال تآمین بودجه است:چشمک:)
لطف دارید ، انشا الله سعی می کنم مطالبی بنویسم .هرچند بعید می دانم به اندازه شما فعال باشم ؛بیشتر Resource می توانم قرار دهم.بسیار ممنون از اینکه نتایج فعالیت خود را برای دیگران به اشتراک می گذارید.
در ضمن به مناسبت هفته پژوهش چند دانشگاه سخنرانی در مورد این معماری دارم،اگر از نظر شما مشکلی ندارد این قسمت را پیشنهاد کنم برای افرادی که می خواهند شروع به کار کنند.لطفآ نظر خود را در این مورد تا فردا صبح به من اطلاع دهید.
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
حدود سال 2002 (+- 1 سال) اولین سری میکرو کنترلر ها بر پایه ی arm7 (همون 7tdmi ) توسط فیلیپس یعنی سری lpc210x تولید شد . قبلش شاید از روی آرم میکرو کنترلر ساخته بودن ولی یا ورژنش قدیمی تر بوده ویا به میزان زیاد تولید و استفاده نشده بوده . این رو هم 1 سال پیش یه جایی خوندم ولی الان یادم نیست کجا بود!
به عنوان نمونه میتونید ببینید قبل از سال 2005 توی سایت embeddedrelated صحبتی از at91sam7 نبوده و قبل از 2003 صحبتی از lpc ها نبوده . این دو موردی که مثال زدم میکرو هایی هستن که الان هم موجودن و ازشون استفاده میشه (چه ایران و چه خارج)
درسته که استفاده از سیستم عامل باعث راحتی کار و اطمینان بیشتر میشه ولی از یه طرف به منابع زیاد تری (مثلا رم) نیاز داره و از طرف دیگه زمان اجرای یه عمل به خصوص بیشتر میشه. برای همین معمولا توی میکرو های 8 بیتی ازش استفاده نمیکنن. ولی توی arm9 و تا حدودی arm7 ، به طور کلی مزیتش خیلی بیشتر از ضررش هست . مهندسی بودن و علمی بودن کار رو نمیشه به طور کامل از هم جدا کرد ، بعضی از مواقع اینا overlap دارن . آشنایی با مفاهیم پورت کردن میتونه هم تو بهینه کردن سیستم عامل برای یک کار خاص و هم درمواقعی که برای یک پردازنده سیستم عاملی پورت نشده ، مفید باشه مثلا فرض کنیم free rtos برای avr پورت شده و ماهم باهاش کار کردیم و روش مسلط هستیم حالا میخوایم با dspic کار کنیم ولی این سیستم عامل رو براش پورت نکردن ،در این صورت باید شروع به یاد گیری یه سیستم عامل دیگه بکنیم . ولی خوشبختانه الان تقریبا برای هر نوع میکرو کنترلری یه سیستم عاملی رو پورت کردن( هرچند یکسان نیستن ولی یه سیستم عاملی بالاخره هست) .
اتفاقا به نظر من استفاده از سیستم عامل چیز خیلی خوبی (و حتی واجبی ) هست ، قصد دارم از بهمن ماه کار با سیستم عامل رو شروع کنم.یه تاپیک نظر سنجی هم زدم تا ببینم روی چی کار بشه بهتره . خوشحال میشم از تجربیاتتون تو اونجا استفاده کنم.
منظورتون اینه که این تاپیک رو به بقیه معرفی کنید ؟
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
سلام
بله ؛ اگر از نظر شما و همچنین قوانین سایت مشکلی نداشته باشد ، این تاپیک رو برای منبع یادگیری فارسی معرفی کنم.
با تشکر
-
نقل قول: میکرو کنترلر های 32 بیتی ARM
اتفاقا خوشحال میشم این کار رو بکنید .