PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : freeRTOS for LPC2378



alireza10471
27-03-2011, 03:57
به نام خدا (هر کاری که با نام خدا آغاز نشود ناتمام می ماند.)
همه دوستان بخش LPC2378 را دعوت میکنم تا با همکاری یکدیگر freeRTOS را برای LPC2378 راه اندازی کنیم.از همه دوستان خواهشمندم از پرداختن به بحثهای انحرافی اکیدا خودداری کنند و همکاری خودش را به صورت عملی ثابت کنند.
به عنوان اولین قسمت فایلهای مورد نیاز را برای راه اندازی freeRTOS بر روی LPC2378 که با کامپایلر Keil نوشته شده است را قرار میدم.تاکید میکنم که این برنامه برای lpc2378 نوشته شده است.
حالا که برنامه USB Secondary Bootloader راه اندازی شده است تو این بخش هدف داریم که این سیستم عامل را نیز برروی بردآموزشی استفاده کنیم.(هر چند برد آموزشی من دچار مشکل شده و شاید نتونم تا مدتی با دوستان همراهی کنم)
برای دوستان عزیزی که آشنایی کاملی با سیستم عامل freeRTOS ندارند باید بگم که بهترین راهنما برای شروع ،خواندن صفحه اول از سایت You can see links before reply (You can see links before reply) است،که با خواندن چندین جمله متوجه لزوم استفاده از این سیستم عامل میشوند.

alireza10471
27-03-2011, 14:21
برای استفاده از سیستم عامل freeRTOS دو reference manual وجود داره که برای استفاده باید آنها را خریداری کرد.تو این قسمت این فایلهای راهنما را قرار میدهم.
دیگه راهنمایی کافی هم برای استفاده وجود داره.
فقط یک چیز دیگه نیازه که اون هم یک بردآموزشی است که مال من خرابه،پس امتحان کنید و به دوستان هم خبر بدهید تا همگی با هم یاد بگیریم.

password:You can see links before reply (You can see links before reply)

microprocesor_2002
27-03-2011, 15:05
سلام ... یه سیستم عامل من تو یکی از سایت ها دیدم بنام فمنتو ... فکر کنم چیز جالبی باشه .. نظر دوستان چیه ؟

alireza10471
27-03-2011, 17:24
سلام ... یه سیستم عامل من تو یکی از سایت ها دیدم بنام فمنتو ... فکر کنم چیز جالبی باشه .. نظر دوستان چیه ؟

سیستم عامل femto OS برای میکرو کنترلرهای خانواده AVR ایجاد شده است.از لحاظ پایداری و بروزشدن مداوم ،سیستم عامل freeRTOS از این سیستم عامل کاملتر و قویتر هست.آدرس سایت سیستم عاملی که شما نام بردید هم اینه:You can see links before reply (You can see links before reply)
تا اونجایی که من بررسی کردم،سیستم عامل femto OS برای اینه که بتونه خودش را با حجم کم حافظه میکروکنترلرهای AVR هماهنگ کنه.
در مورد کامل بودن و کاربردی بودن سیستم عامل freeRTOS شک نکنید.حتی در مورد میکرو کنترلرهای AVR هم استفاده از freeRTOS توصیه میشه و کدهای آمادش برای کامپایلرهای CodevisionAVR(کدها بر روی سایت کامپایلر) و ٌWinAVR (نمونه کدهاش در فولدر demo خود freeRTOS) موجود هست.

kavir
28-03-2011, 11:50
سلام
برای استارت به چه سخت افزاری نیاز هست و دوستانی که اطلاعات بیشتر دارند بیان مبحث رو باز تر کنند

