برای مشاهده روند ساخت پروژه ها و محصولات به کانال تلگرام ما بپیوندید           
  خانه محصولات دانلود پروژه ها بحث و گفتگو وبلاگ آموزشها و مقالات تماس با ما  

  فروم khazama.com --> الکترونیک دیجیتال --> انواع روشهای خطایابی میکروها

  پنج‌شنبه 13 دي 86 , 2:12 PM


مدیر سایت
behzad
تعداد پستها : 905
انواع روشهای خطایابی میکروها

درود .

به نظرم رسید که کمی در مورد خطایابی (Debugging) در میکرو ها بنویسم .

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

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

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

روش اول استفاده از سیمولاتور (Simulation) : این روش معمولتره و ساده تر و تغریبا اکثر موارد معمول رو میشه با این روش خطایابی کرد و محل خطا رو بدست آورد . توی این روش میکرو با استفاده از یک نرم افزار شبیه سازی میشه . این نرم افزار طوری طراحی شده که درست کار یک میکرو شبیه سازی کنه و در هر مرحله شما بتونید اتفاتی رو که توی میکرو میفته رو به صورت شبیه سازی شده نصویر کنید این مثل این میمونه که دارید با یک Play Station بسکتبال بازی میکنید!

باقیشو بعد مینویسم الان باید برم بیرون .

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  جمعه 14 دي 86 , 4:49 PM


کاربر فعال
HesamAVR
تعداد پستها : 53
نرم افزار پروتئوس هم خیلی قابل اطمینان نیست . برای من چند بار پیش آمد که در محیط پروتئوس اشتباه جواب می داد و در عمل درست . البته درست عمل کردن مد نظر بود و نتایج نادرست پروتئوس باعث سردرگمی شده بود .

  شنبه 15 دي 86 , 12:09 PM


مدیر سایت
behzad
تعداد پستها : 905
درسته بهتره برای شبیه سازی از نرم افزارهای مطمئن تری استفاده بشه . پروتوس و این نرم افزارها بیشتر آموزشی هستند تا یه چیز مطمئن .

برای میکرو من همیشه از Avr Studio که محصول خود Atmel هست استفاده میکنم .

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  شنبه 15 دي 86 , 12:23 PM


مدیر سایت
behzad
تعداد پستها : 905

ادامه بحث خطایابی (روش Simulation):

معمولا نرم افزارهای شبیه ساز دارای امکاناتی گرافیگی هستند که کاربر میتونه با دیدن این رابطها سخت افزار واقعی رو بهتر تصور کنه مثلا برای پورتهای خروجی یا تایمرها این نرم افزارها طوری ساخته میشن که کاربر با دیدن اونها توی نرم افزار راحت تر به وضعیت پورت پی ببره . همچنین این نرم افزارها میتونن برخی امکانمات جانبی میکرو ها مثل پورت سریال رو شبیه سازی کنن یعنی میتونن دریافت یا ارسال یکسری اطلاعات رو از طریق پورت سریال میکرو شبیه سازی کنن .
برخی هم میتونن زمان واقعی هر دستور رو محاسبه کنن مثلا محاسبه کنن که این حلقه for یا این دستور if که در حال اجرا هست روی میکرو و در شرایط واقعی مثلا چند میکرو ثانیه برای اجرا زمان نیاز داره البته برای اینکار باید سرعت کلاک میکرو توی نرم افزار شبیه ساز تنظیم بشه . 
دیگر امکانات برخی شبیه سازها تخمین میزان اشغال زمان پردازنده برای هر تابع از برنامه هست مثلا تخمین زده میشه که تابع Test چند درصد از زمان پردازنده رو اشغال میکنه . البته اینها ممکنه زیاد در کارهای معمول استفاده نشن و بیشتر همون اجرای خط به خط برنامه و مشاهده تغییرات توی رجیسترها و عملکرد کلی مد نظر باشه .

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  شنبه 15 دي 86 , 6:10 PM


کاربر فعال
HesamAVR
تعداد پستها : 53
آره . AVR Studio  خیلی عالیه . فقط برای میکروهایی که Jtag ندارند باید خودمان دستی مقادیر بدهیم تا میکرو تست بشه . من با Mega8 بیشتر کار می کنم . به همین دلیل تست درون مداری رو نمی تونم با این میکرو انجام بدم . حیفه ! .

  سه‌شنبه 18 دي 86 , 10:24 AM


مدیر سایت
behzad
تعداد پستها : 905

ادامه بحث خطایابی (روش Simulation):

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

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

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  صفحه : [1]    
 
 


Designer And Programmer : Behzad khazama
Coded With ASP.NET
تمامي حقوق مادي و معنوي مطالب متعلق به اين سايت ميباشد .
هر گونه استفاده از مطالب اين سايت تنها با ذکر منبع بلامانع ميباشد
.
www.khazama.com
Tel : 051-44641597 - 09363677001 - 09155714862
Support SMS Center: 09363677100