PDA

View Full Version : میکرو کنترلر های 32 بیتی ARM



farzadsw
سه شنبه 09 تیر 1388, 17:48 عصر
با سلام
تو این تاپیک قراره در مورد میکرو کنترلر های 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


farzadsw
پنج شنبه 18 تیر 1388, 19:46 عصر
به به چه استقبالی !:تشویق:
حالا تعداد 0 پاسخ هیچی ، تعداد "مشاهده ها" واقعا چشمگیره! :لبخندساده:

kernel
پنج شنبه 25 تیر 1388, 18:23 عصر
ادامه بده دوست عزیز

farzadsw
جمعه 26 تیر 1388, 20:24 عصر
خب ، برای شروع این pdf رو بخونید تا با انواع سری های میکروکنترلر های arm ، ساخت شرکت اتمل آشنا بشید.
http://www.4shared.com/file/114611881/1933d630/AT91SAM_ARM_basedMCUs_and_Embedded_MPUs.html

اما برای ادامه بهتره هدف مشخص باشه . به طور مثال من دارم با میکرو های lpc 2148 , At91sam7s64 به طور عملی کار میکنم ، و اصولا برای یاد گرفتن و مسلط شدن به میکرو کنترلر باید در کنار تئوری کار عملی(یا حداقل شبیه سازی) هم انجام داد .
حالا بقیه دوستان بگن ، دارن یا میخوان ، به طور عملی کار کنن یا فقط شبیه سازی با پروتئوس ؟

محمدامین شریفی
دوشنبه 29 تیر 1388, 21:28 عصر
به به چه استقبالی !:تشویق:
حالا تعداد 0 پاسخ هیچی ، تعداد "مشاهده ها" واقعا چشمگیره! :لبخندساده:
با سلام.
از اینکه میبینم kernel جان،مشوق این تاپیک هستند،جدا خوشحالم.
دوست من،مهم تعداد پاسخ ها نیست،سعی نکن دوستان را تشویق به بحث های فلسفی کنی.
ما قبلا یک کارهایی اینجا (http://www.eca.ir/forum2/index.php?topic=23410.0) کردیم و همچنین درباره RTOS اینجا (http://www.eca.ir/forum2/index.php?topic=18380.0) و اینجا (http://www.eca.ir/forum2/index.php?topic=22853.0)بحث کردیم.
ولی آن گونه که باید پیش می رفت پیش نرفت،به 2 علت:
1)بچه های الکترونیک به PCB و شماتیک رسیدند
2)شخصا نتوانستم در بازار بردی پیدا کنم که با دات نت میکرو،بشه پرت کرد.همچنین بدلیل جدید بودن موضوع یا SDK جدیدتر از ebook بود و یا برعکس،که متاسفانه با هم در بسیاری موارد نا هماهنگ بودند.به همین دلیل گذاشتم که net. micro به بلوغش برسد و همچنین بردی هم پیدا بشود که دات نت روش پرت بشه.

-----------------------
من خیلی به این موضوع(پورت کردن RTOS بر روی برد)علاقه مندم، و حاظرم مطالب زیادی بخوانم.
ولی دوست ندارم از مبحث دات نت،دور شوم.یک توصیه هم که دارم به طرف ترجمه نرویم و یک راست به طرف کار عملی حرکت کنیم.اگر دوستان تخصص خود را در این باره بگویند و هدفشان را از یادگیری ARM بیان کنند،فکر کنم بتوانیم با هم کارهایی را انجام دهیم.

پیروز باشید.

farzadsw
سه شنبه 30 تیر 1388, 16:15 عصر
دوست من،مهم تعداد پاسخ ها نیست،سعی نکن دوستان را تشویق به بحث های فلسفی کنی.
:متعجب: ، آخه من توقع داشتم با توجه به اینکه میکروکنترلر های arm یه موضوع جدیده و منابع آموزشی براش کمتره ، استقبال (لا اقل از لحاظ بازدید نه پاسخ) در حد خوبی باشه . راستی منظورتون رو از بحث فلسفی نفهمیدم ؟ (من خودم عاشق بحث کردنم!)

ما قبلا یک کارهایی اینجا کردیم و همچنین درباره RTOS اینجا و اینجا بحث کردیم.
ولی آن گونه که باید پیش می رفت پیش نرفت
از اونجایی که رشته من برقه قبلا کل مطالب مرتبط با ARM رو تو eca دیده بودم ولی چیزی که من برداشت کردم این بود که ؛
بیشتر اعضا بدون داشتن هیچ تجربه عملی در این ضمینه میومدن و تو بحث شرکت میکردن و بحث بی نتیجه میموند.بعضی ها هم که قدم اول رو خیلی خیلی بلند انتخاب میکردن. مثلا طرف نه میدونه پردازش تصویر چیه (حتی تو متلب) و نه میدونه (و میتونه ) با arm حتی یه led رو روشن کنه ، اون وقت میاد میپرسه با arm چه جوری میشه پردازش تصویر کرد! به همین علت کل بحث تو اون تاپیک منعطف میشه به قیمت و مارک دوربین های مخصوص پردازش تصویر.
برای همینم من تو این فروم و فروم iranled عضو شدم تا بتونم با کسایی که تونستن یه led رو با arm (به طور عملی)روشن کنن سر مباحث پیشرفته تری بحث کنیم.
در مورد نصب سیستم عامل هم همینطوره ، اول باید تا حدودی به arm مسلط شد ، بعد روش لینوکس نصب کرد و در مرحله بعدی رفت سراغ ویندوز.

من خیلی به این موضوع(پورت کردن RTOS بر روی برد)علاقه مندم، و حاظرم مطالب زیادی بخوانم.
ولی دوست ندارم از مبحث دات نت،دور شوم.یک توصیه هم که دارم به طرف ترجمه نرویم و یک راست به طرف کار عملی حرکت کنیم.اگر دوستان تخصص خود را در این باره بگویند و هدفشان را از یادگیری ARM بیان کنند،فکر کنم بتوانیم با هم کارهایی را انجام دهیم.
اگه شما خیلی به نصب ویندوز روی بورد علاقه مندید ، باید یه دفعه سراغ arm9 و به عنوان نمونه at91sam9261 بروید .
اما با توجه به اینکه مطالب آموزشی arm9 حتی کمتر از arm7 هست و همچنین برد های آماده اون گرونتره گزینه مناسبی برای شروع نیست.
مثلا قیمت یه همچین چیزی حدود 200 تومن بدون پول پست و گمرک ، در میاد

http://img37.picoodle.com/img/img37/2/7/21/farzadsw/f_20090527190m_bef9d57.jpg

اگرم بخوای برد رو تو ایران تولید و مونتاژ کنی که بیشتر از این قیمت در میاد!

----------------------------------------------
در مورد ترجمه ، به نظر من کسی که نتونه مطالب انگلیسی بخونه باید 4 سال صبر کنه تا 3-4 تا کتاب فارسی تو این زمینه در بیاد ! بنابراین با شما موافقم
اگه قرار باشه با هم کار کنیم (البته نه مثل eca انحصاری!) باید بدونیم هرکس چقدر تو این زمینه اطلاعات داره؛ مثلا من همونطور که گفتم الان شروع به یاد گیری عملی arm7 کردم و هدفم استفاده از این میکرو کنترلر ها برای ساخت وسایل مختلف هست(نه لزوما نصب سیستم عامل روی arm ، هرچند اگه محقق بشه چه بهتر)

منتظر جواب بقیه دوستان هستم

kernel
جمعه 02 مرداد 1388, 00:17 صبح
دوست عزیز چرا ادامه نمیدی ؟

بی صبرانه منتظریم

farzadsw
جمعه 02 مرداد 1388, 13:58 عصر
دوست عزیز من منتظر جواب این 2 سوالم:

بقیه دوستان بگن ، دارن یا میخوان ، به طور عملی کار کنن یا فقط شبیه سازی با پروتئوس ؟

م هرکس چقدر تو این زمینه اطلاعات داره؟
خود من هم فقط چند قدم ابتدایی رو برداشتم و تا مسلط شدن به این میکرو ها فاصله دارم ! بنابراین در این زمینه گفتگو بشه بهتره .
البته من یه چند تا مطالب آموزشی میگذارم ولی قبلش لازمه به سوالات بالا جواب داده بشه. همچنین شما قصد دارید با lpc ها کار کنید یا at91sam ها ( زیاد فرقی نمیکنه ولی باید مشخص بشه)؟

محمدامین شریفی
جمعه 02 مرداد 1388, 15:56 عصر
حالا بقیه دوستان بگن ، دارن یا میخوان ، به طور عملی کار کنن یا فقط شبیه سازی با پروتئوس ؟
برای این پرسش ها نظر سنجی میزارن.
شخصا کار عملی را دوست دارم.

farzadsw
جمعه 02 مرداد 1388, 21:01 عصر
تا اونجایی که من متوجه شدم تو این forum فقط ما 3 نفر علاقه به کار تو این زمینه داریم ، برای همین نیازی به گذاشتن نظر سنجی نیست!
خب امین آقا ، شما برد برای کار عملی دارید دیگه (همون برد eca )!؟
nxp یا اتمل ؟ برای من زیاد فرقی نمیکنه چون من برای هردوتاش برد دارم
خدمت دوستان عرض کنم من اینجا خدای نکرده قصد leader بازی ندارم ، برای همین اگه موضوعی به ذهنتون برسه مطرح کنید.

محمدامین شریفی
جمعه 02 مرداد 1388, 22:46 عصر
تا اونجایی که من متوجه شدم تو این forum فقط ما 3 نفر علاقه به کار تو این زمینه داریم ، برای همین نیازی به گذاشتن نظر سنجی نیست!
خب امین آقا ، شما برد برای کار عملی دارید دیگه (همون برد eca )!؟
nxp یا اتمل ؟ برای من زیاد فرقی نمیکنه چون من برای هردوتاش برد دارم
خدمت دوستان عرض کنم من اینجا خدای نکرده قصد leader بازی ندارم ، برای همین اگه موضوعی به ذهنتون برسه مطرح کنید.
PCB و شماتیک گروه را دارم ولی بنابر قوانین گروه،اجازه پخش آن به آقا وحید بستگی دارد.
در ضمن،شما کار را شروع کنید تا دوستان بیایند.در آن گروه هم ابتدا یک نفر بود،70 درصد دوستان بعد از طراحی شماتیک پیوستند و خیلی ها هم بعد از آماده شدن و روشن شدن LED به گروه علاقه مند شدند.
در ضمن،در جامعه برنامه نویس همه با هم دوست هستند و از کسانی که ضحمت می کشند تشکر می شود،همانطور که Kernel جان گفت شما استارت کار را بزن.تا دوستان استفاده کنند.
میکرو های اتمل،در بازار بیشتر وجود دارد و همچنین فارم مشهوری هم برای تبادل نظر درباره میکرو می باشد.
شما شروع کن،جزییات کار با پرسش های کاربران در طول مسیر مشخص می شود.

farzadsw
جمعه 02 مرداد 1388, 23:09 عصر
PCB و شماتیک گروه را دارم ولی بنابر قوانین گروه،اجازه پخش آن به آقا وحید بستگی دارد.
منظور من هم همین بود ، من خودم برد آماده دارم (نه اون برد eca)و نیازی به pcb ندارم . اگه بقیه نیاز به برد داشتن با شما مذاکره خواهند کرد.
من در عرض 1-2 روز آینده استارت رو میزنم !
* کامپایلری که من استفاده میکنم keil uvision هست.

