پاسخ : کامپایلر IAR
سلام . یه سوال
مقدار RSTACK و CSTACK رو چجوری باید تعیین کرد ؟
تو کدویژن خود کامپایلر میگفت که فرضا حدود X بایت برای Stack نیاز داری .
تو IAR من فایل map رو ایجاد کردم و داخلش دیدم که مقدار CSTACK از 0x400 بیشتر نمیشه و من گذاشتم 0x600 ، اما دیدم برنامه قاطی کرد. گذاشتم 0x800 بهتر شد اما دیگه بیشترش تاثیری رو کار نداشت. متغیر هام که تو حافظه خارجی تعریف کردم و چیپم هم atxmega128a1 هست. حافظه خارجیم هم 512k هست.
متغیرهام هیچ کدوم overlap ندارند و از رنج بافرشون هم نمیزارم بیشتر بشن و محدود میکنم . اما بازم یه دفعه مثلا یه بافر 65000 بایتی که فعلا من کمتر از 10 کیلو ازش استفاده میکنم میزنه همه چی رو قاطی میکنه.
من تو برنامه از کلاسها زیاد استفاده کردم و برنامم تقریبا اونجوری در اومده که میخواستم ، امکان داره که کلاسها باعث بشن کامپایلر نتونه درست عمل کنه؟
سلام . یه سوال
مقدار RSTACK و CSTACK رو چجوری باید تعیین کرد ؟
تو کدویژن خود کامپایلر میگفت که فرضا حدود X بایت برای Stack نیاز داری .
تو IAR من فایل map رو ایجاد کردم و داخلش دیدم که مقدار CSTACK از 0x400 بیشتر نمیشه و من گذاشتم 0x600 ، اما دیدم برنامه قاطی کرد. گذاشتم 0x800 بهتر شد اما دیگه بیشترش تاثیری رو کار نداشت. متغیر هام که تو حافظه خارجی تعریف کردم و چیپم هم atxmega128a1 هست. حافظه خارجیم هم 512k هست.
متغیرهام هیچ کدوم overlap ندارند و از رنج بافرشون هم نمیزارم بیشتر بشن و محدود میکنم . اما بازم یه دفعه مثلا یه بافر 65000 بایتی که فعلا من کمتر از 10 کیلو ازش استفاده میکنم میزنه همه چی رو قاطی میکنه.
من تو برنامه از کلاسها زیاد استفاده کردم و برنامم تقریبا اونجوری در اومده که میخواستم ، امکان داره که کلاسها باعث بشن کامپایلر نتونه درست عمل کنه؟
دیدگاه