ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 15 از 16 نخست ... 5678910111213141516 آخرین
نمایش نتایج: از 141 به 150 از 151
  1. #141
    2014/04/26
    14
    1

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    سلام دوستان
    من کل پست هایی که تو آموزش بوده رو به صورت یه pdf آماده کردم تا جم و جور تر باشه،
    امیدوارم بدرد بخوره
    http://s6.picofile.com/file/8190575218/%D8%B3%DB%8C%D8%B3%D8%AA%D9%85_%D8%B9%D8%A7%D9%85% D9%84_%D8%A8%DB%8C_%D8%AF%D8%B1%D9%86%DA%AF_RTX_%D 8%A8%D8%B1%D8%A7%DB%8C_ARM7.pdf.html
  2. #142
    2008/02/02
    4
    0

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    سلام. واقعا دستتون درد نکنه. :job: کلی دعای خیر پشت سرتون هست
    میخواستم اگر لطف کنید راجع به مدیریت حافظه هم با یک مثال کوچیک کارتون رو تکمیل کنید
    منظورم این سه تا تابع هست
    کد:
    _declare_box
    _init_box
    _alloc_box
    مچکریم
  3. #143
    2012/07/22
    27
    11

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    کتاب کامل آموزش سیستم عامل RTX به زبان فارسی
    http://www.eca.ir/forum2/index.php?topic=110829.0
  4. #144
    2009/08/03
    12
    3

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    سلام و درود
    کاش دوستان یه مثال درست و حسابی میزاشتن. مثال های کوچیک خیلی از مشکلات اولیه که باهاش سرو کار داریم رو مطرح نمیکنه و برای بدست آوردن تجربه بیشتر زمان زیادی باید سپری بشه
  5. #145
    2008/03/11
    8par<->Tehran
    165
    6

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    سلام
    کسی اطلاعاتی در مورد privileged mode و unprivileged mode داره ؟ فرقشون چیه ؟ و چرا در حالت اول امکان دسترسی کامل به هسته اصلی پردازنده هست؟
    ممنون
    زندگي آن چه که زيسته ايم نيست ، بلکه آن چيزي است که از گذشته به خاطر داريم ...گابريل گارسيا مارکز
  6. #146
    2008/03/11
    8par<->Tehran
    165
    6

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    بعد از گذشتن یک روز تمام بنده جواب سوالمو پیدا کردم ، از اون جایی که بهترین روش یادگیری آموزشه چیزایی که فهمیدم و نیازه تا موضوعو منتقل کنم میزارم اینجا ، البته که احتمال اشتباه وجود داره و خوشحال میشم تصحیح/تکمیلش کنید.ممنون
    -----------------------
    تفاوتهای بین دستوارت Thumb و ARM :
    در گذشته بدلیل گرانی حافظه های ذخیره سازی معماری CISC یاComplex instruction set computer با تمرکز برمجموعه دستورات پیچیده در مقابل حافظه مصرفی کمتر ، معماری غالب پردازنده ها بود.با افزایش حافظه ها و کاهش قیمت آنها معماری RISC یا Reduced instruction set computer مطرح شد که حجم کدها را قربانی ساده سازی پیاده سازی مداری و کاهش دستورالعمل ها میکرد . در غالب پردازنده های مورد بحث ما مانند خانواده ARM,AVR32,MIPS و ... از مدل 3 عملوندی آن استفاده میشود.
    بسیاری از پردازنده های 32 بیتی امروزی از معماری RISC استفاده میکنندکه بر خلاف معماری CISC عموما هر دستور العمل (شامل واکشی و کد گشایی و پردازش) در یک سیکل کلاک اجرا میشود،گرچه این عمل موجب افزایش سرعت اجرای دستورات نسبت به معماری CISC میشود،در مقابل این افزایش سرعت هزینه ای دارد.
    این هزینه نیاز به حافظه ی بیشتر نسبت به معماری CISC برای ذخیره ی برنامه در حالت مشابه است.
    به غیر از مواردی که در آنها سرعت اجرا یک پارامتر حیاتی است،در سایر موارد هزینه از اهمیت بیشتری نسبت به سرعت اجرا برخوردار است که برای کاهش حافظه مصرفی و به الطبع کاهش هزینه، ARM از مجموعه دستورات Thumb به عنوان یک پشن برای هسته های پردازنده RISC خود استفاه میکند.
    مشهورترین مثال این مورد هسته پردازنده ARM7TDMI میباشد که حرف T در آن نشانگر عبارت Thumb میباشد.
    مجموعه دستورات Thumb شامل دستورات 16 بیتی است که به عنوان یک زیر مجموعه مختصر و جمع و جور برای مجموعه دستورات استاندارد 32 بیتی ARM عمل میکند.
    Privileged mode و Unprivileged mode چه معنایی دارند؟
    هر دو حالتهایی از اجرای و پردازش رشته ها یا تسک ها در سیستم عاملهای بلادرنگ هستند(مانند CMSIS RTOS RTX ) که توسط عبارت #define OS_RUNPRIV. و یا بصورت تصویری در فایل RTX_Conf_CM.C و یا توسط برنامه قابل تعریف و تغییر هستند.
    تفاوتها:
    در حالت Unprivileged :
    نرم افزار دسترسی محدود به دستورات MSR و MRS دارد و امکان اجرای دستور CPS میسر نیست.
    امکان دسترسی به تایمر سیستم ،NVIC و سیستم کنترل بلوک وجود ندارد.
    امکان دسترسی به پریفرال ها و حافظه با محدودیت همراه است.
    در حالت Privileged این محدودیت ها وجود ندارند.
    این دو حالت در هر دو حالت دستورات ARM و Thumb تاثیر گذار است.

    SVC چیست ؟
    سابقا SVC ها را وقفه های نرم افزاری(SWI ) مینامیدند. SVC مخفف عبارت Supervisor call یا فراخوانی سرپرستی میباشد.
    در این روش به جای اجازه دادن به برنامه کاربر برای دستیابی مستقیم به سخت افزار ، سیستم عامل میتواند دسترسی به سخت افزار را از طریق SVC فراهم کند، بنا براین هنگامیکه یک برنامه کاربر میخواهد تا از سخت افزار مشخصی استفاده کند ، یک استثنا SVC با استفاده ازدستورات SVC تولید میکند.در این هنگام مدیر استثنا نرم افزاری در سیستم عامل اجرا شده و سرویس درخواست شده به برنامه کاربردی را فراهم میکند.
    در این روش دسترسی به سخت افزار تحت کنترل سیستم عامل است که میتواند سیستم منسجم تری را با جلوگیری از دسترسی مستقیم برنامه کاربر به سخت افزار ایجاد کند.
    SVC همچنین میتواند قابل حمل بودن (Portablity ) برنامه را به این دلیل که برنامه کاربر نیازی به اطلاع از جزئیات برنامه نویسی لایه های پایین سخت افزار ندارد، افزایش دهد .
    SVC ها در حالت Privileged handler هسته های CORTEX-M اجرا میشوند.
    توابع SVC توانایی پذیرفتن آرگومان و بازگردان مقادیر را مشابه سایر توابع دارند،گرچه تفاوتهایی وجود دارد که از کاربر مخفی شده وARMCC (کامپایلر ARM ) این تفاوتها را مدیریت و کد دستور مورد نیاز برای فراخوانی توابع SVC را تولید میکند.
    در هنگام اجرای دستورات SVC کنترلر به حالت مدیریت Privileged تغیر میکند.
    در این حالت وقفه ها غیر فعال نیستند که برای محافظت از توابع SVC در مقابل وقفه ها به توابع فعال سازی و غیر فعال سازی وقفه مانند زیر نیاز است:
    __disable_irq() __enable_irq()
    همچنین میتوان از توابع SVC برای دستیابی به پریفرال های حفاظت شده مانند پیکره بندی NVIC و وقفه ها استفاده کرد. مورد دیگر زمانی است که از تسک ها در حالت Unprivileged استفاده میشود و نیاز است تا تنظیمات وقفه ها تغییر کنند.
    روش استفاده از KEIL IDE :
    از گزینه زیر یک غالب آماده به این منظور به پروژه اضافه نمایید:
    Add new item to group &gt;&gt; User code template &gt;&gt;
    CMSIS component &gt;&gt; CMSIS RTOS user SVC
    - یک تابع با صفت __svc(x) تعریف کنید.(به جای X شماره تابع قرار میگرد )
    کد:
    -	void __svc(1) inc_5bit (U32 *cp);
    - پیاده سازی تابع را بنویسید و نام تابع را به مدل __SVC_x تغییر دهید(بعدا این نام توسط لینکر برای ارجاع دادن از ماژول SVC_Table.s مورد استفاده قرار میگیرد.
    -
    کد:
    void __SVC_1 (U32 *cp) {
    -	// A protected function to increment a 5-bit counter. 
    -	__disable_irq();
    -	*cp = (*cp + 1) &amp; 0x1F;
    -	__enable_irq();
    -	}
    تابع __SVC_x را به جدول تابع SVC در ماژول SVC_Table.s اضافه کنید.در ابتدا آنرا از دیگر ماژولها وارد کنید :
    کد:
    ; Import user SVC functions here.
    IMPORT __SVC_1
    سپس ارجاع به آن را در جدول وارد کنید:
    کد:
    ; Insert user SVC functions here. SVC 0 used by RTL Kernel.
    DCD __SVC_1 ; user SVC function
    تابع SVC شما العان باید مانند زیر باشد:
    کد:
    void __svc(1) inc_5bit (U32 *cp);
    void __SVC_1 (U32 *cp) {
    // A protected function to increment a 5-bit counter. 
    __disable_irq();
    *cp = (*cp + 1) &amp; 0x1F;
    __enable_irq();
    }
    نکات:
    - SVC شماره صفر برای هسته RTX رزرو شده ،بنا براین باید از عددیک و بعد از آن استفاده کنید.
    - در هنگام نام گذاری شماره توابع SVC فضای خالی قرار ندهید.این اعداد باید به طور پیوسته از عدد یک به بعد نامگذاری شوند.
    - توابع SVC وقفه پذیر هستند.
    منابع:
    www.embedde.com
    www.keil.com
    www.infocenter.arm.com
    CMSIS RTOS Documentations

    اگه نیاز به مثال بود بفرمایید تا قرار بدم
    زندگي آن چه که زيسته ايم نيست ، بلکه آن چيزي است که از گذشته به خاطر داريم ...گابريل گارسيا مارکز
  7. #147
    2012/08/30
    5
    0

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    سلام دوستان .
    من مدتیه درگیر یک پروژه هستم و یکسری اطلاعات رومی خوام بریزم تو فاش usb.تو این پروژه از کرنل RTX استفاده کردم. ولی یه جایی به یک مشکل اساسی خوردم اونم اینکه وقتی می خوام از دستورات flash-fs استفاده کنم سیستم هنگ می کنه. همین دستورات بدون کرنل کامل جواب میدن ولی وقتی تو تسک ها میارم هنگ می کنه سیستم. تعداد تسک ها و سایزشون رو هم بالا بردم نشد که نشد. مثلا در مثال زیر سیستم میاد و موقع رسیدن به دستور fopen هنگ میکنه!!
    کد:
    #include &lt;RTL.h&gt;
    #include &lt;rl_usb.h&gt;
    
    #include &lt;stdio.h&gt; 
    #include &lt;LPC177x_8x.h&gt;
    int i;
    FILE *f;
    #ifdef __cplusplus
    extern &quot;C&quot; {
    #endif
    int __low_level_init(void); // Avoid &quot;no ptototype&quot; warning
    #ifdef __cplusplus
     }
    #endif
    	 U32 retv;
    
    int __low_level_init(void) {
    	
     SystemCoreClockUpdate();  // Ensure, the SystemCoreClock is set
    
     return 1;
    }
    		__task void init(void);
      __task void usb_engine(void);
      __task void _rt(void); 
    __task void init (void) { 
    	usbh_engine_all();
    	finit(&quot;U:&quot;);
    	fformat(&quot;U:&quot;);
    	while(1)
    	{
    		if(f==0)
    		{
    		
    			f=fopen(&quot;test.txt&quot;,&quot;w&quot;);
    			for (i=1;1000;i++) fprintf(f,&quot;ok&quot;);
    			fclose(f);
    			
    }
    }
    	}
    int main (void) {
    
    os_sys_init_prio(_rt,1); 
    
    }
    
    void usb_engine(void)
    {
    	while(1)
    	{
    	/*		usbh_engine_all();
    		 os_dly_wait (20);*/
    
    	}
    }
    
    void _rt(void)
    {
    os_tsk_create(init,1);
    os_tsk_create(usb_engine,1);	/* Init RTX and start &#039;init&#039;     */
    		 //os_tsk_create(delayMs(uint8_t timer_num, uint32_t delayInMs),5);
     	os_tsk_delete_self();
    }
    دوستان اگه تا حالا با این مسیله مواجه شدن و راه حلی دارن ممنون می شم.
  8. #148
    2007/11/13
    خونمون ، خونتون ، خونشون . . .
    251
    3

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    سلام.
    semaphore بسیار شبیه mutex می باشد. به عبارتی semaphore ی با یک شمارنده ی 1 واحدی، همان mutex است. اما در بعضی دایکومنت ها خوندم که بهتر است که به جای سمافر با یک شمارنده ی یک واحدی، از mutex استفاده شود.
    پس فرق semaphore و mutex چیه؟
  9. #149
    2015/09/06
    67
    10

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    آقا یک سوال بی ربط بپرسم ؟
    بحثی که شروع کردی خوبه اتفاقا تو فکرشم هستم اما بعدا ولی به زودی میام دنبال ش
    سوالم اینه در آرم چطوری میشه از وقفه ها استفاده کرد ؟ البته در IAR
    در lpc2368 وقفه مورد نظر رو فعال می کردی و آدرس تابع وقفه رو که خودت تعریف میکنی رو در رجیستری می نوشتی
    وقفه که اتفاق میفتاد به تابع(روتین وقفه) پرش می کرد (البته در IAR پرش نمی کرد در Keil پرش میکرد)
    اما در 1768 یا 1343 که cortex هستند سیستم فرق میکنه
    چطوریه ؟ شما میتونی راه انددازی کنی ؟
    ویرایش توسط davoud.arabee : 2017/07/29 در ساعت 13:54
  10. #150
    2018/04/03
    25
    3

    پاسخ : سیستم عامل بی درنگ RTX برای ARM7/9 و Cortex-M

    لینک کتاب کار نمیکنه میشه لطفا دوباره بزارید ممنون<br><br>
صفحه 15 از 16 نخست ... 5678910111213141516 آخرین
نمایش نتایج: از 141 به 150 از 151

موضوعات مشابه

  1. پاسخ: 14
    آخرين نوشته: 2018/11/17, 11:17
  2. پاسخ: 51
    آخرين نوشته: 2018/01/03, 00:56
  3. برنامه نویسی برای سیستم عامل امبدد (با سیستم ARM)
    توسط pajuhaan در انجمن خانواده Friendly ARM
    پاسخ: 4
    آخرين نوشته: 2017/08/14, 02:34
  4. سوال : سیستم عامل بر روی arm7
    توسط REZA.1234 در انجمن پروسسورهای ARM
    پاسخ: 12
    آخرين نوشته: 2011/05/27, 21:36

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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