kernel
شنبه 03 مرداد 1388, 16:05 عصر
اگه میشه بردتون رو به ما هم معرفی کنین تا ازش استفاده کنیم

در ضمن لطف کنین و یه لینک خوب برای keil uvision قرار بدین

farzadsw
شنبه 03 مرداد 1388, 16:16 عصر
خب، برای آشنایی با معماری و نحوه برنامه نویسی arm7 بهتره (خیلی بهتره!) که این pdf رو بخونید:
http://www.4shared.com/file/120540485/9b4c5206/lpc-ARM-book_srn.html

ممکنه قبلا این pdf رو دیده باشید ولی اگه ندید حتما بخونیدش( لا اقل تا صفحه 40) . البته این کتاب مخصوص lpc هست ولی از اونجایی که هسته میکرو های arm یکیه و فقط تو امکانات جانبی با هم فرق دارن ، برای یاد گیری at91sam هم مناسبه.

farzadsw
شنبه 03 مرداد 1388, 16:30 عصر
اگه میشه بردتون رو به ما هم معرفی کنین تا ازش استفاده کنیم

در ضمن لطف کنین و یه لینک خوب برای keil uvision قرار بدین

من این بورد رو به صورت آماده از خارج (با قیمت مناسبی!) خریدم .
ولی مهم نیست که شما از چه بوردی استفاده کنید ، فقط یه بورد باشه که پایه های i/o میکرو رو بیرون آورده باشه ، کفایت میکنه (اونم به خاطر smd بودن میکرو) .

حجم کامپایلر حدود 70 مگه برای همین آپلودش طول میکشه ، من میگذارمش تو فولدر wampserver تا شما دانلود کنید ولی سرعت دانلودش حدود 7-8 بیشتر نمیشه!
farzadsw.serveftp.com/Keil.rar
اگه دانلود نمیشه بگید تا آپلودش کنم.

farzadsw
شنبه 03 مرداد 1388, 16:45 عصر
خب ، اگه احیانا بورد و پروگرمر دارید این برنامه ای که ضمیمه کردم رو امتحان کنید. برنامه روشن خاموش کردن led رویه پایه شمار 1 هست ، میدونم خیلی سادس ولی چون اولین برنامه من بود 2 ساعت وقتم رو گرفت، شما هم برای شروع حتما باید این کار رو بتونید انجام بدید!
اینم چندتا عکس از بورد( اون مربع کوچیکه نه کل برد) .


http://img26.imagefra.me/img/img26/2/7/25/farzadsw/f_21470732882m_7cd4038.jpg

http://img26.imagefra.me/img/img26/2/7/25/farzadsw/f_21470732882m_b6ca236.jpg

kiosksoft
شنبه 03 مرداد 1388, 17:45 عصر
تا اونجایی که من متوجه شدم تو این forum فقط ما 3 نفر علاقه به کار تو این زمینه داریم ، برای همین نیازی به گذاشتن نظر سنجی نیست!

دوست عزیز

شرکت نکردن در بحث شما دلیل بر فعالیت نکردن کاربران سایت در این زمینه نیست!

میکروکنترلهای ARM تازه وارد ایران شده است خیلی از مهندسان حتی الکترونیک هم با آن آشنایی کافی ندارند .
و اینکه بدلیل هزینه بالا در استفاده از آن فعلا کسی سراغش نمیرود.
معمولا استفاده از ARM در پروژه بزرگ استفاده میشود در انجام پروژه های معمولی صرف نمیکند از این میکرو استفاده شود. پروژه های بزرگ کمتر تعریف میشوند در نتیجه افراد کمتری در این زمینه فعالیت میکنند.

و اینکه در زمینه ARM قبلا توسط افراد دیگری در همین سایت بحث شده است ! نمونه ش همین آقای مهندس شریفی خودمون.

در کل بحث جالبی هستش ... ادامه ش هم می ارزه ...

farzadsw
شنبه 03 مرداد 1388, 18:21 عصر
دوست عزیز

شرکت نکردن در بحث شما دلیل بر فعالیت نکردن کاربران سایت در این زمینه نیست!

میکروکنترلهای ARM تازه وارد ایران شده است خیلی از مهندسان حتی الکترونیک هم با آن آشنایی کافی ندارند .
و اینکه بدلیل هزینه بالا در استفاده از آن فعلا کسی سراغش نمیرود.
معمولا استفاده از ARM در پروژه بزرگ استفاده میشود در انجام پروژه های معمولی صرف نمیکند از این میکرو استفاده شود. پروژه های بزرگ کمتر تعریف میشوند در نتیجه افراد کمتری در این زمینه فعالیت میکنند.

و اینکه در زمینه ARM قبلا توسط افراد دیگری در همین سایت بحث شده است ! نمونه ش همین آقای مهندس شریفی خودمون.

در کل بحث جالبی هستش ... ادامه ش هم می ارزه ...


شرکت نکردن در بحث شما دلیل بر فعالیت نکردن کاربران سایت در این زمینه نیست!

:متفکر:

و اینکه بدلیل هزینه بالا در استفاده از آن فعلا کسی سراغش نمیرود.
علت اصلیش کم بودن منابع آموزشی و سختی یادگرفتنشه. قیمت at91sam9261 تو ایران حدود 20 تومنه ، در حالی که با این میکرو میتونید یه pda (ساده) با سیستم عامل بسازید، بقیه هم که ارزونترن.

و اینکه در زمینه ARM قبلا توسط افراد دیگری در همین سایت بحث شده است ! نمونه ش همین آقای مهندس شریفی خودمون.
ایشونم جزو همون 3 نفرن دیگه ، حالا با شما شدیم 4 نفر ! من برام خیلی ، مهم نیست چند نفر تو بحث شرکت میکنن ، اون حرفو برای لازم نبودن نظر سنجی گفتم .

kernel
دوشنبه 05 مرداد 1388, 13:20 عصر
keil uvision ی که گذاشتی دانلود نمیشه برادر

farzadsw
دوشنبه 05 مرداد 1388, 14:15 عصر
اینم از keil
http://www.4shared.com/file/121020973/84951708/Keil.html
http://rapidshare.com/files/260639596/Keil.rar.html