alireza10471
28-03-2011, 12:33
سلام
برای استارت به چه سخت افزاری نیاز هست و دوستانی که اطلاعات بیشتر دارند بیان مبحث رو باز تر کنند
هیچ سخت افزار بخصوصی غیر از اون چیزی که شما تو پروژتون نیاز دارید، نیاز نیست،مثلا شاید غیر از خود میکرو به چند تا LED ساده نیاز باشه که کار شما انجام بشه.مفهوم سیستم عامل این نیست که نیاز به سخت افزار پیچیده ای داریم.
نیاز میدونم خیلی خودمونی منظور از یک سیستم عامل و لزوم استفادشو بگم:
فرض کنید برای انجام یک پروژه نیاز داریم چند عمل بطور همزمان انجام بشه مثلا از یک eeprom اطلاعات بخونید همزمان هم یک PWM ایجاد کنید و صفحه LCD را refresh کنید،چطور میشه این چند عملیات را بطور همزمان انجام داد؟
اینجاست که نیاز به قابلیت multi task سیستم عامل مطرح میشه.یک سیستم عامل میاد و طوری این چند وظیفه را مدیریت زمانی میکنه که در عمل انگار همزمان دارند انجام میشند.
اگر باز هم ساده تر بخوام بگم باید اینو بگم که تا حالا به موبایل خودتون دقت کردید که چطوری همزمان آهنگ گوش میکنید و از طرفی روی LCD چیزی میبینید و تازه دارید متن تایپ میکنید و از اینترنت هم استفاده میکنید؟؟؟مگه غیر از اینه که یک موبایل هم یه میکروکنترلر معمولی داره؟مگه این میکرو کنترلر فرآیندهاشو به طور سریال انجام نمیده(یعنی یک عمل را به اتمام میرسونه و سراغ عمل بعدی میره)؟
سیستم عامل با مدیریت زمانی ،هر پروژه را به چند قسمت تقسیم میکنه که به هر قسمت یک Task گفته میشه،با تقسیم بندی زمانی و مدیریت Task ها میشه همشونو بطور همزمان یا با هر ترکیبی که شما بخواهید انجام داد.
نهایتا کاری که ما میخواهیم بکنیم اینه:
همان برنامه خودمون را بنویسیم(حتی اگه روشن و خاموش کردن LED ها باشه) اما از توابع سیستم عامل کمک بگیریم تا هیچ وقت نگران زمان بندی و گیر افتادن بین چند عمل که میخواهند همزمان انجام بشوند نباشیم.

fatemehjml
28-03-2011, 13:56
با سلام

سال نو مبارک.

از دوستان تشکر می کنم بابت این پست مفید.

من قبلا یه مقداری روی این موضوع کار کردم ولی فعلا نیمه کاره رهاش کردم. امیدوارم انشاالله بتونیم با کمک هم به نتایج خوبی برسیم.

توی خود سایت NXP توسط یه شرکت دیگه اومده یه سیستم عامل open source و real time به نام μC/OS-II تقریبا مشابه همون freeRTOS گذاشته. این دو تا لینک مربوط به اونه.

لینک1 (You can see links before reply)
لینک2 (You can see links before reply)

من تونستم دانلودشون کنم. اگه مشکلی توی دانلود بود دوستان بگن تا اینجا آپلودشون کنم.

به نظرتون این سیستم عامل می تونه مورد خوبی برای کار کردن باشه؟ نظرتون رو اینجا بفرمایید.

موفق باشید

alireza10471
28-03-2011, 14:36
توی خود سایت NXP توسط یه شرکت دیگه اومده یه سیستم عامل open source و real time به نام μC/OS-II تقریبا مشابه همون freeRTOS گذاشته. این دو تا لینک مربوط به اونه.
لینک1 (You can see links before reply)
لینک2 (You can see links before reply)
به نظرتون این سیستم عامل می تونه مورد خوبی برای کار کردن باشه؟ نظرتون رو اینجا بفرمایید.
اگر فایلهای راهنماشو دیده باشید نوشته که این برنامه یک Evaluation برای استفاده از این کتابخانه است و این برنامه یک برنامه open source نیست.خب همین مشکل کافیه که سراغ این سیستم عامل نریم،از این گذشته freeRtos برای انواع میکروکنترلرها port شده است.باید فکر آینده را هم کرد.
خود من ترجیح میدم که اگر قرار باشه از freeRtos استفاده نکنیم از خود کتابخانه RTX مربوط به KEIL استفاده کنیم.دوستان این لینک هم دانلود کنند و بررسی کنند تا از بین دو سیستم عامل freeRTOS و KEIL RTX Library یکی را انتخاب کنیم.
سیستم عامل RT مربوط به keil:
You can see links before reply
دوستان عزیزم دقت کنید که دو تا فایل باید از این صفحه دانلود کنید،یکی فایل pdf راهنما(که بسیار روان و ساده توضیح داده) و دیگری فایل zip مثالها
من چند صفحه از این فایل راهنما را خواندم،خیلی کامل توضیح داده و شاید خود این باعث بشه به freeRTOS ترجیح داده شود.

fatemehjml
28-03-2011, 15:27
من خیلی راجع به این سیستم عامل نمی دونم ولی به عنوان یه پیشنهاد گفتم مطرحش کنم. برای شروع مورد خوبیه و حداقل مطمئنیم که خیلی سریع می تونیم ازش جواب بگیریم.

