اطلاعیه

Collapse
No announcement yet.

* مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

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

    * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

    سلام دوستان!
    داخل کدویژن (آخرین ورژن)این ارور رو میده:
    "Linker error: global RAM variables size: 1361 bytes is too large"
    که ارورش مربوط به خطای برنامه نویسی و... نیست
    از مگا32 استفاده میکنم، حجم برنامه بالاست، من فقط 3بایت به eeprom اضافه کردم که این ارور رو داد(قبلش مشکلی نداشت)، بعدشم حدود 15بایت از متغیرهای عمومی حذف کردم، اما این ارور همچنان پابرجاست.
    راه حلش(به غیر کاهش متغیرهای عمومی) چیه به نظرتون؟
    راستی اینم جالبه:
    Hardware Stack area: 0x86D to 0x85F
    Hardware Stack size: -13 byte oo:
    اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

    #2
    پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

    فک میکنم مشکل(شایدم باگ!) کامپایلر کدویژن بوده!!
    گیرش داخل یک کروشه خاص بود که رشته ای رو چاپ میکرد، یکم دستکاریش کردم رفع شد، اما خب دلیلش رو نفهمیدم؟!
    (البته بگم که این ارور رو در مرحله Optimization صادر میکرد)
    اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

    دیدگاه


      #3
      پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

      راه حلش رو هم یافتم(اما همچنان برام سواله که چرا با اینکه متغیرهای عمومی رو حدف میکردم،پیغام خطا رفع نمی شد و یا تغییر نمیکرد؟!)
      از این مسیر باید اندازه on-chip RAM رو تغییر داد:
      Project/Configure/C Compiler/Advanced
      فقط امیدوارم چششو کور نکرده باشم :mrgreen:
      اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

      دیدگاه


        #4
        پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

        نوشته اصلی توسط ☺بابابرقی☺
        راه حلش رو هم یافتم(اما همچنان برام سواله که چرا با اینکه متغیرهای عمومی رو حدف میکردم،پیغام خطا رفع نمی شد و یا تغییر نمیکرد؟!)
        از این مسیر باید اندازه on-chip RAM رو تغییر داد:
        Project/Configure/C Compiler/Advanced
        فقط امیدوارم چششو کور نکرده باشم :mrgreen:
        من برای رفع همین مشکل با استفاده از مسیر
        Project/Configure/C Compiler/Code Generation
        تیک گزینه
        Store Global Constants in Flash Memory
        رو گذاشتم و با تعریف متغییر عومومیم که 1024 بایتی بود به عنوان const مشکلم حل شد.
        در ضمن با تشکر فراوان از بابابرقی به دلیل این ایده که مشکلم رو حل کرد.

        دیدگاه


          #5
          پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

          دوستان روش جالبی را دادند
          میتونستید از همون ابتدا متغییرهای ثابت رو در flash ذخیره میکردید به شکل زیر
          flash char buff[]];
          که اگر با کدویژن استفاده کنید کلمه ی flash بنفش میشه

          دیدگاه


            #6
            پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

            نوشته اصلی توسط ☺بابابرقی☺
            راه حلش رو هم یافتم(اما همچنان برام سواله که چرا با اینکه متغیرهای عمومی رو حدف میکردم،پیغام خطا رفع نمی شد و یا تغییر نمیکرد؟!)
            از این مسیر باید اندازه on-chip RAM رو تغییر داد:
            Project/Configure/C Compiler/Advanced
            فقط امیدوارم چششو کور نکرده باشم :mrgreen:
            دوست عزیز با این کار به قولی برنامه رو گول زدی
            آیا مشکلی در اجرای برنامه پیش نمی آید؟
            مثلا اینکه میکرو هنگ کنه به خاطر اینکه اضافه بر آن حجم SRAM میکرو پر شده

            دیدگاه


              #7
              پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

              نوشته اصلی توسط ShahiMV
              دوستان روش جالبی را دادند
              میتونستید از همون ابتدا متغییرهای ثابت رو در flash ذخیره میکردید به شکل زیر
              flash char buff[]];
              که اگر با کدویژن استفاده کنید کلمه ی flash بنفش میشه
              نمیتونستم!!
              چون اونا متغیر بودند، اما عمومی و ثابت نبودند که از flash استفاده کنم

              نوشته اصلی توسط ShahiMV
              دوست عزیز با این کار به قولی برنامه رو گول زدی
              آیا مشکلی در اجرای برنامه پیش نمی آید؟
              مثلا اینکه میکرو هنگ کنه به خاطر اینکه اضافه بر آن حجم SRAM میکرو پر شده
              خب وقتی کامپایلر می خواد ما رو بپیچونه، خوب ما هم سرشو گول میمالیم دیگه :mrgreen:
              خیلی وقت از این موضوع گذشته، اما تا جایی که یادمه به نظرم باگ میومد و ارورش منطقی نبود oo:
              -نه، به همچین مشکلی برنخوردم
              اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

              دیدگاه


                #8
                پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

                دوستان سلام
                من به همین مشکل تو کامپایل برنامم بر خوردم همه این روش هایی هم که اینجا گفتید رو انجام دادم
                ولی بازم فایده ای نداره :cry2:
                بعد از اینکه این error رو گرفتم خط به خط برنامم رو خوندم حتی خیلی سبکترش کردم
                اون عدد توی error کم شد ولی بازم خطا میده
                کسی نمیتونه کمکم کنه؟؟ واقعا دیگه کاری به ذهنم نمیرسه که انجام بدم :angry: :cry2: :angry: :angry: :angry:

                دیدگاه


                  #9
                  پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

                  نوشته اصلی توسط ameen.kh
                  دوستان سلام
                  من به همین مشکل تو کامپایل برنامم بر خوردم همه این روش هایی هم که اینجا گفتید رو انجام دادم
                  ولی بازم فایده ای نداره :cry2:
                  بعد از اینکه این error رو گرفتم خط به خط برنامم رو خوندم حتی خیلی سبکترش کردم
                  اون عدد توی error کم شد ولی بازم خطا میده
                  کسی نمیتونه کمکم کنه؟؟ واقعا دیگه کاری به ذهنم نمیرسه که انجام بدم :angry: :cry2: :angry: :angry: :angry:
                  مشکلتون حل شد؟
                  Reveng will surely come... Your hard time are ahead
                  // - - - - - - - - - -
                  برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
                  // - - - - - - - - - -
                  اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
                  // - - - - - - - - - -

                  دیدگاه


                    #10
                    پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

                    نوشته اصلی توسط سعید خیری
                    مشکلتون حل شد؟
                    بله
                    خدا رو شکر حل شد
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      #11
                      پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

                      منم همین مشکل رو دارم نمیدونم چطوری منطقی حلش کنم
                      جالبه با اینکه من روی M32 فقط 30 درصد برنامه ریختم اما حجم global ram = 1750
                      برای stack size = 512 تعریف کردم

                      باید یه تغیراتی توی برنامه نویسی و تعریف متغیرهام بدم ؟؟؟؟؟؟!!
                      ؟؟؟؟؟؟
                      Time is jewel

                      دیدگاه


                        #12
                        پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

                        نوشته اصلی توسط بهنام
                        منم همین مشکل رو دارم نمیدونم چطوری منطقی حلش کنم
                        جالبه با اینکه من روی M32 فقط 30 درصد برنامه ریختم اما حجم global ram = 1750
                        برای stack size = 512 تعریف کردم

                        باید یه تغیراتی توی برنامه نویسی و تعریف متغیرهام بدم ؟؟؟؟؟؟!!
                        ؟؟؟؟؟؟
                        سلام
                        برنامه خودتون را بگذارید تا ببینیم مشکلتون از کجاست ...

                        بد نیست که یکسری به این تاپیک هم بزنید
                        http://www.eca.ir/forum2/index.php?topic=95173.0
                        موفق باشید
                        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                        معرفی نرم افزار Codewizard PWM
                        با من بیشتر آشنا شوید

                        دیدگاه


                          #13
                          پاسخ : * مشکل عجیب کمبود "GLOBAL RAM" در کدویژن

                          برای من هم همین پیغام میاومد
                          Linker error: global RAM variables size: 1293 bytes is too large
                          با تعریف دو متغیر بزرگ که جدول بود مشکل حل شد
                          مثلا اینطوری: ... flash unsigned char )
                          گویند سنگ لعل شود در مقام صبر اری شود ولی به خون جگر شود
                          همیشه آخر همه چیز خوبه، اگر هم هنوز خوب نشده پس هنوز آخرش نشده(چارلی چاپلین)

                          دیدگاه

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