parsha
پنج شنبه 08 مرداد 1388, 19:06 عصر
سلام دوستان.
می خواستم ببینم هیچکدوم از شما pcb آماده و قابل چاپ برای arm9 (at91sam9260 که پین های اونو فقط قابل استفاده کرده باشه ندارید؟؟؟؟
ممنون میشم اگه بذارید چون نیاز دارم واسه یه پروژه ای از این آرم استفاده کنم.

باسپاس

arashonline
جمعه 09 مرداد 1388, 03:11 صبح
درود بر دوستان
من با avr تا حدودی آشنایی دارم
هم با codevision کار کردم هم با bascom و تقریبا همه کاری باهاش کردم بجز کار در زمینه pc interface، در ترم تابستون هم استاد پروژه ای داده و اجبار کرده که از PIC استفاده کنم، برای همین الان یک هفته ای هست که دارم با pic سرو کله می زنم، اونم با شبیه سازی تقریبا بیشتر کارهاش رو انجام دادم،

اما بر اساس چیزهایی که در باره آرم شنیدم، خواه نا خواه باید تا 5 سال آینده برم سراغ این میکرو، برا همین تصمیم گرفتم این تابستون که دارم پروژه دانشجویی رو انجام میدم در باره آرم هم آموزش های نخستین رو بگذرونم، و از اونجا که هنوز کتاب رفرنس خوبی به زبان فارسی یافت نمی شه می خوام از تجربه شما استفاده کنم،

فقط یه چیزی از یکشنبه هفته بعد شروع می کنم، تا حالا فهمیدم که باید برنامه دانلود بشه، این کتابهایی که لینک داده بودید رو چند فصلش رو بخونم، یه برد پروگرمر برای شروع کار تهیه کنم، و در این تاپیک فعال باشم:بامزه: حالا اگه شما راهنمایی دیگه ای هم برای شروع کار داشته باشید ممنون میشم(اگه یه برد معرفی کنید که عالی میشه)

farzadsw
جمعه 09 مرداد 1388, 11:14 صبح
برای پروگرمر میتونید از wiggler که نقشه و برنامه طرف کامپیوترش به صورت رایگان موجوده ، استفاده کنید و خودتون بسازید. مزیت این پروگرمر اینه که ارزونه و راحت میشه ساخت اما پورتش LPT (پورت موازی) هست برای همین ممکنه به لپتاپ وصل نشه.
بورد هم فقط در این حد باشه که تغذیه میکرو و کریستال (بهتره 12 مگ باشه) روش باشه و پایه های میکرو رو هم به پین هدر وصل کنه(تا شبیه ic های dip بشه و کار باهاش راحت بشه) .

aynehband
چهارشنبه 14 مرداد 1388, 22:33 عصر
من هم شخصا علاقه ام را ابراز می کنم، من 8051 نسبتا مسلطم، دات نت و طراحی وب هم خوب بلدم (جفتشون را تدریس می کنم) فکر کنم توی جمع کردن دو بحث بتونیم با هم کار کنیم، به خاطر شرایط شغلیم شاید نتونم خیلی عملی کمکتون کنم ، اما توی سازگاریشون (دات نت و میکرو)، احتمالا به کارتون بیام.
شما شروع کنید، ببینیم چی میشه.

kernel
پنج شنبه 15 مرداد 1388, 11:49 صبح
آقا آرم رو ادامه بده
keil رو گرفتیم

farzadsw
جمعه 16 مرداد 1388, 14:32 عصر
خب ، پس چرا شروع نمیکنید ؟ مثلا همون چشمک زن رو انجام بدید !
اگه برد ندارید با برنامه پروتئوس که میتونید کار کنید . اگه برد میخواید تو وبلاگم یه آدرس برای pcb برد آموزشی lpc23xx گذاشتم :
http://farzadsw.persianblog.ir/post/9
اینجا قراره گفتگو بشه یعنی دوطرفه باشه .

farzadsw
یک شنبه 18 مرداد 1388, 21:37 عصر
دوستان عزیزی که رشتشون کامپیوتره(فکر کنم همه!) اگه علاقه دارن ، من توصیه میکنم روی نصب RTOS ها (مثلا freeRTOS)بر روی همین arm7 کار کنن . به دلایل زیر:
* کاربردیه
* من ندیدم کسی این کارو تا حالا(تو ایران) انجام داده باشه (یعنی مسلط باشه)
* تقریبا یه پیشنیاز برای نصب linuxو wince هست
* من خودم زیاد تو این مقوله اطلاعی ندارم!

البته این رو بگم که من کد آماده ucosii رو برای At91sam7s64 داشتم و رو خود میکرو امتحان کردم و کار هم کرد ولی دیگه حوصله دستکاری و تعریف task و کار با سیستم فایل و ... رو نداشتم . منظور من هم مسلط شدن به این قبیل امور(!) هست.
اگه چیزی فهمیدید به ما هم آموزش بدید .:خجالت:

Strange
دوشنبه 19 مرداد 1388, 01:04 صبح
با سلام
این جور که من فهمیدم هنوز اول کارتونه
من هم همین جا اعلام آمادگی در زمینه ی عملی و یه خورده برنامه نویسی میکنم
منتظرم شروع کنید

farzadsw
دوشنبه 19 مرداد 1388, 15:06 عصر
با سلام
این جور که من فهمیدم هنوز اول کارتونه
من هم همین جا اعلام آمادگی در زمینه ی عملی و یه خورده برنامه نویسی میکنم
منتظرم شروع کنید

کار ما (لا اقل من!) شروع شده ، شما هم اگه میخواید قدم به قدم کار کنید یه بورد تهیه کنید و کار کنید دیگه ! منتظر چی هستید؟!

Strange
سه شنبه 20 مرداد 1388, 13:22 عصر
کار ما (لا اقل من!) شروع شده ، شما هم اگه میخواید قدم به قدم کار کنید یه بورد تهیه کنید و کار کنید دیگه ! منتظر چی هستید؟!
ممنون میشم لینک دانلود برد رو بزارین
یا راهنماییم کنید که چجوری تهیه کنم

farzadsw
سه شنبه 20 مرداد 1388, 14:26 عصر
برای کار با هر میکرو کنترلری یکی از مهمترین وسایل مورد نیاز ، پروگرمر هست. میکرو های آرم هم از این قاعده مستثنی نیستن . البته این ابزار فقط برای پروگرم کردن میکرو نیست بلکه برای emulate کردن میکرو (دیباگینگ) هم ازش استفاده میشه و به همین علت بیشتر به اسم emulator میشناسنشون تا پروگرمر ! یعنی به وسیله این ابزار شما میتونید کار کرد میکرو رو توی مدار اصلی زیرنظر داشته باشید و مثلا ببینید فلان متغییر یا پورت الان مقدارش چنده.

به طور کلی پروگرمر هایی که برای این میکرو کنترلر موجوده 2 دسته هستند:


wiggler:

http://www.olimex.com/dev/images/msp430-jtag.jpg



این پروگرمر ها به وسیله پورت parallel یا همون lpt به کامپیوتر وصل میشن .مزیت این پروگرمر اینه که نقشش تو اینترنت موجوده و براحتی میشه ساختش.همچنین به وسیله برنامه H-Jtag کامپیوتر باهاش ارتباط برقرار میکنه که هم کار پروگرم و هم کار دیباگ رو انجام میده. برای پیدا کردن برنامه و نقشه مدار wiggler کافیه تو اینترنت عبارت wiggler Jtag یا H-Jtag رو جست جو بکنید. عیب این پروگرمر ها عمدتا همون پورت موازیشون هست که باعث میشه به لپتاپ و مادربورد های جدید وصل نشن.

به عنوان مثال تو این سایت (http://www.bicotech.com/?page=prod_wiggler&lg=en)نقشه پروگرمر رو داره و اینجا هم سایت اصلی H-Jtag (http://www.hjtag.com/).



USB Emulator:

http://www.phaedsys.org/principals/segger/seggerimages/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 رو به روش بالا بوت کنید ولی در عوض نه نیازی به چند صد هزار تومن هزینه هست و نه از پورت موازی خبری هست.

اینم آدرس دانلود برنامه (http://www.atmel.com/dyn/resources/prod_documents/Install%20AT91-ISP%20v1.13.exe)AT91-ISP

این روش رو هم من به صورت عملی امتحان کردم و هیچ مشکلی نداره.

-----------------------------------------------------------------------------
متاسفانه ، من اینطور دارم برداشت میکنم (درست یا غلط) که دوستانی که میان اینجا اعلام آمادگی میکنن ، اینجا رو مثل یه اتوبوس تصور کردن که هرکی بیاد سوارش بشه به مقصد میرسه .
اگه قرار باشه بحث ها اینجا فقط یه طرفه باشه ، خب من این مطالب رو فقط تو وبلاگ ادامه بدم راحت ترم (الان این مطلب رو هم از وبلاگ کپی کردم) .

farzadsw
سه شنبه 20 مرداد 1388, 14:32 عصر
ممنون میشم لینک دانلود برد رو بزارین
یا راهنماییم کنید که چجوری تهیه کنم

آقای aminsharifi67 یه نقشه برای بورد داره ولی باید با خودشون صحبت کنید که نقشه رو بهتون میده یا نه.
برای سری LPC23xx هم که تو 4 تا پست قبلی توضیح دادم از کجا نقشه بورد رو پیدا کنید.

محمدامین شریفی
سه شنبه 20 مرداد 1388, 21:50 عصر
متاسفانه ، من اینطور دارم برداشت میکنم (درست یا غلط) که دوستانی که میان اینجا اعلام آمادگی میکنن ، اینجا رو مثل یه اتوبوس تصور کردن که هرکی بیاد سوارش بشه به مقصد میرسه .
اگه قرار باشه بحث ها اینجا فقط یه طرفه باشه ، خب من این مطالب رو فقط تو وبلاگ ادامه بدم راحت ترم (الان این مطلب رو هم از وبلاگ کپی کردم) .
در واقع گروه هم به همین نتایج رسید که تصمیم گرفت،تمام مطالب رو نزاره و برخی از مطالب برای اعضا باشند.

آقای aminsharifi67 یه نقشه برای بورد داره ولی باید با خودشون صحبت کنید که نقشه رو بهتون میده یا نه.
برای سری LPC23xx هم که تو 4 تا پست قبلی توضیح دادم از کجا نقشه بورد رو پیدا کنید.
بخدا منم از اول گفتم که تمام مطالب رو برای همه بگزارید.اما دوستان تصمیم گرفتند که برخی مطالب از جمله همین PCB و برخی sample های برد،فقط برای اعضای گروه باشد.
تا به امروز پرسشی بغیر از "من برد می خوام" را داشته دوستان پاسخ داده اند.
یک PCB چینی در گروه (http://www.eca.ir/forum2/index.php?topic=22853.315)گذاشته شده است که آقای امید حبیبی،آنرا پیاده سازی کرده است.خوب دیگه اون PCB رو پیاده سازی کنید،اگر مشکلی بود،کمکتون میکنه.(برای پیوستن به گروه کاری را که فکر می کنید به گروه کمک کند را بهمدیر گروه (http://www.eca.ir/forum2/index.php?action=profile;u=6258) بگویید و پس از انجام آن کار به گروه (http://www.eca.ir/forum2/index.php?topic=22853.315) ملحق می شوید،به همین راحتی)
آقا فرزاد،شما انتظار داری زود نتیجه بگیری و همه با یک سرعت پیش برن،در عالم واقعیت اینگونه نیست.
در این فارم افرادی مانند kernel (http://barnamenevis.org/forum/member.php?u=63671) (که شخصا خیلی ارادت پیششون دارم)و asp.net.csharp.ir (http://barnamenevis.org/forum/member.php?u=69493)(که در شرکتی کار میکنند که مربوط به همین مقوله هست) که می تونن در این راه خیلی کمک کنند.
شما هنگامی که پستی در برنامه نویس یا eca می زنی،مطمئا باش همه استفاده میکنند،گرچه نظر ندهند. ولی اگر مشکلی پیش بیاید و یا کمکی از دستشان بر بیاد،هیچ وقت دریغ نمیکنند.

آقا فرزاد شما پست هات رو ادامه بده،همه استفاده میکنند:تشویق:.(من هم کلی پست توی eca زدم و یک نفر هم جواب نداد،دلیل نمیشه که دلسرد بشم،چون می دونم به هر حال یکی دربارش نظر میده[البته هنوز هیچ کس نظر مرتبط نداده (http://www.eca.ir/forum2/index.php?topic=23410.0)!]

kernel
چهارشنبه 21 مرداد 1388, 12:10 عصر
با تشکر ویژه از جناب aminsharifi و farzadsw بابت زحمات با ارزشتون تا به حال

به خاطر تحقیقاتم روی FPGA و Image proccesing بر روی اون خیلی وقت نمی کنم چیزی این جا بنویسم ولی هر روز چند بار به اینجا میام تا ببینم چقدر پیشرفت صورت گرفته .

اطمینان داشته باشین وقتی اعضا به سطح مطلوبی رسیدن در زمینه کار با ARM ، در مورد Port کردن OS بویژه لینوکس بر روی ARM به مقدار کافی مطلب و پست قرار میدم تا اعضا بتونن به طور حرفه ای با ARM کار کنن !

شما به کار با ارزشت ادامه بده نوبت ما که رسید دریغ نمیکنیم .

یا حق

farzadsw
پنج شنبه 22 مرداد 1388, 15:27 عصر
فعلا که تا اینجا تنها مشکلی که بقیه داشتن ، نبود بورد بوده . من یه بورد جدید تو وبلاگ گذاشتم :
http://farzadsw.persianblog.ir/post/11
بنابراین دیگه نباید مشکلی از نظر بورد باشه ، چون بالاخره یکی از اون 3تا رو میتونید تهیه کنید !
الان من در مرحله سرگردانی برای انتخاب کامپایلر هستم! :
winARM - Eclipse : محیط ویرایش کد Eclipse که واقعا حرف نداره ( یه جورایی جادوییه !) و مثال هم براش زیاده ولی برای کانفیگ کردنش یه سری دنگ و فنگ اضافی داره که زیاد خوشایند نیست(مثلا makefile)
Keil : برنامه نویسی توش یکم راحت تره ولی بیشتر کسایی که با lpc کار میکنن ازش استفاده میکنن و آموزش درست حسابی(خود آموز) نداره.
IAR : برنامه نویسی توش یکم سختره ولی در عوض راهنما و خودآموز داره(هنوز نخوندمش) .
حالا من موندم باکدوم کار کنم!؟ شما نظری ندارید ؟

محمدامین شریفی
پنج شنبه 22 مرداد 1388, 17:38 عصر
توی سایت ماکروسافت اسم realview رو زیاد شنیدم و گرانترین کامپایلر هم محسوب میشه.
خرید (http://eshop.eca.ir/product_info.php?products_id=197) RealView / دانلود (http://vast.mihanblog.com/post/299) Realview
البته من هیچ تجربه ای ندارم و حتی این کامپایلر را تهیه نکردم،ولی انگار اسم بزرگی داره.
این کامپایلر برای خود شرکت ARM هست و plug-in های زیادی برای کار با سیستم عامل ها و نرم افزار های گوناگون داره.

farzadsw
پنج شنبه 22 مرداد 1388, 18:41 عصر
RealView دیگه خیلی حرفه ایه ، دراصل برای هسته های آرم استفاده میشه و چون خیلی گرونه استفاده کننده هاش کمترن و منابع آموزشی (مثال و مطلب) کمتر از بقیه (در مورد میکرو های آرم) باید داشته باشه .
از اونجایی که keil زیر مجموعه شرکت arm هست (از کامپایلر real view استفاده میکنه!)، و کار باهاش ساده تره و احتمالا در آینده ورژن های جدیدتری ازش میاد ، تقریبا تصمیم گرفتم با اون کار کنم . اینم یه مقایسه از یه کتابی:
http://img34.picoodle.com/img/img34/2/7/16/farzadsw/f_compilerm_05c9506.jpg

اون فایل آموزشی برای IAR رو هم دیدم ، همچینم خود آموز نبود! بیشتر درمورد موارد تقریبا پیشرفته بود .

محمدامین شریفی
جمعه 23 مرداد 1388, 14:48 عصر
در Computex 2009 (http://chinese.engadget.com/2009/06/01/computex-2009-a-taste-of-snapdragon-netbooks-to-come)نسل بعدی لپ تاپ ها با نام Netbook توسط 2 شرکت Qualcomm و اینتل رونمایی شد،نسلی که آینده آن برایشرکت های سازنده (http://www.intel.com/consumer/learn/netbook.htm)اش هم ،مبهم است!
رایانه هایی که بر پایه محاسبات ابر الکترونیکی (http://blogs.zdnet.com/BTL/?p=13702)ساخته شده اند.

اما داستان اصلی......

شرکت Qualcomm رایانه قابل حمل و کم مصرفی را بر پایه معماری ARM عرضه کرده (http://en.wikipedia.org/wiki/Snapdragon_(processor))است.
http://www.slashgear.com/wp-content/uploads/2008/12/snapdragonlaptop4r.jpg

و شرکت اینتل رایانه قابل حمل و پرقدرتی را بر پایه معماری X-86 و با نسل جدید پردازنده ها-atom- به نام Menlowروانهبازار کرده (http://www.intel.com/consumer/learn/netbook.htm)است.
http://www.desinformado.com/wp-content/uploads/2008/04/intel-netbook.jpg

جدال تازه ای که بین تولید کننده های پردازنده ها رخ داده است،جدال بر سر توان بالا و مصرف پایین.
شرکت بزرگ اینتل با دوستان بزرگی مانند ماکروسافت (http://www.tgdaily.com/content/view/41561/113/)و ارگان های دولتی ایالات متحده و با داشتن تجربه بالایی در ضمینه تولید پردازنده های رایانه و لپ تاپ اکنون در مقابل ARM که دارای 100 تا 200 شریک و 10 سال تجربه در ضمینه گوشی های هوشمند می باشد،صف آرایی کرده است.
در این جنگ (http://news.cnet.com/8301-13579_3-9781663-37.html)،اینتل سعی در بهینه کردن مصرف پردازنده خود می کند و ARM هم سعی در قوی کردن قدرت پردازنده های خود می کند.
اما برنده این میدان کیست؟ (http://www.eetimes.com/news/semi/showArticle.jhtml;jsessionid=AETHFSD5D4EHZQE1GHPSK H4ATMY32JVN?articleID=205208036&pgno=1)اینتل تازه کار یا 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/media/1033/windowsembedded/images/products/ce.png http://www.microsoft.com/library/media/1033/windowsembedded/images/products/standard.png http://www.microsoft.com/library/media/1033/windowsembedded/images/products/posready.png http://www.microsoft.com/library/media/1033/windowsembedded/images/products/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/media/1033/windowsembedded/images/products/ce.png http://www.microsoft.com/library/media/1033/windowsembedded/images/products/navready.png http://www.bluedev.eu/t2c/Portals/0/Content/nmf/nmf.%20snowflake.%20small.gif (http://bansky.net/blog/2008/06/teched-2008-net-micro-framework-faq) http://tbn0.google.com/images?q=tbn:RYpclL6puakfHM:http://atlanta.postech.ac.kr/emLinux/peng1wb.gif
Processor :ARM

one ARM executive, who shall remain nameless: "Intel's a big company. I would never bet against them."

farzadsw
شنبه 24 مرداد 1388, 17:47 عصر
دفعه قبلی فقط خروجی میکرو رو امتحان کردیم ، اما ایندفعه هم حروجی و هم ورودی و البته با یه میکروی دیگه یعنی 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

farzadsw
چهارشنبه 04 شهریور 1388, 02:48 صبح
خب ،اگه نوبتی هم باشه نوبت lcd کاراکتریه !
تو این برنامه که تلفیقی از پروژه های قبلیه ، ابتدا یه متن روی lcd نشون داده میشه و بعد از حرکت اون و توقف ، سه تا led به ترتیب روشن خاموش میشن. سرعت روشن خاموش شدن این led ها توسط 2 تا کلید ، کم یا زیاد میشه .

این برنامه با برنامه های قبلی که گذاشتم یه فرقی داره ، اونم اینه که توش از کتابخونه کامپایلر keil استفاده کردم (کاری که قبلا باید میکردم ! ) . البته اون کتابخونه فقط یه سری تابع داره که کار کردن با امکانات جانبی میکرو رو ساده تر میکنه و توش خبری از تابعی برای کار کردن با lcd کاراکتری و غیره نیست. به همین دلیل یه فایل هدر برای این کار درست کردم(فعلا در مرحله بتا هست). اگه خواستید فایل هدر رو بررسی کنید توصیه میکنم یه دیتاشیت lcd هم کنار دستون باشه تا کامل متوجه کد ها بشید.
http://www.4shared.com/file/127709987/7d...C_LCD.html

xxxxx_xxxxx
جمعه 29 آبان 1388, 00:18 صبح
سلام،

* کامپایلری که من استفاده میکنم keil uvision هست.
جسارتاً چرا از کامپایلر WinARM استفاده نمی کنید؟

یه سؤال دیگه: تا حالا چه OS هایی روی ARM پورت شدند؟

متشکرم/

محمدامین شریفی
جمعه 29 آبان 1388, 09:27 صبح
سلام،
یه سؤال دیگه: تا حالا چه 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 های شرکت ها و برداشت های شخصی،نوشته شده است و دارای هیچ استناد علمی و تجربی نمی باشد.از دوستان خواهش مندم متن خرد و بدون مدرک بالا را اصلاح کنند.]

farzadsw
جمعه 29 آبان 1388, 13:58 عصر
سلام،

جسارتاً چرا از کامپایلر WinARM استفاده نمی کنید؟

یه سؤال دیگه: تا حالا چه OS هایی روی ARM پورت شدند؟

متشکرم/

اتفاقا همین قصد رو داشتم (و دارم) ولی از یه طرف دانشگاه شروع شد و فرصت برای یاد گیری تقریبا ندارم ، و از طرف دیگه چند تا برنامه دیگه قراره برای یکی از دوستان بنویسم که باید با keil باشه . اما تا عید(نوروز!) دیگه سعی میکنم برم طرف GCC


چون آرم7 mmu نداره برای همین یکسری RTOS های خاص براش وجود داره . که بعضی هاش مثل uClinux , FreeRTOS , uCosII رایگان هستن و 10تای دیگه که غالبا رایگان نیستن مثل ThreadX و embOS و....
اما ARM9 و بالاتر ، دارای mmu هستن و سیستم عامل (واقعی !) رو میشه روشون نصب کرد. مثلا از خانواده لینوکس : debian و آنگستروم (و احتمالا) چند تا دیگه پورت شدن. آندروید هم چون اپن سورس بوده پورت شده . windows CE هم که خیلی وقته پورت شده.

farzadsw
دوشنبه 23 آذر 1388, 22:55 عصر
توجه : پست اول به روز رسانی شد (http://barnamenevis.org/forum/showthread.php?t=166184)

M_Ali_Safdari
سه شنبه 24 آذر 1388, 22:16 عصر
سلام
متآسفانه چون فرصت زیادی امشب ندارم بطور اجمالی مطالب دوستان رو خوندم.
چند نکته بود که عرض می کنم:
نسخه اول این پردازنده 1985 تولید شده پس چندان جدید هم نیست.
این خانواده هم به صورت میکرو پروسسور و هم میکرو کنترلر عرضه شده
ARM یک طرح است که به صورت licence به شرکتهای دیگر فروخته می شود پس در حقیقت تمامی محصولات این خانواده ARM Based هستند و توسط تولیدکنندگان مختلف با تکنولوژی های مختلف تولید می شود
مقایسه با AVR به هیچ عنوان صحیح نیست زیرا این خانواده 32 بیتی هستند و AVR 8 بیتی.اگر می خواهید مقایسه ای انجام دهید مثلآ با AVR32 مقایسه نمایید
در ضمن در مورد کد نویسی مشکل تر به هیچ عنوان با شما موافق نیستم.اگر فرصتی بود انشا الله چند نمونه ارائه خواهم کرد.شاید این فکر به خاطر استفاده نکردن از سیستم عامل برای شما بوجود آمده باشد . در صورت استفاده از سیستم عامل Application نویسی فرق چندانی با دیگر معماری ها ندارد.

برای پروژه ای دارم برد At91sam9260 می سازم.هزینه تمام شده به نظر می رسه زیر 100 تومان باشد ( تقریبآ تمام قطعات را 60 تومان خریده ام).اگر مایل بودید بیشتر در این مورد صحبت خواهیم کرد.

با تشکر

farzadsw
چهارشنبه 25 آذر 1388, 01:14 صبح
نسخه اول این پردازنده 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 اینجا مطلب بگذارید خوشحال میشم.

M_Ali_Safdari
چهارشنبه 25 آذر 1388, 12:03 عصر
اگه بخواید اینطوری حساب کنید ، نسخه اول پردازنده های اینتل سال 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 می توانم قرار دهم.بسیار ممنون از اینکه نتایج فعالیت خود را برای دیگران به اشتراک می گذارید.
در ضمن به مناسبت هفته پژوهش چند دانشگاه سخنرانی در مورد این معماری دارم،اگر از نظر شما مشکلی ندارد این قسمت را پیشنهاد کنم برای افرادی که می خواهند شروع به کار کنند.لطفآ نظر خود را در این مورد تا فردا صبح به من اطلاع دهید.

farzadsw
چهارشنبه 25 آذر 1388, 14:01 عصر
حدود سال 2002 (+- 1 سال) اولین سری میکرو کنترلر ها بر پایه ی arm7 (همون 7tdmi ) توسط فیلیپس یعنی سری lpc210x تولید شد . قبلش شاید از روی آرم میکرو کنترلر ساخته بودن ولی یا ورژنش قدیمی تر بوده ویا به میزان زیاد تولید و استفاده نشده بوده . این رو هم 1 سال پیش یه جایی خوندم ولی الان یادم نیست کجا بود!
به عنوان نمونه میتونید ببینید قبل از سال 2005 توی سایت embeddedrelated صحبتی از at91sam7 نبوده و قبل از 2003 صحبتی از lpc ها نبوده . این دو موردی که مثال زدم میکرو هایی هستن که الان هم موجودن و ازشون استفاده میشه (چه ایران و چه خارج)


درسته که استفاده از سیستم عامل باعث راحتی کار و اطمینان بیشتر میشه ولی از یه طرف به منابع زیاد تری (مثلا رم) نیاز داره و از طرف دیگه زمان اجرای یه عمل به خصوص بیشتر میشه. برای همین معمولا توی میکرو های 8 بیتی ازش استفاده نمیکنن. ولی توی arm9 و تا حدودی arm7 ، به طور کلی مزیتش خیلی بیشتر از ضررش هست . مهندسی بودن و علمی بودن کار رو نمیشه به طور کامل از هم جدا کرد ، بعضی از مواقع اینا overlap دارن . آشنایی با مفاهیم پورت کردن میتونه هم تو بهینه کردن سیستم عامل برای یک کار خاص و هم درمواقعی که برای یک پردازنده سیستم عاملی پورت نشده ، مفید باشه مثلا فرض کنیم free rtos برای avr پورت شده و ماهم باهاش کار کردیم و روش مسلط هستیم حالا میخوایم با dspic کار کنیم ولی این سیستم عامل رو براش پورت نکردن ،در این صورت باید شروع به یاد گیری یه سیستم عامل دیگه بکنیم . ولی خوشبختانه الان تقریبا برای هر نوع میکرو کنترلری یه سیستم عاملی رو پورت کردن( هرچند یکسان نیستن ولی یه سیستم عاملی بالاخره هست) .
اتفاقا به نظر من استفاده از سیستم عامل چیز خیلی خوبی (و حتی واجبی ) هست ، قصد دارم از بهمن ماه کار با سیستم عامل رو شروع کنم.یه تاپیک نظر سنجی هم زدم تا ببینم روی چی کار بشه بهتره . خوشحال میشم از تجربیاتتون تو اونجا استفاده کنم.


منظورتون اینه که این تاپیک رو به بقیه معرفی کنید ؟

M_Ali_Safdari
چهارشنبه 25 آذر 1388, 14:45 عصر
سلام
بله ؛ اگر از نظر شما و همچنین قوانین سایت مشکلی نداشته باشد ، این تاپیک رو برای منبع یادگیری فارسی معرفی کنم.
با تشکر

farzadsw
چهارشنبه 25 آذر 1388, 15:19 عصر
اتفاقا خوشحال میشم این کار رو بکنید .

masi.a
شنبه 28 آذر 1388, 00:03 صبح
با سلام
بنده با میکروهای فیلیپس کار می کنم (LPC2378).
با وجود سایت های تخصصی تری مثل eca یا kavirelectronic ،بحث ARM در این جا چه لزومی داره؟(از دید کاربر می پرسم نه از دید سایت)
بهتر نیست این مباحث و تشکیل گروه های این چنینی در وب سایت هایی که افراد بیشتری به این مقولات پرداختند مطرح بشود و از تقسیم توان یا احیانا دوباره کاری و ... جلوگیری بشه.
به هر حال اگرچه این نوع بحث ها و همکاری ها معمولاعالی است ولی مطرح شدن چنین ابهامی برای یک کاربر که مایل به همکاری است به نظرم عجیب نیست!

farzadsw
شنبه 28 آذر 1388, 23:33 عصر
اون نظر سنجی رو هم برای همین گذاشتم تا ببینم لزومی هست یا نه !
انگیزه من برای ایجاد این تاپیک این بود که بیشتر به مباحث برنامه نویسی مربوط به آرم ، مثل سیستم عامل ، پردازش تصویر و هوش مصنوعی پرداخته بشه نه سخت افزار.
در هر صورت تا 1 ماه دیگه مشخص میشه باید چیکار کرد.

masi.a
یک شنبه 29 آذر 1388, 01:36 صبح
- بسیار خوب، تمرکز بیشتر روی نرم افزار و در واقع تمرکز روی
software embedded development به نسبت hardware اش، به نظر بنده هم انگیزه مناسبی است.چون هم خیلی کمتر به اون پرداخته شده و هم موضوعی تخصصی و البته مهم است(همه دعاها برای آمینه!)
- هر چند که بحث نرم افزاری تا حدی مستقل از سخت افزار هست، برای همکاری گروهی اگر که روی یک پلتفرم مشترک (at یا nxp یا sumsung یا حتی جزئی تز) هم توافق بشه خیلی بهتر می شه.
- از جمله مباحثی که در این زمینه می تونه مد نظر قرار بگیره
(به ویژه مباحث و تکنیک هایی که فیت embedded software engineering هستش):



a- Survey and setting up tools and development environments for ARM platform target on Lin and win (assembler,compiler,debugger,programmer,simulator, ...)
b- Efficient and optimized (C and Assembly) Programming for speed,power,density

b- Thumb Instruction set programing for higher code density.
c- Firmware and bootloader.
d- Digital Signal Processing.
e- porting, refactoring and designing embedded OSes
f- Interfacing (bluetooth,infrared,wireless, ethernet & networking ,embedded webserver & web programing,...)
g- exception and interrupt handling
h- Image,video,codec,...
i- software and embedded software engineering methodologis
k- JAVA programing and JVM porting
,etc


- ضمن این که این مباحث با بحث embedded processor ها نیز همپوشانی داره.
- امیدوارم قسمت بشه که با یک roadmap خوب بتونیم با هم کار کنیم.
مراجع مفید پیشنهادی:

1ARM System Developer’s Guide, Morgan Kaufman 2004
2 Programming Embedded Systems, Michael Barr, Anthony Massa,O'Reilly 2006
3 ARM Assembly Language Programing, Petter Kanaggs 2004
4 High-Performance Embedded Computing, Wayne Wolf,Morgan Kaufmann 2007
,etc

farzadsw
چهارشنبه 02 دی 1388, 12:59 عصر
به نظر من بهتر با gnu arm gcc کارکنیم . پکیج yagarto میتونه گزینه مناسبی باشه
اتمل یا فیلیپس برای من زیاد فرقی نداره ، من برای این میکرو ها یه مینیمم بورد دارم:
at91sam7x256 . at91sam7s64 , lpc2148 و یه arm cortex-m3 که ساخت ST هست.
شما هم نظرتون رو در رابطه با کامپایلر و چیپ بدید . بر مبنای اون روی انتخاب rtos و مراحل بعدی میشه تصمیم گرفت.

kernel
جمعه 04 دی 1388, 22:11 عصر
خوبه
ادامه بدین . استفاده میکنیم

farzadsw
شنبه 05 دی 1388, 17:02 عصر
من حدودا 1 ماه دیگه شروع میکنم .
تا اون موقع بهتره در مورد نوع میکرو ، کامپایلر و خود RTOS صحبت بشه .
شما نظری ندارید!؟

afrooz_rahmati63@yahoo.com
شنبه 05 دی 1388, 17:18 عصر
بیشتر اعضا بدون داشتن هیچ تجربه عملی در این ضمینه میومدن و تو بحث شرکت میکردن و بحث بی نتیجه میموند.بعضی ها هم که قدم اول رو خیلی خیلی بلند انتخاب میکردن. مثلا طرف نه میدونه پردازش تصویر چیه (حتی تو متلب) و نه میدونه (و میتونه ) با arm حتی یه led رو روشن کنه ، اون وقت میاد میپرسه با arm چه جوری میشه پردازش تصویر کرد! به همین علت کل بحث تو اون تاپیک منعطف میشه به قیمت و مارک دوربین های مخصوص پردازش تصویر.

چون ما ها مبتدی هستیم فقط می تونیم بخونیم و دست بزنیم :لبخند: ...شما ادامه بده ما هم با شما پیش می ریم ،منم با عملی موافقم.

masoud_pnu
دوشنبه 14 دی 1388, 20:44 عصر
دوست عزيز در زمينه ARM لااقل در ايران اكثرا مبتدي هستند.
به نظر من چون اين پردازنده در تمام دنيا جديده جاي كار زيادي داره. چون برنامه نويسي اش هم C هست ، ميشه براش كتابخونه درست كرد كه ديگران هم بتونن توسعه اش بدن. اگه دوستان اجازه بدن من هم دوست دارم در اين زمينه همكاري كنم. بخصوص در زمينه ترجمه متون( همونطور كه ميدونيد منابع فارسي زيادي در اين زمينه نداريم).من پيشنهاد ميكنم اول يه تيم ترجمه تشكيل بديم تا بتونيم كم كم راه بيفتيم).

farzadsw
سه شنبه 15 دی 1388, 19:41 عصر
من که عرض کردم ، تا اوایل بهمن ماه نمیتونم کار خاصی انجام بدم، برای همین فعلا منتظر نظر بقیه میمونم تا بعدش بر اساس اون تصمیم گرفته بشه.
برای استفاده از میکروی آرم ، حتما باید خود میکرو رو داشته باشید و به صورت عملی کار کنید ، با شبیه سازی و خوندن 10 تا کتاب چیز زیادی یاد نمیگیرید.
من فعلا هدفم راه اندازی یه rtos روی یه میکرو هست. یعنی فعلا تصمیم خاصی در مورد مبکرو و os نگرفتم.
rtos هایی که سورس کدشون رو میشه پیدا کرد ، فعلا اینا هستن : Freertos,ucos II , ecos
ucos از یه لحاظ محیط گرافیکی داره (uc/gui) ولی در عوض چون تجاری هست سورس کدش به راحتی پیدا نمیشه
ecos متن باز هست و یه محیط گرافیکی خیلی قوی هم روش نصب میشه(minigui) ولی این مشکل رو داره که به رم و حافظه فلش بالایی احتیاج داره .(باید دید نسخه سبکترش هم پیدا میشه یا نه)
freertos هم اپن سورس هست ولی من که gui قابل نصب روش ندیدم(شاید داشته باشه)
در مورد ترجمه :
1)من قبلا تو این فروم و چندتای دیگه (eca , kavir , iranled ) به طور پراکنده کار با آرم7 رو آموزش دادم ، فقط باید وقت بگذارم (بعد بهمن) اینا رو جمع و جور کنم و یه آموزش برای شروع کار به صورت pdf درست کنم .
2) ازطرف دیگه کتاب انگلیسی که برنامه نویسی ویا کار با میکروی ارم7 رو درست حسابی توضیح داده باشه وجود نداره (البته فقط 1 کتاب نسبتا خوب دیدم ولی بورد ، میکرو و کامپایلری که تو اون استفاده شده برای همه مناسب نیست)
3) اغلب افرادی(اگه نگیم همه) که دنبال embedded هستن زبانشون درحدی هست که بتونن متون انگلیسی رو بخونن
در نتیجه برای آموزش arm تالیف خیلی بهتر ترجمه میتونه نتیجه بده و وقت کمتری هدر میره.
اما اگه تمایل به همکاری دارید من پیشنهاد میکنم توی جمع آوری مطالب (نه لزوما ترجمه) در مورد rtos ها ،یعنی امکانات - footprint (همون مینیمم ملزومات) - فایل های آموزشی - پردازشگری که پشتیبانی مکنن - و سورس کد اونا ، فعالیت داشته باشید خیلی میتونه کمک کنه .
البته قبل از اون باید میکرو و بوردی که در حال حاظر دارید و یا میتونید تهیه کنید رو مشخص کنید تا یه مبنای مشترک وجود داشته باشه و بشه بر اساس اون برای انتخاب rtos اقدام کرد.(همونطور که میدونید rtos پورت شده برای یه میکرو ، روی میکروی دیگه و یا حتی بورد دیگه از همون میکرو ، درست عمل نمیکنه) من اینو چند بار مطرح کردم جوابی نشنیدم ، فقط گفته شد شما ادامه بده !!!
اینا رو دارم برای این میگم که اولا لازمه کار گروهی هماهنگی هست ، ثانیا اگرم کسی نمی خواد همکاری کنه ، اون کاری که انجام میشه به درد 4 نفر دیگه هم بخوره

masoud_pnu
یک شنبه 20 دی 1388, 13:57 عصر
آقا فرزاد ، من خودم زياد با ARM كار نكردم. اين كه ميگم كم كار كردم از اين جهت كه قبلا AVR كار ميكردم و اتفاقي از طريق يكي از دوستان كه دانشجوي الكترونيك بود با ARM آشنا شدم.(رشته من نرم افزاره) من به شخصه خيلي دوست دارم در اين زمينه چيزي ياد بگيرم كه اگه شما و دوستان لطف كنيد و چيزي به من هم ياد بديد من تا آخر عمر مخلصتونم:لبخندساده:.(هر كس به من حرفي آموخت ، به تحقيق مرا بنده خود كرده امير مومنان علي (ع) ).

در مورد ترجمه هم خداي من شاهده كه من فقط قصد كمك و همكاري دارم ( بيسواديه ديگه كار ديگه اي از دستم بر نمياد):خجالت: ولي آقا فرزاد آيا همين افرادي كه ميتونن متون انگليسي رو بخونن، همشون قادر هستن لپ مطلب رو بگيرن؟ شما بعنوان مثال كتاب مهندسي نرم افزار(1) پرسمن رو در نظر بگير. يه استاد به من معرفي كن كه ترجمه اين كتاب رو معرفي كنه! تازه اين كتاب ، كتاب درسي اكثر دانشگاههاست. يه بار متن انگليسيشو بخون بعد با ترجمه اش مقايسه كن! بعضي جاهاش تفاوتش زمين تا آسمونه.
در مورد تشكيل تيم هم منظور من اين بود كه نه تنها در ترجمه، بلكه در ساير زمينه ها هم بصورت تيم كار كنيم. يعني يه عده در بخش سخت افزاري، يه عده بخش نرم افزار و برنامه نويسي ،چند نفر تو جمع آوري مطالب و... (يه چيزي تو مايه هاي كار كردن ماجولار). اينجوري به كسي فشارم نمياد ( مخصوصا دانشجو ها).

به هر جهت فكر كنم تمام برنامه ها تا اوايل بهمن بايد به حالت تعليق در بياد.( بخاطر امتحانات). ولي بعد از اون اميدوارم اين پروژه راه بيفته.

delphidark
دوشنبه 26 بهمن 1388, 00:52 صبح
سلام
اولش که این پست رو دیدم (با توجه به آشنایی کمی که قبلا با arm داشتم) با خودم گفتم کی حاضر میشه avr به اون زیبایی ! رو ول کنه بیاد با arm کار کنه !!!
اما کنجکاوی باعث شد که این 7 صفحه رو بخونم

حالا چندتا سوال دارم
اگه من بتونم یه نسخه از ویندوز موبایل رو روی arm پورت کنم
اونوقت هر فایل اجرایی رو اجرا میکنه arm ؟

اگر که نمیتونه ، پس اینهمه زحمت بوت سیستم عامل چه فایده ای داره ؟
با فایل hex پروگرم نمیشه ؟

farzadsw
دوشنبه 26 بهمن 1388, 02:40 صبح
سیستم عامل هایی مثل ویندوز موبایل روی arm9 و بالاتر اجرا میشه . اگه شما بتونید پورت کنید ، برنامه ها ی اون رو اجرا میکنه . پاکت پیسی ها هم معمولا cpu های arm11 (و قدیمیاشون arm9) دارن.
میکروکنترلر های arm7 واحد mmu ندارن بنابر این سیستم عاملهایی مثل ویندوز موبایل، روشون نصب نمیشه ، و اکثر برنامه هاشون رو به صورت فایل bin روشون پروگرم میکنن (شبیه avr) .

dieloop
چهارشنبه 12 اسفند 1388, 13:17 عصر
سلام اساتید

من می خوام web server apache 2 رو با arm linux gcc کامپایل کنم و تو deviceی که دارم ازش استفاده کنم
ممکنه منو کمک کنین تا این کارو انجام بدم؟

kernel
پنج شنبه 13 اسفند 1388, 19:04 عصر
سلام به همه برنامه نویس های گل

ببخشید از اینکه اینقدر فعالیتم کمه ، بعد مسابقات iranopen حتما جبران می کنم (;

فقط یه نکته اینکه بین نسخه های مختلف لینوکس UC برای اجرا احتیاج به MMU نداره و میشه اونو رو ARM7 هم پورت کرد.

http://opensrc.sec.samsung.com

mrobatek
پنج شنبه 20 اسفند 1388, 21:36 عصر
اگه برد میخواید تو وبلاگم یه آدرس برای pcb برد آموزشی lpc23xx گذاشتم :
http://farzadsw.persianblog.ir/post/9
سلام فرزاد جان از مطالب مفیدی که می نویسی خیلی خیلی ممنونم اجرت با خدا
ولی هر کاری میکنم نمیتونم اینو دانلود کنم:ناراحت:

mrobatek
پنج شنبه 20 اسفند 1388, 21:41 عصر
سلام من یه تازه واردم صفحه های قبلم خوندم ولی pcb ها دانلود نمیشن !!!

farzadsw
جمعه 21 اسفند 1388, 00:32 صبح
اون pcb مربوط به lpc رو من آپلود نکرده بودم ، فقط لینکش رو دادم . چون تو پارسا اسپیس بوده الان از بین رفته .
ولی pcb مربوط به at91sam7s رو چک کردم سالمه.

omid_safari
پنج شنبه 27 اسفند 1388, 09:42 صبح
سلام
کتابخانه at91sam7 برای پروتیوس رو کسی داره لینکش رو بذاره؟
پروتیوس من فقط LPC رو داره
ممنون

vahid2534
چهارشنبه 25 فروردین 1389, 15:27 عصر
کسی با سیستم های Embedded کار کرده است
سری ARM

farzadsw
چهارشنبه 25 فروردین 1389, 21:19 عصر
اگه منظورتون میکروکنترلرهای آرم هست ، من و چندتا از اعضای دیگه کار کرده ایم

saed2006
شنبه 25 اردیبهشت 1389, 20:25 عصر
میشه با سی شارپ برنامه برای ARM نوشت؟

farzadsw
شنبه 25 اردیبهشت 1389, 22:37 عصر
اگه سیستم عامل windows ce رو نصب کنید ؛ میشه . ویندوز ce روی آرم۹ به بعد نصب میشه.

محمدامین شریفی
یک شنبه 26 اردیبهشت 1389, 00:23 صبح
میشه با سی شارپ برنامه برای ARM نوشت؟

با netmf میشه، ولی قبلش باید hal رو برای سخت افزارت، کانفیگ کنی.
اصولا برنامه نویسی manage بدرد ِ میکرو [ با محدودیت حافظه، فرکانس کاری پایین و ذخیره انرژی مهم] نمیخوره.

در کارهایی که realtime بودن مطرح است، netmf بدرد نمی خوره.

ویندوز سی هم سخت افزار خیلی قوی ای می خواد.

cvseth
سه شنبه 15 تیر 1389, 21:28 عصر
سلام به همه دوستان
فراز جان ممنون از اطلاعات مفیدت
من اخیرا با این هسته آشنا شدم و خیلی راغبم برای شروع
فقط نمیدونم از کجا شروع کنم.
ترجیح میدم با اتمل کار کنم اما خیلی فرق نمیکنه.
امکان استفاده از usb هست که بشه با بردهای نمونه که گفتی کار کنه؟ آخه شما از پورت سریال استفاده کردی که لپ تاپ من این پورت رو نداره. مبدلی براش هست؟
ضمنا من تو مساله pcb میتونم کمک کنم آخه من کارم pcb مخصوصا چند لایه های با ملاحظات خاص.اما براحتی میشه یه بورد 2 رو متالایز رو برای این کارا آماده کرد که نسبتا قیمتی نداره د سازنده های خوبی هم مثل ایران مدار تو تهران هستن که با پست راحت کار رو ارسال هم میکنن.
خوشحال میشم اگه بتونم کمکی بکنم.

farzadsw
چهارشنبه 16 تیر 1389, 00:00 صبح
سلام

به سایت برنامه نویس خوش اومدید .

اگه منظورتون بردهایی هست که من تو پست اول گذاشتم ، بله همه اینا پورت usb دارن و قابل استفاده هم هست .
اون بردی که برای میکروکنترلر های اتمل هست ، علاوه بر پورت usb ، دوتا پورت سریال هم داره . درصورتی که بخواید از پورت سریال استفاده کنید ولی کامپیوترتون این پورت رو نداره ، کابلهای تبدیل usb-serial تو بازار هستن (حدود 10 تومن) .

*میکرو کنترلر های اتمل دارای SAM-BA هستن ، این یه بوتلدره که به شما این اجازه رو میده تا درصورت نداشتن پروگرمر ، بتونید میکرو رو از طریق پورت usb یا serial پروگرم کنید . البته میکروکنترلر های nxp (فیلیپس) هم بوت لودر ، برای پروگرم بدون داشتن پروگرمر ، دارن ولی فقط از طریق پورت سریال کار میکنه. البته در صورتی که میتونید پروگرمر بخرید ، توصیه میکنم حتما این کار رو بکنید چون پروگرم کردن از طریق بوت لودر کار نسبتا وقت گیری هست .

برای شروع ، یه بورد تهیه کنید . فرقی نداره چی باشه ، خودتون بسازید یا بخرید ، فقط مهم اینه که بورد سالم داشته باشید .
هر وقت بورد رو تهیه کردید ، بحث برنامه نویسی شروع میشه . سوالاتون رو همینجا مطرح کنید . شاید یه آموزش مقدماتی برنامه نویسی arm تا اون موقع آماده کنم.

mohezt
پنج شنبه 18 شهریور 1389, 14:43 عصر
با سلام من تازه عضو این فروم شدم با وجودی که رشته تحصیلی من برق نیست ولی با میکرو های AVR کارکردم و در خصوص میکرو کنترلر های ARM هم کمی مطالعه داشتم. ولی از کجا باید کار عملی را شروع کرد خیلی مهمه

khafan_bat
پنج شنبه 06 آبان 1389, 00:02 صبح
سلام ، مطالب پست شده تا صفحات 3 و 4 توسط دوستان عزیز برای افراد مبتدی برای این تیپ از میکروکنتلر ها خیلی خوب بودند اما از اون صفحات به بعد نمی دونم که یه دفعه چی شد و کلمات قلمبه سلمبه یه دفعه اومد وسط !!

اگه امکانش هست مثل تاپیک ها و ایبوک هایی که به آموزش میکروکنتلر های avr مبنی بر ساخت پروژ ( یا شبیه سازی ) و به صورت گام به گام می پردازند پیش بریم . هم در بخش برنامه نویسی هم در بخش خود معماری ARM ها

خواهشمندیم استاندارد سازی هم از همین الان صورت بگیره . مثلا بهترین کامپایلر بیسیک برای AVR بسکام ، اسمبلی AVR Studio و زبان C مثلا کد ویژن هست . یه طوری نشه هر یک نفر روی با یک کامپایلر کار کنه. . اینطوری وقت و انرژی هدر میره

و اینکه چرا یه دفعه ای از روی ال ای دی رفتین روی نصب سیستم عامل ؟ حالا چرا همه میخوان سیتم عامل نصب کنن روش ؟ مگه ته قضیه اون نیست .؟ من یه دیتاشیت رو خوندم کفم برید . این میکرو ها آخر اینترفیس هستند !!

azime1367
شنبه 08 آبان 1389, 20:13 عصر
سلام .
من قبلا ربات فوتبالیست رو به عنوان پروژه معماری به صورتی که پردازش تصویرش با کامپیوتر باشه( با متلب ) انجام دادم . الان می خوام یه روش واسه استقلال پردازش تصویر از کامپیوتر پیدا کنم یکی از روش هایی که دوست دارم در موردش بدونم اینه که کار با armها چطوره ... ممنون میشم راهنمایم کنین

betisa
سه شنبه 11 آبان 1389, 09:37 صبح
سلام .
من قبلا ربات فوتبالیست رو به عنوان پروژه معماری به صورتی که پردازش تصویرش با کامپیوتر باشه( با متلب ) انجام دادم . الان می خوام یه روش واسه استقلال پردازش تصویر از کامپیوتر پیدا کنم یکی از روش هایی که دوست دارم در موردش بدونم اینه که کار با armها چطوره ... ممنون میشم راهنمایم کنین

من تخصص کاریم در این زمینه نیست اما مطالعاتی داشتم.
فکر می کنم با ARM SnapDragon شرکت Qualcomm که قدرت پردازش اون 1.5GHz و دو هسته ای هست بشه این کار رو انجام داد.

kernel
چهارشنبه 12 آبان 1389, 19:08 عصر
با سلام من تازه عضو این فروم شدم با وجودی که رشته تحصیلی من برق نیست ولی با میکرو های AVR کارکردم و در خصوص میکرو کنترلر های ARM هم کمی مطالعه داشتم. ولی از کجا باید کار عملی را شروع کرد خیلی مهمه

اولا دوستان ببخشید که مطلب غیر مرتبط با ARM میزارم

درسته که ARM پردازنده فوقالعاده ای برای کارهای Embedded محسوب میشه ( و خود من هم یکی از طرفداران جدی این پردازنده ام ) اما تنها گزینه برای کار نیست

تو زمینه کار های روبوتیک یکی از مسائل طراحی برد کنترل برای روبات هست که وقتی نیاز به قدرت و سرعت پردازش بالا هست بهتره این فاز از کار حذف و از محصولات آماده استفاده بشه.
چون در صورتی که مشکلی بوجود بیاد خیالمون از صحت عملکرد مدار الکترونیکی راحته و زمان Debuging به شدت افزایش پیدا میکنه.

من تو دوتا پروژه رباتیک از دوتا محصول استفاده کردم که اساسا برای این کار ساخته نشده بودند اما واقعا بدردم خورد.
شاید اسم روتر های میکروتیک Mikrotik رو شنیده باشین . مدل های خاصی از این روترها به خاطر سایز کوچک برای کارهای روباتیک مناسب هستند . در ضمن قیمت بسیار پایین و به همراه داشتن سیستم عامل لینوکس رو هم بهشون اظافه کنین :چشمک:

Felony
یک شنبه 16 آبان 1389, 18:08 عصر
شاید اسم روتر های میکروتیک Mikrotik رو شنیده باشین . مدل های خاصی از این روترها به خاطر سایز کوچک برای کارهای روباتیک مناسب هستند . در ضمن قیمت بسیار پایین و به همراه داشتن سیستم عامل لینوکس رو هم بهشون اظافه کنین
کدوم مدل ؟
از کجا تهیه کردید ؟
لینکی ازش دارید که مشحصات فنی رو شرح داده باشه ؟

kernel
یک شنبه 16 آبان 1389, 23:19 عصر
این مشخصات فنی که خود شرکت ارئه کرده : http://routerboard.com/

فروشگاههای زیادی تو ایران محصولات این شرکت رو ارائه می کنن ، حتی فروش اینترنتی هم داره .

یه جورایی بین اونایی که تو کار شبکه هستن الان مد شده ! من از یکی از دوستام که تو کار شبکه هست تهیه کردم . یکی از مدل هاشو برای تعمیر پیشم آورده بود . منم بعد از بررسی دیدم واقعا چیز بدرد بخوریه.

البته کار کردن با این بردها نیاز به اطلاعات تخصصی در زمینه سخت افزار داره و تو بعضی از مدلهاش حتی Jtag رو در دسترس قرار نداده و باید خودتون از روش در بیارین !

Bhrhoutan
سه شنبه 19 بهمن 1389, 17:34 عصر
سلام من پيگير مطالب هستم.يك سوال دارم .اگر پردازش سه بعدي بخواهيم امكان استفاده از openGL هست.

farzadsw
چهارشنبه 20 بهمن 1389, 16:46 عصر
با بردهایی که ti omap3 دارند میتونید از opengl استفاده کنید ، نمونش beagleboard هست . تو سایت رسمیش یه بخش در مورد پروژه هاش هست ، چیز های جالبی رو میتونید اونجا پیدا کنید.

nasser_gh_65
شنبه 31 اردیبهشت 1390, 12:40 عصر
با سلام
تو این تاپیک قراره در مورد میکرو کنترلر های 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




salam
khaste nabashid
kasi mitoone be man komak kone
mikham barnameii benevisam ke ba arm betoonam ba keypad roye lcd kar konam
masalan 2+2 roye lcd neshoon bedam

farzadsw
شنبه 31 اردیبهشت 1390, 13:59 عصر
salam
khaste nabashid
kasi mitoone be man komak kone
mikham barnameii benevisam ke ba arm betoonam ba keypad roye lcd kar konam
masalan 2+2 roye lcd neshoon bedam

دوست عزیز ، سوالاتتون رو به فارسی تایپ کنید .
من پیشنهاد میکنم 5 شماره اول مجله ی PMM رو دانلود و مطالعه کنید ، داخل اونها نحوه اتصال کیپد و lcd به میکروکنترلر آرم اتمل توضیح داده شده. بعد از مطالعه اونها اگر مشکلی داشتید ، به شکل واضح و جزئی بیان کنید تا جواب سوالتون رو بگیرید (سوالات کلی معمولا جواب داده نمیشه)
مجله ها رو از سایت iranmicro میتونید بگیرید.

kambizbaghi
یک شنبه 16 مرداد 1390, 17:34 عصر
سلام من کامبیز هستم . خوشحالم که شما روی این مباحثکارمیکنین و بسیار جدی هستین .
یه سوال داشتم . میخواستم بدونم بردی هستش که بتونه مانند gps عمل کنه . اخه به من یک پروژه پیشنهاد شده در زمینه موقعیت یابی اما یک کیت کنترلی جدید باید طراحی بکنیم . روی نرم افزارش مشکل نداریم فقط سخت افزارش رو مشکل داریم دلیلش هم اینه که می خوایم ببینیم میشه این کیت رو در داخل تولید کرد .
ممنون

ژوپیتر
دوشنبه 17 مرداد 1390, 23:16 عصر
سلام من کامبیز هستم . خوشحالم که شما روی این مباحثکارمیکنین و بسیار جدی هستین .
یه سوال داشتم . میخواستم بدونم بردی هستش که بتونه مانند gps عمل کنه . اخه به من یک پروژه پیشنهاد شده در زمینه موقعیت یابی اما یک کیت کنترلی جدید باید طراحی بکنیم . روی نرم افزارش مشکل نداریم فقط سخت افزارش رو مشکل داریم دلیلش هم اینه که می خوایم ببینیم میشه این کیت رو در داخل تولید کرد .
ممنون
سلام، در مورد GPS فقط Receiver گیرتون میاد که اونهم به صورت میکروکنترلری میتونه باشه و هم به صورت چیپ که هر دو مشخصات مکانی رو محاسبه میکنن و اگه از دومی استفاده کنید مجبورید برای ارتباطش یک میکروی اضافه بذارید، برای اینکه از راه دورهم بشه ترکش کرد یا باید RF کار کنید و یا Wireless Network ، البته کارهای دیگه هم میشه کرد ولی بهترینشون همون RF هست که مشخصات محل رو براتون ارسال میکنه و میتونید در نقشه محل دقیقش رو نمایش بدید. سخت افزارش رو اگه بخواید از پایه طراحی کنید و بسازید اصلا به صرفه نیست، مخصوصا چیپها که با اوضاع تحریمها اصلا گیرنمیاد یا خیلی گرون گیرمیاد. بهتره اول یک پروتوتایپ با استفاده از سیستم های موجود بسازید و بعد دنبال طراحی برید، یک رسیور GPS که پورت PS/2 داره بگیرید و با میکرو درایوش کنید، بعد فرستنده گیرنده RF رو هم بخرید و تست کامل رو ازشون بگیرید، بعد که کامل جواب گرفتید از همون چیپ ها استفاده کنید.

jblaox
شنبه 19 شهریور 1390, 09:39 صبح
میشه با سی شارپ برنامه برای ARM نوشت؟


اگه سیستم عامل windows ce رو نصب کنید ؛ میشه . ویندوز ce روی آرم۹ به بعد نصب میشه.


با netmf میشه، ولی قبلش باید hal رو برای سخت افزارت، کانفیگ کنی.
اصولا برنامه نویسی manage بدرد ِ میکرو [ با محدودیت حافظه، فرکانس کاری پایین و ذخیره انرژی مهم] نمیخوره.

در کارهایی که realtime بودن مطرح است، netmf بدرد نمی خوره.

ویندوز سی هم سخت افزار خیلی قوی ای می خواد.

سلام

فکر نمی کنم بشود با Microsoft Visual Studio برای خود میکرو (ARM یا هر چیز دیگری) برنامه نوشت ، هرچند میشود با یک ویرایشگر متنی به زبان C یا C++ کد نوشت و ... که درون حافظه آن قرار بگیرد و کار بکند ، (منظورم این که فکر نمیکنم / یا من بلد نیستم که Visual Studio امکان خاصی و مخصوصی در این زیمنه داشته باشد)، اما اگرمیخواهید با خروجی آن میکرو (ARM یا هر چیز دیگری) کار بکنید میتواند با هر زبانی این کار انجام بدهید .

اما در مورد C# همانگونه که دوستان گفتن نیاز به یک پلت فروم مشخص داره ، چون C# و خاندان .NET کلا خروجی آنها کد به زبان ماشین (اسمبلی) نیست و خروجی آنها یک مدل خاص که باید توسط یکCLI (اگر اسم ان اشتباه نکرده باشم) پردازش میشود و بعد به زبون ماشین تبدیل میشود ، این کار کردن که برنامه شما روی هر سیستم عاملی اجرا بشود چه لینوکس باشد ، چه ویندوز و همچنین مدیر حافظه بشود و اگر هر مشکلی پیش آمد باعث ناپیداری و هنگ سیستم عامل نشود و ...

در حال حاضر .NET و علی الخصوص C# روی لینوکس (به واسطه پروژه مونو ) و ویندوز (به واسطه پروژه دات نت فریم ورک) بدون مشکل کار میکند .

موفق باشید

torabi.ieee
دوشنبه 25 مهر 1390, 18:43 عصر
سلام من یک برد آموزشی LPC1768 گرفتم
اما تو برنامه نویسی مشکل دارم چیکار کنم

farzadsw
دوشنبه 25 مهر 1390, 20:20 عصر
بهترین کار اینه که مثالهای همراه بورد رو یکی یکی اجرا و بررسی کنید (از ساده ترین به سخت ترین).

sharin
شنبه 08 بهمن 1390, 15:19 عصر
سلام به همگي ...

من كل صفحات تاپيك رو خوندم . چيزايي زيادي دستم اومد ،‌ تشكر ...
ديگه ادامه نمي دين ؟

منم قصد دارم شروع كنم ، مي خواستم بدونم AT91SAM7s256 , AT91SAM7x256 آيا كد نويسي و وضعيت ريجستر هاشون يه جور هست . نگاهي به feature هاشون كردم ، اون سريه X كمي مجهز تر هست و ethernet و can و ... رو ساپورت مي كنه ... ، و ظاهرا I/O ي بيشتري دارهه ... ( درسته؟ )
من يه كتاب براي AT91SAM7s دارم و مي خواستم از روي اين جلو برم ، اما دوست دارم با AT91SAM7x كار كنم ...( چون نسبت به اون يكي مجهز ترهه و هزينه اش تفاوت زيادي ندارهه ... )
خواستم ببينم از نظر كد نويسي و ريجسترها به مشكل نمي خورم ؟!
پردازنده ي جفتشون هم كه يكيه گويا ...

پيشاپيش ممنون از پاسختون ...

موفق باشيد.
يا علي.

farzadsw
شنبه 08 بهمن 1390, 22:01 عصر
سری 7x , 7s از نظر برنامه نویسی و رجیسترها کاملا مشابه هم هستند و تمام برنامه های 7s روی 7x اجرا میشه . البته یکسری تفاوتهای جزئی (مثل نحوه بوت SAMBA و غیره ) با هم دارند ولی در کل خیلی به هم شبیه هستند و تفاوتی توی برنامه نویسی و یادگیری ندارند.

sharin
یک شنبه 09 بهمن 1390, 12:16 عصر
ممنونم فرزاد جان ...

اين تفاوت جزئي در پروگرام كردنش به روش samba كه گفتيد ، كمي دو دلم كردهه ... !
اگر نتونم راش بندازم كه خيلي بد مي شه ... !
مي شه يجوري مطمئنم كنيد كه با خيال راحت بخرمش ... ؟
samba ش رو مي تونم راه بندازم ...?!
متاسفانه CD هم گويا همراه بورد نمي فرستن! ( ECA )
بعد ، تو نت براي wiggler سرچ زدم ...
چند نمونه ايي كه ديدم خيلي نسبت به هم تفاوت داشتن ، اگر مي شه يه نمونه ي معتبر كه كسي هست كه ازش جواب گرفته باشه بذاريد ...
مثلا يكيشون اينه ...

http://kred.wikidot.com/parallel-port-jtag-wiggler-clone

بعد يه سريشون يه نرم افزار براي پروگرام كردن جدا داشتن.
يه سري با keil جواب نمي دن و با IAR گويا جواب مي دن ...
يه سريشون با keil هم جواب مي دن ... !
كمي گيج شدم و وقتم رو الكي دارهه مي گيرهه ...
ممنون مي شم راهنمايي كنيد.
من كامپايلر IAR رو انتخاب كردم ...

موفق باشيد.
يا علي.

farzadsw
چهارشنبه 12 بهمن 1390, 19:50 عصر
فرقی که این دوتا میکروکنترلر در پروگرم شدن با SAMBA دارند ، توی الگوریتم بوت شدن SAMBA هست . بعد از اون فرقی ندارند . از این لینک (http://www.at91.com/linux4sam/pub/Linux4SAM/GettingStarted/SAM9_Boot_Strategies.ppt)فایل پاورپونت رو دانلود کنید و صفحه 33-34 رو ببینید تا تفاوتشون رو متوجه بشید .
من شخصا با پروگرمر Wiggler کار نکردم ولی تا اونجایی که اطلاع دارم برای پروگرم کردن فرقی نداره از چه کامپایلری استفاده کرده باشید (فایل هگز رو پروگرم میکنه) ولی از نظر دیباگ کردن ممکنه کامیایلر خاصی ساپورت نشه .
من قبلا بورد SAM7s رو از ECA گرفتم ، مدارات اولیه اش کامله و میتونید به راحتی از SAMBA استفاده کنید (یه کاغذ راهنمای کوچیک همراه بورد هست ) .

sharin
سه شنبه 23 اسفند 1390, 13:12 عصر
من همون SAM7X256 رو گرفتم و با IAR تا يه جاهايي پيش رفتم.
الان نياز دارم كه تو Keil كد بزنم ( بنا به دلايلي ! )
يه سري مشكلات ابتدايي تو Keil دارم !!
توي نت هم هرچي سرچ مي زنم ، براي Keil چيز درست و درموني پيدا نمي شه !!
يه لينك براي آموزش در Keil نداريد ؟ هرچند مقدماتي ...

براي مثال كد زير موقع كامپايل كردن از عبارت *AT91C_PIOA_PER = 0x00001; اررور مي گيرهه !!
راستي توي Keil نيازي نيست اول كد ، WDTC و RSTT و PLL و ... رو رديف كنيم ؟؟ ( يعني خودش مقدار پيش فرضي دارهه ؟؟‌ )
اينم كد برنامه :


#include "AT91SAM7X256.h"
void delay_s(void);
int main (void)
{
AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA);
*AT91C_PIOA_PER = 0x00001;
*AT91C_PIOA_OER = 0x00001;
while(1)
{
*AT91C_PIOA_SODR = 0x00001;
delay_s();
*AT91C_PIOA_CODR = 0x00001;
delay_s();
}
}
//--------------------
void delay_s (void)
{
unsigned int n;
for (n = 0; n < 7372800; n++);
}




مشكلش چيه ؟ كجاي كار رو اشتباه مي كنم ؟
پيشاپيش ممنون از جوابتون.

farzadsw
شنبه 27 اسفند 1390, 13:16 عصر
کد شما مشکلی نداره !
فایل پروژه ضمیمه شده رو کامپایل کنید ببینید بازم ارور میده ؟

sharin
شنبه 27 اسفند 1390, 19:38 عصر
مرسي ...

عجب ... !
كار مي كنه !
جالب اينه كه دوباره فايل خودم رو امتحان كردم نشد ، عبارات رو توش كپي ، پيست كردم و جواب داد !
هر دوتاشون يكي بودن !! ( اما يكيشون جواب نمي داد و يكيشون جواب مي داد ) ( چندين بار تست كردم !! )
فايل پيوست رو ببين ، جواب نمي ده ، اما كد ها هميناست !!
البته ديگه مهم نيست ...

اين چند وقته سركارمون گذاشته بود !!84330

farzadsw
دوشنبه 29 اسفند 1390, 11:16 صبح
تو برنامه ای ارور میده(ضمیمه کردید) نوشتید :
*AT91C_BASE_PER = 0x00001;
ولی چنین رجیستری وجودنداره !
تو کدی که قبلا گذاشتید درست نوشته بودید :
*AT91C_PIOA_PER = 0x00001;

sharin
دوشنبه 29 اسفند 1390, 12:04 عصر
بازم ممنونم ...
‌BASE براي IAR هست ! ( :اشتباه: )

راستي ...
1- در IAR براي ايجاد پروژه ي جديد يه كارايي مي كنيم ، مثلا معرفي at91SAM7X256_FLASH.icf براي sam7 و تنظيم محيط كد زني به C يا C/c++ و ...
در بخش مربوطه براي Keil همچين چيزايي نديدم ( خودش Auto رديف مي كنه ؟ )

2- براي كار با وقفه ها يه هدر جديد به نام intrinsics.h اضافه مي كنيم و در تنظيمات پروژه زبان رو به C و نه C++ تغيير مي ديم. براي قسمت مد پروسسور (Arm,Thumb) هم يه سري ملاحظات رو بايد رعايت كنيم.
حالا سوال اينه كه براي Keil هم همچين ملاحظاتي لازم هست و كلا به چه صورته ... ؟

در اين مورد هم كمك كنيد ممنون مي شم.

اگر لينك براي Keil هم موجوده ، لطفا بذاريد.

بازم ممنونم از زحماتتون.
موفق باشيد.

farzadsw
پنج شنبه 03 فروردین 1391, 11:09 صبح
از منوی project>Options for target همه این تنظیماتی که گفتید رو میشه انجام داد ولی زمان ایجاد پروژه به طور پیش فرض مقدار دهی میشه.

R_BABAZADEH
چهارشنبه 23 فروردین 1391, 18:38 عصر
دوستان کسی با net mf کار کرده؟

korosh_setayeshi66
دوشنبه 27 شهریور 1391, 14:41 عصر
سلام - می خوام کد بنویسم ولی حجم کدم از فلش تمام ای سی هایی که سراغ دارم بیشتره می دونم که میشه در mmc به نحوی کد نوشت که اجرا بشه ولی چطور و در کدوم آی سی

ARM-Design
چهارشنبه 22 بهمن 1393, 17:40 عصر
با سلام
بنده یه برنامه برای میکرو سری STM32F103C8T6 نوشتم، امیدوارم مفید واقع بشه.
کامپایلر KEIL(برنامه LED چشمک زن با تایمر کنترل شونده با کلید فشاری)

#include "stm32f10x.h"


void delay(int);


int main()
{
int Del;
RCC->APB2ENR =0x0000000C;
GPIOA->CRL =0x00000030;
GPIOB->CRL =0x00000008;
//GPIOB->ODR=0x00000001; //Is Active = GND
while(1)
{
if((GPIOB->IDR & 0x00000001)==1)
{
Del=2000000;
}
else
{
Del=750000;
}
GPIOA->ODR =0x00000002;
delay(Del);
GPIOA->ODR =0x00000000;
delay(Del);
}
}


void delay(int a)
{
int i,j;
for(i=0;i<a;i++)
{
j++;
}
}

farkhon
پنج شنبه 14 خرداد 1394, 18:43 عصر
با سلام
لطفا درارتباط باسری های AT91SAM7X,AT91SAM7L,AT91SAM7XC,AT91SAM7Aتفاوت ها وشباهت هاشون باید تحقیق ارایه بدم لطفا کمکم کنید.

moradi_am
چهارشنبه 21 مرداد 1394, 15:33 عصر
سلام
اگر به نتیجه رسیدید برای استفاده عموم در اینجا قرار دهید . با تشکر

amin_interstellar
یک شنبه 15 شهریور 1394, 04:57 صبح
سلام..میخواستم بدونم چجوری میتونم واسه pwm تاخیری در حد ثانیه بسازم؟؟ مثلا موتور به مدت 5ثانیه روشن وبمدت 5 ثانیه هم خاموش بشه..در حد میلی ثانیه رو فقط میدونم..بیشتر نه...ممنون میشم راهنماییم کنید...مرسی

typeman9
دوشنبه 14 اسفند 1396, 14:49 عصر
فعلا که تا اینجا تنها مشکلی که بقیه داشتن ، نبود بورد بوده . من یه بورد جدید تو وبلاگ گذاشتم :
http://farzadsw.persianblog.ir/post/11
بنابراین دیگه نباید مشکلی از نظر بورد باشه ، چون بالاخره یکی از اون 3تا رو میتونید تهیه کنید !
الان من در مرحله سرگردانی برای انتخاب کامپایلر هستم! :
winARM - Eclipse : محیط ویرایش کد Eclipse که واقعا حرف نداره ( یه جورایی جادوییه !) و مثال هم براش زیاده ولی برای کانفیگ کردنش یه سری دنگ و فنگ اضافی داره که زیاد خوشایند نیست(مثلا makefile)
Keil : برنامه نویسی توش یکم راحت تره ولی بیشتر کسایی که با lpc کار میکنن ازش استفاده میکنن و آموزش درست حسابی(خود آموز) نداره.
IAR : برنامه نویسی توش یکم سختره ولی در عوض راهنما و خودآموز داره(هنوز نخوندمش) .
حالا من موندم باکدوم کار کنم!؟ شما نظری ندارید ؟


سلام
به سایت اسمبلر Fasm سر بزنید . اونجا با یک نسخه ی خاص این اسمبلر که Fasmarm نام داره اشنا می شوید . مخصوص معماری ARM هست .
ادرس سایت اسمبلر Fasm

https://flatassembler.net

تو بخش Download میتونید Fasmarm رو که مخصوص ARM هست دانلود کنی .

typeman9
دوشنبه 14 اسفند 1396, 14:59 عصر
فعلا که تا اینجا تنها مشکلی که بقیه داشتن ، نبود بورد بوده . من یه بورد جدید تو وبلاگ گذاشتم :
http://farzadsw.persianblog.ir/post/11
بنابراین دیگه نباید مشکلی از نظر بورد باشه ، چون بالاخره یکی از اون 3تا رو میتونید تهیه کنید !
الان من در مرحله سرگردانی برای انتخاب کامپایلر هستم! :
winARM - Eclipse : محیط ویرایش کد Eclipse که واقعا حرف نداره ( یه جورایی جادوییه !) و مثال هم براش زیاده ولی برای کانفیگ کردنش یه سری دنگ و فنگ اضافی داره که زیاد خوشایند نیست(مثلا makefile)
Keil : برنامه نویسی توش یکم راحت تره ولی بیشتر کسایی که با lpc کار میکنن ازش استفاده میکنن و آموزش درست حسابی(خود آموز) نداره.
IAR : برنامه نویسی توش یکم سختره ولی در عوض راهنما و خودآموز داره(هنوز نخوندمش) .
حالا من موندم باکدوم کار کنم!؟ شما نظری ندارید ؟



سلام : من کامپایلر Fasmarm رو پیشنهاد می دم . البته هنوز اول راهشه ولی رایگان و اوپن سورس و خودکامپایله . میتونید اونرو از سایت اسمبلر Fasm دانلود کنید :

https://flatassembler.net

تو بخش Download میتونید این برنامه رو پیدا و دانلود کنید .