ولی اگه قراره یه چیز دیگه باشه من همون freeRTOS رو ترجیح می‌دم. منبع آموزشیه واقعا کامل و جامعی داره و خیلی عالی همه چیزو توضیح داده به خاطر متن باز بودنش. البته مزیت RT اینه که چون ما فقط می خوایم از keil استفاده کنیم پس سریع تر می تونیم به نتیجه برسیم.

سادگی و سبک و کم حجم بودن freeRTOS هم مزایای دیگشه. کرنل این سیستم‌عامل فقط از سه تا فایل اصلی تشکیل شده. نمی‌دونم RT هم به این سادگی هست یا نه؟

در ضمن freeRTOS پورتهای زیادی داره که روی انواع پروسسورا و کامپایلیرا تست شده. پس حالا که قراره وسیع نگاه کنیم آینده‌ی بسیار خوبی هم می‌تونه داشته باشه.

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

t.o.e
04-04-2011, 18:07
سلام:
من هنوز قضیه برام جا نیافتاده...هنوز اون طوری که کامل بفهمم که اصلا این RTOS چی کار میکنه و ريال،[ُ مخففه چی هست.لطفا آدرس سایت ندید.اگر می تونید همینجا یه خورده سطح پایین بگید که منم متوجه بشم.
و سوال دوم:
مگه میشه از یه باطری که 1 آمپر بیشتر نمیده..2 آمپر بکشیم؟
اینا سواله ها...خودمم نمیدونم..میخوام ببینم اگر ارزشش رو داره روش وقت بزارم.
منظورم اینه که وقتی چند تا عمل رو باهم انجام میدیم زمان میبره...از یه سرعتی بیشتر نمیتونه اون کارها رو انجام بده حتی خودش بیاد تقسیم بندی کنه..بازم با یه سرعتی و زمانی این کارها رو انجام میده دیگه؟

بعد اینکه تمامی کار های میکرو سریاله....شما می خواهید از طریق rtos میکرو رو طوری بهینه اش کنید که چند تا کا رو با هم انجام بده؟
یعنی مثل FPGA کار کنه؟
مگه ساختار داخلیش سریال نیست؟پس پطور ممکنه که بطونه چند کار رو تو یه زمان انجام بده...اونم با سرعت مطلوب!
ممنون میشم جواب سوالامو بدید.
چون اصلا ازاین مبحث اطلاعاتی نداشتم و دیدم اطلاعات شما خوبه گفتم همینجا بپرسم که یاد بگیرم.

processor
04-04-2011, 19:09
جواب سوالتون داده شده

فرض کنید برای انجام یک پروژه نیاز داریم چند عمل بطور همزمان انجام بشه مثلا از یک eeprom اطلاعات بخونید همزمان هم یک PWM ایجاد کنید و صفحه LCD را refresh کنید،چطور میشه این چند عملیات را بطور همزمان انجام داد؟
اینجاست که نیاز به قابلیت multi task سیستم عامل مطرح میشه.یک سیستم عامل میاد و طوری این چند وظیفه را مدیریت زمانی میکنه که در عمل انگار همزمان دارند انجام میشند.
اگر باز هم ساده تر بخوام بگم باید اینو بگم که تا حالا به موبایل خودتون دقت کردید که چطوری همزمان آهنگ گوش میکنید و از طرفی روی LCD چیزی میبینید و تازه دارید متن تایپ میکنید و از اینترنت هم استفاده میکنید؟؟؟مگه غیر از اینه که یک موبایل هم یه میکروکنترلر معمولی داره؟مگه این میکرو کنترلر فرآیندهاشو به طور سریال انجام نمیده(یعنی یک عمل را به اتمام میرسونه و سراغ عمل بعدی میره)؟
سیستم عامل با مدیریت زمانی ،هر پروژه را به چند قسمت تقسیم میکنه که به هر قسمت یک Task گفته میشه،با تقسیم بندی زمانی و مدیریت Task ها میشه همشونو بطور همزمان یا با هر ترکیبی که شما بخواهید انجام داد.

فکر می کنم این قسمت رو نخوندین:sa:

اگه شما در یه پروژه نیاز داشته باشین چند عمل رو با هم انجام بدین باید از سیستم عامل استفاده کنیین
مثال واضح کامپیوتر شخصی

t.o.e
04-04-2011, 19:53
اتفاقا خوندم....
وقتی من با fpga و یه مینی سیستم میتونم اطلاعاتم رو با سرعت مطلوب انتقال بدم...آیا این RTOS که شما می گید میتونه نیاز منو برآورده بکنه.

بزارید واضح تر بگم:
من داده برداری انلاین میخوام و سرعت مطلوب!!!!
آیا میکرو lpc2378 با بالاترین فرکانس کاریش میتونه کاری که fpga میکنه رو انجام بده.تو سرعت و زمان و دقت کم نمیاره؟
الان مینی سیستم هست که تو ایران نیست و شما می تونید خرید خارجی کنید که همه چی هم داره..یه case کوچیک.مثلا یکیش هست که 800 مگاهرتز.

من برام کیفیت کار مهمه...میگم اگر قراره روی چیزی کار کنیم یه کار اساسی بکنیم .
من نمیگم این کار ارزش وقت گذاشتن رو نداره...نه...سوء تفاهم نشه.
چون خودم هنوز تست نکردم و از شماها می پرسم که اگر تجربه داده برداری آنلاین دارید ...این میکرو lpc2378 میتونه کار داده برداری انلاین رو انجام بده که دیتا lost نشه و زمان کم نیاره.من بحثم سر اینه.
چون دارم تخصصی روی یه سری موارد کار میکنم و نمیتونم مدام عوضش کنم و از شماها که نسبت به من تجربتون بالاتره دارم می پرسم که اگر ارزش داره، من جایی مطرح کنم و روش وقت بزارم.ما با pic32 بیتی هم کار کردیم.تا الان تو داده برداری آنلاین هیچ کدومش جواب نداده.
و رفتیم سراغ divice دیگه که کارمون رو راه انداخت و آنلاین داده برداری می کنیم.


از دوست بزرگوارم که اومدند و جواب دادند هم تشکر میکنم.
من از دوستان عذر میخوام بحث به انحراف کشیده شد.
من هنوز جواب سوالاتمو رو نگرفتم.دوستان اگر حوصله داشتند سوالات من رو بخونند و در صورت امکان جواب بدند.

alireza10471
04-04-2011, 19:54
من هنوز قضیه برام جا نیافتاده...هنوز اون طوری که کامل بفهمم که اصلا این RTOS چی کار میکنه و مخففه چی هست
برای اینکه خیلی ساده متوجه مفهوم RTOS بشید،پست شماره 6 را بخوانید.
RTOS مخفف Real Time Operating System (سیستم عامل بلادرنگ) هست.

و سوال دوم:
مگه میشه از یه باطری که 1 آمپر بیشتر نمیده..2 آمپر بکشیم؟
اینا سواله ها...خودمم نمیدونم..میخوام ببینم اگر ارزشش رو داره روش وقت بزارم.
منظورم اینه که وقتی چند تا عمل رو باهم انجام میدیم زمان میبره...از یه سرعتی بیشتر نمیتونه اون کارها رو انجام بده حتی خودش بیاد تقسیم بندی کنه..بازم با یه سرعتی و زمانی این کارها رو انجام میده دیگه؟
بعد اینکه تمامی کار های میکرو سریاله....شما می خواهید از طریق rtos میکرو رو طوری بهینه اش کنید که چند تا کا رو با هم انجام بده؟
سیستم عامل برنامه شما طوری مدیریت زمانی می کنه که هیچ تاخیری در اجرا بوجود نیاید، فرض کنید شما یکی از پایه های میکرو را یک می کنید و بعد از 1 ثانیه دو باره این پایه را یک میکنید.سیستم عامل در زمانی که شما تاخیر ایجاد کرده اید به انجام سایر وظایفی که براش مشخص کردید می پردازه.

یعنی مثل FPGA کار کنه؟
مگه ساختار داخلیش سریال نیست؟پس پطور ممکنه که بطونه چند کار رو تو یه زمان انجام بده...اونم با سرعت مطلوب!
مثل FPGA عمل نمیکنه،برای سایر دوستان باید توضیح بدم که FPGA به طور موازی عمل می کنه و در یک زمان تمام دستورات را با هم پیش می بره اما اینجا اینطور نیست. لازم می دونم این قسمت را علمی تر بگم:
سیستم عامل فضای RAM میکرو را به چند قسمت تقسیم بندی می کند و هر یک از Task ها را درون یکی از این قسمتها پردازش می کند تا زمانی که به یک Task دیگر پرش کرد، اطلاعات Task ای که قبلا انجام داده است از بین نرود. شما به عنوان برنامه نویس مشخص می کنید که به هر Task چقدر از فضای SRAM تخصیص یابد و از طرفی مشخص می کنید که اولویت انجام Task ها برای شما چطور هست.
عمل سیستم عامل اینگونه است:
task با اولویت بالاتر را انجام میده،تا زمانیکه به یک وقفه در این task برخورد کنه، این task در وضعیت waiting قرار می گیره و task دیگری با اولویت برابر یا کمتر اجرا می شود. این عمل آنقدر سریع و پی در پی انجام میشه که گویا در عین واحد در حال اجراست.
در مورد لزوم استفاده از سیستم عامل های بلادرنگ شک نکیند.اشتباه ما برنامه نویس ها تا حال این بوده که نمی دونستیم روش صحیح برنامه نویسی چی بوده است.
یک سوال از شما می پرسم تا متوجه کل صحبت من بشوید:
شما چطور تا حالا به طور همزمان چند عمل ساده رو انجام می دادید،طوریکه هیچ وقفه ای در عمل مورد نظرتون نداشته باشید؟مطمین باشید هر جوابی جز هیچ عملی، غلطه.
اگر باز هم متوجه نشدید سوال کنید.

t.o.e
04-04-2011, 20:09
برای اینکه خیلی ساده متوجه مفهوم RTOS بشید،پست شماره 6 را بخوانید.
RTOS مخفف Real Time Operating System (سیستم عامل بلادرنگ) هست.

سیستم عامل برنامه شما طوری مدیریت زمانی می کنه که هیچ تاخیری در اجرا بوجود نیاید، فرض کنید شما یکی از پایه های میکرو را یک می کنید و بعد از 1 ثانیه دو باره این پایه را یک میکنید.سیستم عامل در زمانی که شما تاخیر ایجاد کرده اید به انجام سایر وظایفی که براش مشخص کردید می پردازه.

مثل FPGA عمل نمیکنه،برای سایر دوستان باید توضیح بدم که FPGA به طور موازی عمل می کنه و در یک زمان تمام دستورات را با هم پیش می بره اما اینجا اینطور نیست. لازم می دونم این قسمت را علمی تر بگم:
سیستم عامل فضای RAM میکرو را به چند قسمت تقسیم بندی می کند و هر یک از Task ها را درون یکی از این قسمتها پردازش می کند تا زمانی که به یک Task دیگر پرش کرد، اطلاعات Task ای که قبلا انجام داده است از بین نرود. شما به عنوان برنامه نویس مشخص می کنید که به هر Task چقدر از فضای SRAM تخصیص یابد و از طرفی مشخص می کنید که اولویت انجام Task ها برای شما چطور هست.
عمل سیستم عامل اینگونه است:
task با اولویت بالاتر را انجام میده،تا زمانیکه به یک وقفه در این task برخورد کنه، این task در وضعیت waiting قرار می گیره و task دیگری با اولویت برابر یا کمتر اجرا می شود. این عمل آنقدر سریع و پی در پی انجام میشه که گویا در عین واحد در حال اجراست.
در مورد لزوم استفاده از سیستم عامل های بلادرنگ شک نکیند.اشتباه ما برنامه نویس ها تا حال این بوده که نمی دونستیم روش صحیح برنامه نویسی چی بوده است.
یک سوال از شما می پرسم تا متوجه کل صحبت من بشوید:
شما چطور تا حالا به طور همزمان چند عمل ساده رو انجام می دادید،طوریکه هیچ وقفه ای در عمل مورد نظرتون نداشته باشید؟مطمین باشید هر جوابی جز هیچ عملی، غلطه.
اگر باز هم متوجه نشدید سوال کنید.

سلام:
حرفاتون متین.متوجه شدم.
من برام این هنوز مبهمه که آیا از لحاظ سرعت و دقت lpc2378 به FPGA میرسه؟
چون داره موازی کارها رو انجام میده و طبق اون چیزایی که شما گفتید ما میخواهیم با استفاده از سیستم عامل طوری برنامه بنویسیم که مثلا 4 تا کاری که fpga به طور موازی و همزمان انجام میده ...lpc هم اونا رو همزمان انجام بده در نهایت.
آیا من درست متوجه شدم؟
بعد اینکه دقت و سرعت به برنامه نویسی مربوط میشه؟

alireza10471
04-04-2011, 20:56
سلام:
حرفاتون متین.متوجه شدم.
من برام این هنوز مبهمه که آیا از لحاظ سرعت و دقت lpc2378 به FPGA میرسه؟
چون داره موازی کارها رو انجام میده و طبق اون چیزایی که شما گفتید ما میخواهیم با استفاده از سیستم عامل طوری برنامه بنویسیم که مثلا 4 تا کاری که fpga به طور موازی و همزمان انجام میده ...lpc هم اونا رو همزمان انجام بده در نهایت.
آیا من درست متوجه شدم؟
بعد اینکه دقت و سرعت به برنامه نویسی مربوط میشه؟
در پاسخ به سوالاتتون باید بگم که شما دارید قیاس بین ARM و FPGA می کنید و تو این مورد هیچ کدوم جای هم را نمی گیرند!برای کارهایی که شما می گید استفاده از FPGA نیاز هست، اما این به این مفهوم نیست که سیستم عامل برای چیه؟ چون برای کارهای مورد نظر شما هیچ میکروکنترل ARM کاربرد نداره.ضمن اینکه سیستم عامل برای هر میکرو کنترلی که شما فکر کنید موجود هست،حتی سری های Tiny برای AVR.
اگر از میکرو کنترلهایی مثل AVR , ARM, PIC میخواهید استفاده کنید،استفاده از سیستم عامل، نیاز اساسی است. از سیستم عامل استفاده می کنیم که بتوانیم همان عمل موازی در FPGA را امکان پذیر کنیم،هر چند بطور نسبی.
سوال شما این نیست که سیستم عامل نیاز هست یا نه،دقت کنید که سوالتون به این بر میگرده که FPGA انتخاب کنم یا ARM ؟ پاسخ شما هم روشنه،اگر از FPGA استفاده کرده یا می کنید به علت سرعت بالاتر و زمان اجرای کوتاه تر از همان استفاده کنید،چون هیچ کدام از میکرو کنترلرهای ARM معمولی نمی توانند جای آنها را بگیرند.البته مشکلات خاص آنها در برنامه نویسی و قیمت بالای آنها را حتما می دانید. دقت FPGA هم بطور کلی میشه گفت بالاتر هست.(البته این صحبت علمی نیست اما پاسخ سوال شماست تا ذهن شما متوجه منظور بشود.)
سیستم عامل چیز عجیبی نیست،جز چند تا سورس برنامه که به برنامتون اضافش می کنید و برنامتون را مثل قبل درون زیر برنامه هایی به نام task می نویسید.
قرار نیست با استفاده از سیستم عامل بخواهیم FPGA بسازیم،چون فرکانس کاری آنها بسیار بالاتر است، بلکه می خواهیم برنامه های خود را خیلی ساده تر و منطقی تر مدیریت کنیم.
یکی از علتهایی که همه تو این مورد به اشتباه می افتند، استفاده از لفظ سیستم عامل هست که بلافاصله ذهن را به سمت یک مورد پیچیده معطوف می کنه مثلا windows یا لینوکس (که البته سیستم عامل هستند). سیستم عامل یعنی برنامه ای که قابلیت اجرای چند برنامه همزمان را ایجاد می کند،که این مفهوم Multi Task می باشد.

t.o.e
04-04-2011, 23:47
ممنون از پاسخگویی.به طور کامل و واضح برام جا افتاد.
بله fpga گرونه ولی ما خرید خارجی می کنیم 19 هزار تومان....همون شماره رو تو ایران 30000 توامن میفروشند.
فروشگاه آرمان تو امجد.

من تا تیرماه در گیرم ولی بعد از تیر اگر دوستان تا اون موقع کاری نکردند حتما این بحث رو دنبال میکنم.

microprocesor_2002
05-04-2011, 10:16
سلام دوستان عزیز.... یه پروژه RTOS که روی بورد فیلیپس ایران میکرو جواب داد.... 3تا Task داره البته بیشترش کردم کار نمی کرد 3تا LEDها رو روشنو خاموش میکنه ... البته اگه تونستین کاملترش کنین حتما اینکارو بکنید چون خیلی بدرد می خوره .... ولی خوب 3تام خوبه ..... البته لینکشو فکر کنم از همین سایت برداشتم ..... از لینک زیر دانلود کنید...:o

You can see links before reply

I AM LEGEND
05-05-2011, 16:44
در پاسخ به سوالاتتون باید بگم که شما دارید قیاس بین ARM و FPGA می کنید و تو این مورد هیچ کدوم جای هم را نمی گیرند!برای کارهایی که شما می گید استفاده از FPGA نیاز هست، اما این به این مفهوم نیست که سیستم عامل برای چیه؟ چون برای کارهای مورد نظر شما هیچ میکروکنترل ARM کاربرد نداره.ضمن اینکه سیستم عامل برای هر میکرو کنترلی که شما فکر کنید موجود هست،حتی سری های Tiny برای AVR.
اگر از میکرو کنترلهایی مثل AVR , ARM, PIC میخواهید استفاده کنید،استفاده از سیستم عامل، نیاز اساسی است. از سیستم عامل استفاده می کنیم که بتوانیم همان عمل موازی در FPGA را امکان پذیر کنیم،هر چند بطور نسبی.
سوال شما این نیست که سیستم عامل نیاز هست یا نه،دقت کنید که سوالتون به این بر میگرده که FPGA انتخاب کنم یا ARM ؟ پاسخ شما هم روشنه،اگر از FPGA استفاده کرده یا می کنید به علت سرعت بالاتر و زمان اجرای کوتاه تر از همان استفاده کنید،چون هیچ کدام از میکرو کنترلرهای ARM معمولی نمی توانند جای آنها را بگیرند.البته مشکلات خاص آنها در برنامه نویسی و قیمت بالای آنها را حتما می دانید. دقت FPGA هم بطور کلی میشه گفت بالاتر هست.(البته این صحبت علمی نیست اما پاسخ سوال شماست تا ذهن شما متوجه منظور بشود.)
سیستم عامل چیز عجیبی نیست،جز چند تا سورس برنامه که به برنامتون اضافش می کنید و برنامتون را مثل قبل درون زیر برنامه هایی به نام task می نویسید.
قرار نیست با استفاده از سیستم عامل بخواهیم FPGA بسازیم،چون فرکانس کاری آنها بسیار بالاتر است، بلکه می خواهیم برنامه های خود را خیلی ساده تر و منطقی تر مدیریت کنیم.
یکی از علتهایی که همه تو این مورد به اشتباه می افتند، استفاده از لفظ سیستم عامل هست که بلافاصله ذهن را به سمت یک مورد پیچیده معطوف می کنه مثلا windows یا لینوکس (که البته سیستم عامل هستند). سیستم عامل یعنی برنامه ای که قابلیت اجرای چند برنامه همزمان را ایجاد می کند،که این مفهوم Multi Task می باشد.

البته با اجازه دوستمون منم یه سری توضیحات اضافه کنم:
شما فرض کنید که یک برنامۀ سادۀ میکرو می‌نویسید، به طور معمول اون رو داخل یک حلقه می‌نویسید و شروع میکنه کار کردن، اما اگه تعداد وظایف شما و کارهایی که می‌خواهید با میکرو انجام بدید زیاد بشه، اول از همه شما اونقدر وقفه ندارید که به راحتی بتونید کارهای ضروری رو به سرعت انجام بدید و همچنین کنترل این همه کار در یک حلقه خیلی سخت میشه و برنامه رو باید به صورتی بنویسید که تک تک بیاد تمام شرایط رو چک کنه که این خودش از لحاظ برنامه نویسی زیاد جالب نیست، همچنین شما باید بتونید متغیرهاتون رو که در حافظه یک مکانی به اونها نسبت داده شده رو مدیریت کنید... حالا وقتی شما بخواهید که یه همچین برنامه‌ای رو بنویسید فوق العاده وقتتون گرفته میشه و حتی اشکال یابی برنامه فوق العاده سخت میشه، سیستم عامل‌ها مانند RTX یا FREERTOS میان و به شما کمک میکنند که راحت همۀ این کارها رو انجام بدید و حتی اولویت Taskها رو مشخص کنید که کدوم کار باید زودتر و سریع تر انجام بشه و حتی وظیفۀ سودیچ کردن بین Task ها رو خود OS بر عهده میگیره و شما تنها کافیه که کارهایی رو که در اصل می‌خواهید انجام بدید مشخص کنید و با خیال راحت بقیه وظیفه‌ها رو به OS بسپارید:018:

alireza9900
09-07-2011, 02:14
سلام
می خواستم ببینم دوستان با RTX کار کردن؟
این RTX خیلی خفن تر از FreeRTOS هست

alisaeed
10-08-2011, 15:16
سلام کسی تا حالا FreeRTOS رو واسه lpc1768 توی محیط eclips راه اندازی کرده؟اگه راهنمایی کنید ممنون میشم.

mzarkoob
11-08-2011, 13:45
سلام دوستان عزیز.... یه پروژه RTOS که روی بورد فیلیپس ایران میکرو جواب داد.... 3تا Task داره البته بیشترش کردم کار نمی کرد 3تا LEDها رو روشنو خاموش میکنه ... البته اگه تونستین کاملترش کنین حتما اینکارو بکنید چون خیلی بدرد می خوره .... ولی خوب 3تام خوبه ..... البته لینکشو فکر کنم از همین سایت برداشتم ..... از لینک زیر دانلود کنید...:o

ایـــــــــران میـــــــکرو ™ (You can see links before reply)




با سلام

من این برنامه freeRTOS for LPC2378 را روی برد ریختم. ولی نمی دونم این سه تا led که گفته شده خاموش روشن میشه کدومه؟ از led های روی خود برد استفاده کردید؟ یا باید بهش وصل کنیم؟ داخل برنامه را هم که نگاه کردم زیاد سر در نیاوردم و متوجه نشدم. اگه یه توضیحی بدید ممنون میشم.

اگه ممکنه یه کم در مورد ساختار کلی برنامه هم توضیح بدید. این جور که مشخص سه تا قسمت داره که می توانیم کارمان را در آنجا با استفاده از دستورات تعریف شده انجام بدیم(void vTaskCode1(void * pvParameters) و ..) . برنامه اش بزرگه و سخته به تمام جوانبش مسلط شد.

با تشکر:hi:

userkavir2
08-01-2012, 13:55
سلام تو رو خدا هیچ کس نیست بگه خطای زیر چرا در فلش مجیک رخ می ده
autobaud-step1
باید چه کار کنم که این خطا رفع بشه و فلش مجیک میکروLPC2378که رو برد آموزشی هست رو بشناسه
تو رو خدا جواب بدین:baad::baad::baad:cry::cry::cry::

kavir
08-01-2012, 14:29
سلام تو رو خدا هیچ کس نیست بگه خطای زیر چرا در فلش مجیک رخ می ده
autobaud-step1
باید چه کار کنم که این خطا رفع بشه و فلش مجیک میکروLPC2378که رو برد آموزشی هست رو بشناسه
تو رو خدا جواب بدین:baad::baad::baad:cry::cry::cry::
سلام
خوب شما هنوز توی این تاپیک سوال اولی هست پرسیدی
این خطا به چند دلیل میتونه باشه:
1. اتصالات درست نباشه یعنی اگر بدرهای ما استفاده میکنید باید rx به tx و tx به rx وصل بشه
2.باود ریت ها درست تنطیم نباشه
3.مشکل کابل باشه و اگر دست سازه خیلی بزرگ باشه همین خطا دارین
در کل نشناخته شدن میکرو و صحیح نبودن اتصالات عامل اصلی هست

mzarkoob
08-01-2012, 16:21
خطای زیر چرا در فلش مجیک رخ می ده
autobaud-step1

سلام. ای بابا این سوال چه ربطی به موضوع این تایپیک داره!ii998)
البته باید پایه 4 و 7 پورت سریال را هم متصل کرده باشید.
اگه مثل من max3232 تان هم سوخته باشد این پیغام را دریافت می کنید. البته یادم نیست انگار خطای step2 میداد.

majidma3000
02-01-2013, 00:53
با وجود rtx با این همه مثال و آموزش چرا رفتین سراغ freertos.:unh:
همونطور که از اسمش پیداست freeRTOS یعنی سیستم عامل رایگان ولی RTX رایگان نیست و در کشور ایران هم که رایگان یا پولی بودن برنامه اهمیتی نداره. خودتون بهتر میدونید چیزی که رایگان نیست و به صورت تجاری در اومده خیلی بهتره. در ضمن RTX مموری کارت، ارتباط can، ارتباط USB و خیلی چیزهای دیگه داره.:018:
من فکر می کنم وقتمون رو روی RTX بذاریم و اون رو با تمام امکاناتش تموم کنیم خیلی بهتر باشه.:wink:

omid1989
03-05-2013, 10:19
سلام دوستان
خسته نباشید
من میخام شروع کنم و rtos را روی arm راه اندازی بکنم.
البته تا حالا با arm کار نکردم !!! ولی خوب میخام شروع کنم و یاد بگیرم.
به نظرتان از کجا شروع بکنم و چه منابع مطالعاتی پیشنهاد میکنید برای rtos !؟
خیلی ممنون