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





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









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









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





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

صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 31
  1. #1
    2008/02/10
    اطراف تهران
    411
    11

    نحوه کار کرنل های مولتی تسک

    با سلام خدمت تمامی دوستان و اساتید : :bye
    یه چند وقتیه که بد جوری فکرم مشغول پروژه مولتی تسکینگ با استفاده از میکرو های PIC یا (ترجیحا) DSPIC شده! :surprised:
    البته شاید این سوال پیش بیاد که اصلا مگه کاری هست که نیاز به مولتی تسک داشته باشه اونم با میکرو ؟
    البته می شه بگیم در سطح ما ها با پروژه های سادمون نه نیازی نداریم.ولی دونستن یه چیز همیشه بهتر از ندونستنشه و احتمالا در اینده نزدیک به در دمون می خوره!
    حالا طبق اطلاعات اندک من توی سیستم های مولتی تسکینگ یه تایمر داریم که با فاصله زمانی معین اینتراپت ایجاد می کنه تا بتونه فعالیت حاضر را متوقف کنه و یه فعالیت بعدی رو پیش بگیره.
    حالا ممکنه که فعالیت رو یه دستور اسمبلی تعریف کنیم یا تکه از برنامه که مثلا روی ال سی دی می نویسه . که این خودش جای بحث زیادی داره!
    حالا این جا پای استک میاد وسط با استک پوینتر (stack & stack pointer)
    من یه سری اطلاعات دیگه ایی از این سیستم های مولتی تسکینگ دارم ولی بدلیل پراکندگی و دید کلی ناقص می خوام که دوستانی که اطلاعات دقیقتر و کاملتری دارن یه توضیح کامل از قسمتهای مختلف این نوع سیستمها بدن تا بعد بریم سراغ قسمتهای بعدی!
    فکر میکنم بهتره که با برنامه پیش بریم طبق زیر:(پس حدالمقدور از برنامه خارج نشیم و پست های نا مربوط نزنیم :redface
    1- اشنایی کلی و دقیق با سیستمهای مولتی تسکینک (برای میکرو نه کامپیوتر)
    2-اشنایی دقیق با قسمتهای مختلف این سیستم و وظیفه و نحوه کارکرد هر قسمت
    3-سعی در پیاده سازی همین سیستم برای یک میکرو خاص (DSPIC30F6014)

    بسم الله
    هر کدوم از دوستان که میتونه به پیشرفت مرحله اول کمک کنه بیاد جلو . مامنتظریم!!!
  2. #2
    2007/11/21
    ایران - تهران
    352
    2
    mrh

    پاسخ : نحوه کار کرنل های مولتی تسک

    فکر کنم برای شروع کتاب پروژه های پیشرفته با C نوشته ابراهیم دوگان کتاب خوبی باشه. البته فکر کنم ترجمه شدش تو بازار هست. فقط یه بدی که داره، کامپایلری که استفاده میکنه MicroC هست. ولی برای درک خود RTOS فکر نکنم بد باشه. بازم اگه شما مرجع مناسبتری میشناسید معرفی کنید.
    بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
    موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
    نلسون ماندلا
  3. #3
    2008/02/10
    اطراف تهران
    411
    11

    پاسخ : نحوه کار کرنل های مولتی تسک

    سلام
    امروز دارم میرم انقلاب ببینم چه طور کتابیه.
    در مورد منابع برای این کار :زیاد هست ولی معمولا توضیح خود سیستم های ارائه شده هست و توضیح پایه ایی نیست و توضیح نحوه استفاده از پراسیجر ها هست ولی
    فعلا خودم دارم به یه نتایج جالبی می رسم .یه هو دیدی یه برنامه مولتی تسک گذاشت نوشتم گذاشتم اینجا!!!
    (راستی امضات خیلی قشنگه!جمله اولش)
  4. #4
    2010/05/01
    اصفهان
    378
    6

    پاسخ : نحوه کار کرنل های مولتی تسک

    یه توضیحاتی اینجا برای سیستمهای مولتی تسک روی میکروکنترلرها دادم ، شاید به کارت بیاد
    http://www.eca.ir/forum2/index.php?topic=41965.10
    آن دم که مرا مي زده بر خاک سپاريد زير کفنم خمره اي از باده گذاريد
    تا در سفر دوزخ از اين باده بنوشم
    آنلحظه که با دوزخيان کنم ملاقات يک خمره شراب ارغوان برم به سوغات
    هرقدر که در خاک ننوشيدم از اين باده صافي ، بنشينم و با دوزخيان کنم تلافي
  5. #5
    2008/02/10
    اطراف تهران
    411
    11

    پاسخ : نحوه کار کرنل های مولتی تسک

    خیلی عالی بود
    ولی اطلاعاتم تقریبا در همون حد هست.!!!
    من نمی خوام سیستم های عامل دیگرو پورت کنم . می خوام خودم یه سیستم عامل بنویسم .! :mrgreen:
    البته می دونم خیلی راحت نیست ولی خوب کار هر چی سختتر لذتش بیشتر :read:
    البته یه مشکلی که اون تاپیک داره اینه که (البته مشکل نیست) اینه که برای avr هست و چون کار اصلی سیستم عامل با استک و w ریجستر هاست و این دو توی avr و pic با هم فرق می کنن نمیشه راحت بینشون ارتباط بر قرار کرد ولی من حتما اون تاپیکو دنبال میکنم و از مفاهیم کلیش استفاده می مکنم.
    فکر میکنم که اصول و قلب یه سیستم مولتی تسک به این روال باشه : (البته من قبلا یه برنامه کوچولوی دو کاره نوشته بودم ولی کمی ایراد داشت)
    --------------------------------
    main:
    غیر فعال کردن اینتراپت
    گرفتن ادرس شروع هر تسک روی فلش
    اختصاص دادن و پاک کردن رم برای تسک ها
    فعال کردن اینتراپت
    while 1:
    task_1
    task_2
    ...
    task_n
    wend
    حالا بخش اینتراپت که وظیفه تعویض تسک ها رو هم بر عهده داره
    interupt:
    گرفتن و ذخیره w ریجستر ها رو رم
    گرفتن ادرس موجود روی استک
    تغییر ادرس روی استک برای تسک بعدی در بازگشت
    گرفتن w ریجسترهای مخصوص این تسک از رم
    return
    با هر بار اینتراپت روال به تسک بعدی منتقل میشه
    البته این برنامرو من چند روز دیگه می نویسم و امتحان می کنم
    ولی خیلی احتمالات ممکنه برای هر تسک و کلا سیستم اتفاق بیافته که باید پیش بینی بشه
  6. #6
    2007/11/21
    ایران - تهران
    352
    2
    mrh

    پاسخ : نحوه کار کرنل های مولتی تسک

    سلام عباس آقا. اون کتاب پروژه های پیشرفته با C رو تونستید پیدا کنید؟ اگه پیدا کردید لطفا بفرمائید چجوریا بود(خوب توضیح داده بود و پروژه هاش بدردبخور بود)؟
    بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
    موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
    نلسون ماندلا
  7. #7
    2008/09/02
    اصفهان
    1,897
    43

    پاسخ : نحوه کار کرنل های مولتی تسک

    برای شروع شما میتونی یک راه ساده رو بری. بیا چند تا تسک ایجاد کن و به ازای هر کدوم یک استک بگیر. برای سوئیچ کردن بینشون هم از روال وقفه استفاده نکن. هر وقت یک تسک صلاح دید بیاد و تسک بعدی رو اجرا کنه. البته روتین اجرا کردن تسک دیگه اینجوریه که مقادیر واسط رو در استک نگهداری کنه. تسک بعدی رو انتخاب کنه. و استک تسک جدید رو استفاده کنه. مقادیر مورد نیازش رو از استک برداره و عین اینکه هیچ اتفاقی نیفتاده به کارش ادامه بده. این میشه پایه یک کرنل preemptive یا انحصاری.
    من عین این روتینها رو تحت داس برای حل مسئله ای با حدود 50 خط C و 100 خط اسمبلی نوشتم.
  8. #8
    2008/02/10
    اطراف تهران
    411
    11

    پاسخ : نحوه کار کرنل های مولتی تسک

    سلام عباس آقا. اون کتاب پروژه های پیشرفته با C رو تونستید پیدا کنید؟ اگه پیدا کردید لطفا بفرمائید چجوریا بود(خوب توضیح داده بود و پروژه هاش بدردبخور بود)؟
    علیک سلم اقا رضا
    اقا ما رفتیم انقلاب از هر مغازه پرسیدیم گفت نداره چند تا هم اصلا گفتن همچین کتابی نیست.!!! oo:
    مطمئنی که اسم یا نویسند رو اشتباه نکردی؟؟؟
    این میشه پایه یک کرنل preemptive یا انحصاری.
    خیلی ممنون
    ولی بر عکس نگفتید!؟این کرنل نمیشه cooprative
    اگه ممکنه در مورد هر جفتش توضیح بدین؟؟؟
    ممنون از دوستان :nerd:
  9. #9
    2008/02/10
    اطراف تهران
    411
    11

    پاسخ : نحوه کار کرنل های مولتی تسک

    به این برنامه که نوشتم دقت کنید.توی این برنامه دو تا تسک داریم و هر تسک فقط یه لامپ ال ای دی رو خاموش روشن می کنه ولی لامپ مربوط به تسک 1 بیشتر روشنه یعنی زمان دقیق بین هر کدوم پخش نمی شه و یه جای کار ایراد داره نظر شما چیه؟
    program POP
    dim t_a00 as byte
    dim t_a01 as byte
    dim t_a02 as byte
    dim t_a10 as byte
    dim t_a11 as byte
    dim t_a12 as byte
    dim i,j,nn as byte
    sub procedure interrupt
    INTCON=$20
    TMR0L=0x00

    if nn=0 then
    t_a00=TOSL 'read top of stack
    t_a01=TOSH
    t_a02=TOSU

    TOSL=t_a10 'write top of stak
    TOSH=t_a11
    TOSU=t_a12
    else
    t_a10=TOSL 'read top of stack
    t_a11=TOSH
    t_a12=TOSU

    TOSL=t_a00 'write top of stack
    TOSH=t_a01
    TOSU=t_a02
    end if
    nn=1-nn 'change task flag
    end sub

    sub procedure T_1()
    while 1
    portj.5=1
    portj.5=0
    wend
    end sub

    sub procedure T_2()
    while 1
    portj.7=1
    portj.7=0
    wend
    end sub

    main:
    trisj=0
    portj=0
    T0CON=%11001111
    TMR0L=0x00
    INTCON=0xA0 'enable interupt
    nn=0
    t_a02=0x00 ''
    t_a01=0x00 'start address of T_1 in flash
    t_a00=0x7e ''

    t_a12=0x00 ''
    t_a11=0x00 'start address of T_2 in flash
    t_a10=0x86 ''

    while 1
    T_1()
    T_2()
    wend
    end.
  10. #10
    2007/11/21
    ایران - تهران
    352
    2
    mrh

    پاسخ : نحوه کار کرنل های مولتی تسک

    نقل قول نوشته اصلی توسط abbasmh
    علیک سلم اقا رضا
    اقا ما رفتیم انقلاب از هر مغازه پرسیدیم گفت نداره چند تا هم اصلا گفتن همچین کتابی نیست.!!! oo:
    مطمئنی که اسم یا نویسند رو اشتباه نکردی؟؟؟خیلی ممنون
    ولی بر عکس نگفتید!؟این کرنل نمیشه cooprative
    اگه ممکنه در مورد هر جفتش توضیح بدین؟؟؟
    ممنون از دوستان :nerd:
    سلام عباس آقا.
    بنده مطمئن بودم که گفتم. آخه یکی از بچه ها تو همین فروم معرفی کرده بود :
    http://www.eca.ir/forum2/index.php?topic=40312.msg199129#msg199129
    اینم سایت اختصاصی کتاب هست:
    http://www.havar.ir/pic_book.html

    ولی فکر کنم تو بازار به سختی گیر میاد.
    بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
    موفقيت پيش رفتن است نه به نقطه ي پايان رسيدن
    نلسون ماندلا
صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 31

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

  1. کرنل و اکتاو
    توسط arvin2014 در انجمن پردازش تصوير
    پاسخ: 0
    آخرين نوشته: 2014/03/28, 19:49
  2. پروژه ساخت مولتی مولتی متر auto range جییبی
    توسط aliila در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2013/10/19, 14:28
  3. کتاب کامل نحوه ی اندازه گیری و تست توسط مولتی مترها
    توسط behzadpersian در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 3
    آخرين نوشته: 2013/08/24, 23:04
  4. کمک : آقا چه طوری کرنل کامپایل کنم
    توسط vahidsport در انجمن خانواده Friendly ARM
    پاسخ: 3
    آخرين نوشته: 2013/07/12, 19:32
  5. نحوه تست خازن با مولتی متر دیجیتال
    توسط mapmap در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 3
    آخرين نوشته: 2012/08/21, 13:41

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

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

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

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

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