NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4030 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 12 از 12

موضوع: درخواست راهنمایی برای تنظیمات کدویژن

  1. #1
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض درخواست راهنمایی برای تنظیمات کدویژن

    درخواست راهنمایی برای تنظیمات کدویژن
    سلام.
    من توی کدویژن از مسیر project->configure->c compiler تنظیمات بخش ram را مطابق عکس زیر تغییر دادم.مقدار قسمت مشخص شده در ابتدا 256 بود و من الان اونو به 512 تغییر دادم.
    میخاستم بدونم این تغییر چه مشکلاتی را در ادامه کار برام بوجود میاره؟؟؟


  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام
    يه مقدار توضيحش سخته اما فكر ميكنم به اين صورته:
    شما فرض كنيد برنامه اي نوشتيد كه حدودا 2000 خط ميشه. مثلا 50 خط آخر اين برنامه يه تابع تعريف كرديم كه تو برنامه اصلي فراخواني ميشه. در اين تابع تعريف كرديم اگه فلان كار انجام نشه توسط دستور goto به برنامه اصلي(main) برگرده خوب نكته مهم همين جاست اگه مقداري كه براي Data Stack size مشخص كرديم خارج از فضاي قابل آدرس توسط دستور goto باشه برنامه دچار اختلال ميشه و نميتونه كاري كه ازش خواسته شده رو انجام بده(يعني نميتونه به برنامه اصلي برگرده).
    فرض كنيد تو برنامه اي كه نوشتيم 20 تابع تعريف كرديم.
    نميدونم خوب توضيح دادم يا نه؟
    البته اگه دوستان مشكلي در توضيح ميبينن خواهش ميكنم عنوان كنن.
    به هر صورت اگه بازم سوالي هست مطرح كنيد.
    _____________________________________
    _____________________________________

  4. تشکرها از این نوشته :


  5. #3
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    سلام .
    تشکر ویژه از مهندس محمدی
    مهندس محمدی با توضیحات شما تازه یادم افتاد stack چی هست.اگه اشتباه میگم تصحیح بفرماین :
    stack اون بخش از حافظه است که آدرس برگشت را در خودش ذخیره میکنه؟؟؟؟؟

    خوب حالا من باید چکار کنم؟؟؟اگه مقدارش را همون 256 پیشفرض بذارم،به هنگام کامپایل یه پیغام به صورت زیر میده :



    اگر زیادش کنم ممکنه برخی دستورات اجرا نشه.درست میگم؟؟؟؟؟؟

    شما بگین من چه کنم ؟؟؟

  6. #4
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    علاوه بر ادرس برگشت توابع ، متغیر های لوکال و همچنین ذخیره ریجسترهایی که در تابع به عنوال متغیر لوکال استفاده میشوند هم هست.(البته چیزهایی دیگری هم هست ولی نه در ای وی ار )
    احتمالا شما یه بافر پر حجم رو در یک تابع تعریف کردید که این خطا رو بهتون میده
    بهتون پیشنهاد میکنم متغیرهای با این حجم رو همیشه به صورت global و static تعریف کنید تا هم
    بهینه سازی روش انجام بشه و هم امنیت متغیرتون رو تامین کنه . شاید احتیاج به volatile هم باشه .:دی

  7. کاربران : 3 تشکر کرده اند از شما mrm برای ارسال این پست سودمند:


  8. #5
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mrm نمایش پست ها
    احتمالا شما یه بافر پر حجم رو در یک تابع تعریف کردید که این خطا رو بهتون میده
    بله.دقیقا همین کار را کردم.میشه شما یه بافر بصورت globalو staticتعریف کنید.من زبان c را زیاد بلد نیستم.

  9. #6
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    وقتی میگیم متغیر global باشه یعنی خارج از توابع باشه ( و دیگه در همه توابع قابل استفاده هست )
    و وقتی صفت استاتیک رو به یک متغیر global میدیم یعنی فقط در همون فایل سی قابلیت استفاده داره
    static unsigned char buffer[256]={0};m

  10. کاربران : 3 تشکر کرده اند از شما mrm برای ارسال این پست سودمند:


  11. #7
    کاربر فعال naatamam آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    حسن معماری
    نوشته ها
    283
    تشکر
    287
    تشکر شده 877 بار در 286 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mrm نمایش پست ها
    بهتون پیشنهاد میکنم متغیرهای با این حجم رو همیشه به صورت global و static تعریف کنید تا هم
    بهینه سازی روش انجام بشه و هم امنیت متغیرتون رو تامین کنه . شاید احتیاج به volatile هم باشه .:دی
    منظور از volatile چی هست ؟ کمی توضیح بدهید

  12. تشکرها از این نوشته :


  13. #8
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    این صفت به کامپایلر دستور میدهد که بهینه سازی روی متغیر انجام نده
    فرض کنید یک متغیر تعریف کدید و فقط از این متغیر در قسمتی از کد اسمبلی استفاده کدید
    و چون بعضی از کامپایلرها کدهای اسمبلی داخل کد سی رو پارس نمیکنند ، پس به اشتباه فکر میکنند که
    متغیر شما استفاده نشده و اون رو حذف میکنند. این صفت در اینجاها کاربرد داره
    یا مثلا زمانی که میخواید یک متغیر رو در 2 فایل سی به هم مربوط کنید با استفاده از Extern

  14. کاربران : 3 تشکر کرده اند از شما mrm برای ارسال این پست سودمند:


  15. #9
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    دایی جان اصلا مهم نیست که استیک رو چقدر تغییر میدی ، من گاهی لازم شده این مقدار رو 512 قرار دادم !
    شما وقتی یه تابع رو توی تابع دیگه صدا میزنی متغییر ها توی این بخش از حافظه پوش میشن ، حالا هرچی توابع تو در توی بیشتری داشته باشی حافظه بیشتری میگره ، اگه مقدار کافی نباشه ، میکرو هنگ میکنه و باید ریستش کرد پس از این نترس که مقدارش رو زیاد کردی

  16. #10
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2011
    نام
    محمد مهدی صفی
    نوشته ها
    28
    تشکر
    22
    تشکر شده 2 بار در 2 پست

    پیش فرض

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

  17. #11
    کاربر دائمی
    تاریخ عضویت
    Jun 2009
    نام
    روح الله خرم بخت
    نوشته ها
    403
    تشکر
    456
    تشکر شده 591 بار در 214 پست

    پیش فرض

    کدتون رو اینچا بذارید تا بهتر بتونیم کمک کنیم

  18. #12
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2011
    نام
    محمد مهدی صفی
    نوشته ها
    28
    تشکر
    22
    تشکر شده 2 بار در 2 پست

    پیش فرض

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

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

  1. راهنمایی برای اندازه گیری زاویه؟
    توسط pirozy در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 11
    آخرين نوشته: 03-11-2013, 21:04
  2. پاسخ: 16
    آخرين نوشته: 05-06-2013, 13:06
  3. هیچ سند راهبردی جهت توسعه رباتیک تدوین نشده است.
    توسط ROBOTICS در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 2
    آخرين نوشته: 19-03-2012, 13:22
  4. کدام یک راست می گویند؟!
    توسط رهتازالکترونیک در انجمن گفت و گوي آزاد
    پاسخ: 6
    آخرين نوشته: 28-12-2011, 00:31
  5. کی‌لاگر چیست و چگونه از دست آن خلاص شویم؟
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 03-05-2010, 11:37

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

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