اطلاعیه

Collapse
No announcement yet.

مشکل sram در کد ویژن

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل sram در کد ویژن

    با سلام و درود خدمت دوستان عزیز
    من به تازگی با یک مشکل کاملا عجیب در کد ویژن برخورد کردم
    Linker error: global RAM variables size: 813 bytes is too large

    میکرو ما atmega16l
    تمام متغییر های سراسری را چک کردم بالا پایین کردم bit var توی تنظیمات پروژه کم و زیاد کردم اما همچنان پاورجا است oo: oo: :angry:
    به تازگی من این مشکل را توی کد ویژن برخورد کردم و برام خیلی عجیب بود مگه مگا 16 یک کیلو sram نداره ؟!؟! :nerd:
    به دلیل حجم 94 درصدی فلش برنامه امکان ارایه کد نیست :nice:

    #2
    پاسخ : مشکل sram در کد ویژن

    منم به این مشکل بر خوردم بعد از کلی چک کردن برنامه فهمیدم که تعداد متغیر هایی که معرفی کردم زیاد بود
    مجبور شدم از یک متغییر چندین با ر استفاده کنم تا حجم اون کم شه
    اگر بازم مجبوری استفاده کنی تنظیمات را به مگا 32 تغییر بده ببین مشکلت حل میشه

    دیدگاه


      #3
      پاسخ : مشکل sram در کد ویژن

      نوشته اصلی توسط ramin20007
      منم به این مشکل بر خوردم بعد از کلی چک کردن برنامه فهمیدم که تعداد متغیر هایی که معرفی کردم زیاد بود
      مجبور شدم از یک متغییر چندین با ر استفاده کنم تا حجم اون کم شه
      اگر بازم مجبوری استفاده کنی تنظیمات را به مگا 32 تغییر بده ببین مشکلت حل میشه
      من تنظیمات را به atmega32 بردم و مشکل حل شد
      راهی وجود ندارد من بتونم سر کامپایلر با همون مگا 16 گول بزنم :biggrin:
      آخه این مشکل بعد از تعریف متغییر آخر به وجود آمد global ram من اونموقع 303 بود بعد از متغییر آخر این مشکل به وجود آمد و 500 آمد روی حجمش
      من متغییر آخر پاک کردم اما مشکل باقی موند چرا ؟!!؟! متغییر آخر من هم یک داده از نوع bit بود oo:
      این چگونه است؟ :eek: :sad:

      دیدگاه


        #4
        پاسخ : مشکل sram در کد ویژن

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

        دیدگاه


          #5
          پاسخ : مشکل sram در کد ویژن

          نوشته اصلی توسط FreeMen
          با سلام و درود خدمت دوستان عزیز
          من به تازگی با یک مشکل کاملا عجیب در کد ویژن برخورد کردم
          Linker error: global RAM variables size: 813 bytes is too large

          میکرو ما atmega16l
          تمام متغییر های سراسری را چک کردم بالا پایین کردم bit var توی تنظیمات پروژه کم و زیاد کردم اما همچنان پاورجا است oo: oo: :angry:
          به تازگی من این مشکل را توی کد ویژن برخورد کردم و برام خیلی عجیب بود مگه مگا 16 یک کیلو sram نداره ؟!؟! :nerd:
          به دلیل حجم 94 درصدی فلش برنامه امکان ارایه کد نیست :nice:
          سلام
          بفرمایید، امیدوارم مفید واقع بشه:
          http://www.eca.ir/forum2/index.php?topic=56935.msg307283#msg307283
          اونچیزی که در دانشگاه یاد میگیرید، "الفبایی" هست برای نوشتن یک "رمان" !!

          دیدگاه


            #6
            پاسخ : مشکل sram در کد ویژن

            نوشته اصلی توسط ramin20007
            من نمیدونم برنامتونو چه جوری نوشتین ولی زمانی که یک متغیر تعریف میکنید avr باید بتونه حافظه مورد نظر در اختیار اون متغیر قرار بده در واقع رزرو میشه
            راه پیشنهادی من اینکه سعی کنی از یک متغیر چند بار استفاده کنی و مجدد اونو صفر کنی
            یا از توابع استفاده کنی و متغییر ها رو اونجا تعریف کنی که زمانی که به اون نیاز هست مورد استفاده قرار بگیره
            داداش من تمام متغییرمو یکی کردم اما باز همین خطا را میده اما مقدار آن 620 bit است میشه بگب متغییر های global شامل چیه؟ :nerd: oo:
            مگه مربوط به متغییر های سرارسری کلی نمیشه ؟! oo:
            آیا توابعی که مقدار برگشتی دارند یا برچسب ها .. نیز شامل این global میشه ...!
            من هنوز هم موضوع global var برام جا نیوفتاده مگه sram این میکرو 1 کیلو نیست پس global var چیست؟ آیا خود sram شامل طبقه بندی می شود یا میشه این طبقه بندی تغییر داد؟

            دیدگاه


              #7
              پاسخ : مشکل sram در کد ویژن

              نوشته اصلی توسط ☺بابابرقی☺
              سلام
              بفرمایید، امیدوارم مفید واقع بشه:
              http://www.eca.ir/forum2/index.php?topic=56935.msg307283#msg307283
              همینکه به موضوع اهمیت دادید برای ما یک دنیا ارزش داره ...
              راه حلش رو هم یافتم(اما همچنان برام سواله که چرا با اینکه متغیرهای عمومی رو حدف میکردم،پیغام خطا رفع نمی شد و یا تغییر نمیکرد؟!)
              از این مسیر باید اندازه on-chip RAM رو تغییر داد:
              Project/Configure/C Compiler/Advanced
              فقط امیدوارم چششو کور نکرده باشم
              فقط یک سوال:ورژن من استاندارد چگونه Advanced تغییر بدم ورژن Advanced نصب کردم 100 خطا داد از برنامه ام این کد ویژن هم داره بعد از 1 سال ما را پشیمان می کنه ها هی خطا های الکی می گیره ...
              در ضمن چگونه باید این مقدار تغییر داد از ابتدا زیاد کنیم یا از انتها .... :nerd:

              دیدگاه


                #8
                پاسخ : مشکل sram در کد ویژن

                تو بخش Project Configuration مقدار Data Stack Size رو تغییر بده تا مشکل سایز رمت حل بشه.

                دیدگاه


                  #9
                  پاسخ : مشکل sram در کد ویژن

                  نوشته اصلی توسط FreeMen
                  همینکه به موضوع اهمیت دادید برای ما یک دنیا ارزش داره ... فقط یک سوال:ورژن من استاندارد چگونه Advanced تغییر بدم ورژن Advanced نصب کردم 100 خطا داد از برنامه ام این کد ویژن هم داره بعد از 1 سال ما را پشیمان می کنه ها هی خطا های الکی می گیره ...
                  در ضمن چگونه باید این مقدار تغییر داد از ابتدا زیاد کنیم یا از انتها .... :nerd:
                  خواهش می کنم

                  اون ورژن advance که شما نصب می کنی کرک هستش و همینجوری می نویسه advance!
                  اگر واقعا advance می خوایید باید بخرید

                  از انتها(اگه درست یادم مونده باشه :redface

                  در ضمن این کدویژن اینقدا هم داغون نیست، من بعضی ارور ها رو که فکر می کیردم بی دلیله، بعدها دلیل فنیش رو فهمیدم(دلیل بعضی از ارورها واقعا دور از انتظاره!)، البته بماند که تک و توکیش واقعا سرکاریه :mrgreen:
                  اونچیزی که در دانشگاه یاد میگیرید، "الفبایی" هست برای نوشتن یک "رمان" !!

                  دیدگاه

                  لطفا صبر کنید...
                  X