اطلاعیه

Collapse
No announcement yet.

رفع ارورر out of rom در 16f877a

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

    رفع ارورر out of rom در 16f877a

    سلام دوستان

    از دوستان تا حالا کسی زمان کامپال کردن برنامه خودش در نرم افزار ccs (از من ورژن 5.012)
    با ارورر out of rom is too larg main برخورد کرده؟

    یا از دوستان کسی راه حلی برای رفع ارورر داره ؟


    تا قبل از اضافه کردن یه تابع مقدار Romو Ram به شکل بالاست
    زمانی که تابع به قسمت MAIN اضافه میشه با ارورر مواجه میشه
    که میگه خارج از رم هست و مین بزرگ است.
    دوستان یاری برسانند اونایی که بلدن

    اضافه شده در تاریخ :

    اید segment ها رو تغییر داد
    یه چیزای توی خود سایت شرکتش هست
    یکم برام گنگه
    https://www.ccsinfo.com/forum/viewtopic.php?p=55063
    یه نگاه بندازن دوستان ببیند
    چیزی دستگیرشون میشه که بشه کمک کنند.

    #2
    پاسخ : رفع ارورر out of rom در 16f877a

    بسم الله الرحمن الرحیم


    با احترام خدمت شما عرض شود که بنده کاربر کامپایلر PICBASIC هستم. اما صرفا جهت بررسی مجدد اطلاعات عرض میشود که ملاک اندازه گیری ابعاد و اندازه و حجم برنامه به واحدی به نام کلمه = WORD سنجیده می شود.در PIC16F877A اندازه مجاز قابل دانلود برنامه به میکرو برابر 8192 دستور تک کلمه ای یا 14.3 کیلو بایت است. به نظر نمی رسد حجم برنامه جنابعالی به این ابعاد رسیده باشد .

    موضوع مهم بعدی این است که بنده از مدیر محترم و ارزشمند گروه جناب آقای مهندس مستقیمی شنیده ام که بعضی از نسخه های این کامپایلر شما ایراداتی دارند که اگر حجم از حد بگذرد کامپایل نمی کنند و یا اگر کامپایل شوند درست اجرا نمی شوند. زیرا اصل برنامه پولی است و شما شاید دارید بدون پرداخت وجه و هزینه ان از این نرم افزار بهره برداری می کنید.

    نوشته اصلی توسط sarbaz13
    .... کسی نیست کمک ما کنه؟
    در این تالار فراوان انسانهای شریف و برجسته و باسوادی حضور دارند که بی شائبه و بی چشمداشت کمک می کنند. خیلی هم متواضع هستند. اینقدر زیاد که نمیشه اسم آورد و ... اما روز جمعه اکثرن به استراحت مشغولند. و . . . .

    در آخر اینکه یک نگاهی به گران ترین 1000$ و راحت ترین و بی دردسر ترین کامپایلر یعنی کامپایلر PICBASIC محدوده ورژن 2.41 تا 2.50 بیندازید که در محدود چیپ هایی که پوشش می دهند ، کاملا بدون نقص هستند و این نسخه ها به دلیل ارائه نسخه 3 ، رایگان در دسترس قرار دارند. بیندازید شاید نظرتان عوض شد. سابقه 15 ساله دارد. تا الان البته ! !
    والسلام علي من اتبع الهدي .... و درود بر کساني که راه هدايت را دنبال مي کنند.

    هوشمندانه بپرسيد...

    دیدگاه


      #3
      پاسخ : رفع ارورر out of rom در 16f877a

      نوشته اصلی توسط sarbaz13
      تا قبل از اضافه کردن یه تابع مقدار Romو Ram به شکل بالاست
      زمانی که تابع به قسمت MAIN اضافه میشه با ارورر مواجه میشه
      که میگه خارج از رم هست و مین بزرگ است.
      من PIC بلد نیستم ولی فکر کنم حجم کدی که تولید میشه بیشتر از حافظه میکرو باشه.
      برنامه رو از جای دیگه COPY و PASTE کردی یا خودت نوشتی؟؟

      دیدگاه


        #4
        پاسخ : رفع ارورر out of rom در 16f877a

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

        اضافه شده در تاریخ :
        نوشته اصلی توسط رضا اصغریان
        بسم الله الرحمن الرحیم


        با احترام خدمت شما عرض شود که بنده کاربر کامپایلر PICBASIC هستم. اما صرفا جهت بررسی مجدد اطلاعات عرض میشود که ملاک اندازه گیری ابعاد و اندازه و حجم برنامه به واحدی به نام کلمه = WORD سنجیده می شود.در PIC16F877A اندازه مجاز قابل دانلود برنامه به میکرو برابر 8192 دستور تک کلمه ای یا 14.3 کیلو بایت است. به نظر نمی رسد حجم برنامه جنابعالی به این ابعاد رسیده باشد .

        موضوع مهم بعدی این است که بنده از مدیر محترم و ارزشمند گروه جناب آقای مهندس مستقیمی شنیده ام که بعضی از نسخه های این کامپایلر شما ایراداتی دارند که اگر حجم از حد بگذرد کامپایل نمی کنند و یا اگر کامپایل شوند درست اجرا نمی شوند. زیرا اصل برنامه پولی است و شما شاید دارید بدون پرداخت وجه و هزینه ان از این نرم افزار بهره برداری می کنید.

        در این تالار فراوان انسانهای شریف و برجسته و باسوادی حضور دارند که بی شائبه و بی چشمداشت کمک می کنند. خیلی هم متواضع هستند. اینقدر زیاد که نمیشه اسم آورد و ... اما روز جمعه اکثرن به استراحت مشغولند. و . . . .

        در آخر اینکه یک نگاهی به گران ترین 1000$ و راحت ترین و بی دردسر ترین کامپایلر یعنی کامپایلر PICBASIC محدوده ورژن 2.41 تا 2.50 بیندازید که در محدود چیپ هایی که پوشش می دهند ، کاملا بدون نقص هستند و این نسخه ها به دلیل ارائه نسخه 3 ، رایگان در دسترس قرار دارند. بیندازید شاید نظرتان عوض شد. سابقه 15 ساله دارد. تا الان البته ! !
        سلام خدمت آقا اصغریان
        خوب من به زبان C نوشتم برنامه خودم رو
        الان مهاجرت به BASIC نه وقتش هست نه عاقلانست.
        کامپایلر C که به درد بخور باشه هم کمه
        MPLAB XC8 هست که اونم باید دوباره براش کتابخونه بنویم تازه
        حالا نمیدونم چطوری باید به C بنویسم که جواب بده
        مثلا یکیش کتابخونه LCD4*20 iهستش که برای CCS نوشته شده
        که به صورت منوال می تونم برای هر پایه بنویسم
        الن توی MPLAB XC* نمی دون چطور باید بنویسم و تغییرش بدم؟
        اصلا کتابخونه هاش کجا هست
        بعدم برای تاخیر و تایمرشم هست.
        واقعا الن به شدت نیاز به کمک دارم
        لطفا دوستان یکه میشناسید و علمش رو دارند بگین بیان
        و ای ن مشکل ما رو حل کنند.

        دیدگاه


          #5
          پاسخ : رفع ارورر out of rom در 16f877a

          سلام.
          ساده ترین و البته گرون ترین پیشنهاد، تغییر میکروکنترلر به سری 18F هست که RAM یشتری داره. مثلا 18F452 یا 18F4520 و...
          مطلبی که در ابتدا آزار دهنده هست، مقایسه ی مورد به موردی میکرو سری MEGA با PIC16F هست که از خیلی جهات سری MEGA یه سر و گردن بالاتر هست مخصوصا حجم RAM و حافظه. شخصا ترجیح میدم اگر قرار باشه سری MEGA رو با یکی از خانواده های PIC جایگزین کنم، بدون بررسی زیاد، مستقیم برم سراغ سری 18F

          دیدگاه


            #6
            پاسخ : رفع ارورر out of rom در 16f877a

            نوشته اصلی توسط شاهرخ مستقیمی
            سلام.
            ساده ترین و البته گرون ترین پیشنهاد، تغییر میکروکنترلر به سری 18F هست که RAM یشتری داره. مثلا 18F452 یا 18F4520 و...
            مطلبی که در ابتدا آزار دهنده هست، مقایسه ی مورد به موردی میکرو سری MEGA با PIC16F هست که از خیلی جهات سری MEGA یه سر و گردن بالاتر هست مخصوصا حجم RAM و حافظه. شخصا ترجیح میدم اگر قرار باشه سری MEGA رو با یکی از خانواده های PIC جایگزین کنم، بدون بررسی زیاد، مستقیم برم سراغ سری 18F
            سلام آقا شاهرخ
            حرف شما درست ولی mega8 هم مثل 16f877aدارای 8K حافظه دارد
            ولی خوب کلا میخواستم علت اررور رو بدون شما میگین که rom پر شده و کم آورده
            در صورتی که فکر کنم کم نیاورده و یه نکته هست توی ccs که نمیزاره بقیه رم پر بشه
            الان برای من برای LCD_gotoxy زده 37% از ROM رو گرفته :eek: :eek: :eek:
            این الان یعنی چی؟مگه میشه یه دستور این همه حافظه رو پر کنه؟

            دیدگاه


              #7
              پاسخ : رفع ارورر out of rom در 16f877a

              نوشته اصلی توسط شاهرخ مستقیمی
              سلام.
              ساده ترین و البته گرون ترین پیشنهاد، تغییر میکروکنترلر به سری 18F هست که RAM یشتری داره. مثلا 18F452 یا 18F4520 و...
              مطلبی که در ابتدا آزار دهنده هست، مقایسه ی مورد به موردی میکرو سری MEGA با PIC16F هست که از خیلی جهات سری MEGA یه سر و گردن بالاتر هست مخصوصا حجم RAM و حافظه. شخصا ترجیح میدم اگر قرار باشه سری MEGA رو با یکی از خانواده های PIC جایگزین کنم، بدون بررسی زیاد، مستقیم برم سراغ سری 18F
              توی همون سری 16 هم میکرویی مثل 16f1947 خیلی سرتره که من باهاش زیاد کار کردم
              در مورد rom هم اگر مطمئنید برنامه از 14 کیلو بیشتر نشده بدونید که مشکل کرک ccs هست. چون این ارور رو خیلی دیدم و خیلی مواقع با تغییر کوچکی در کد مشکل حل شده. مثلا یکبار ارور main too large میداد که قسمتی از کد main رو بردم توی تابع و تابع رو صدا زدم درست شد!!
              AYRIC

              دیدگاه


                #8
                پاسخ : رفع ارورر out of rom در 16f877a

                آقا رضا راست میگه، اگه فقط با اضافه کردن یه تابع، Error میده، احتمالا مشکل کرک داره. میتونی جهت اطمینان اون تابع رو کوچیکش کنی و خورد خورد حجم برنامه رو ببری بالا، اگه RAM استفاده شده ،وقتی از 50% بیشتر شد این خطا ظاهر بشه، قطعا کرک برنامه مشکل داره.

                دیدگاه


                  #9
                  پاسخ : رفع ارورر out of rom در 16f877a

                  نوشته اصلی توسط شاهرخ مستقیمی
                  آقا رضا راست میگه، اگه فقط با اضافه کردن یه تابع، Error میده، احتمالا مشکل کرک داره. میتونی جهت اطمینان اون تابع رو کوچیکش کنی و خورد خورد حجم برنامه رو ببری بالا، اگه RAM استفاده شده ،وقتی از 50% بیشتر شد این خطا ظاهر بشه، قطعا کرک برنامه مشکل داره.
                  سلام
                  همین دیگه آخه رم و رم جا داشت
                  بعد حتما این مورد شما را با گفته آقا رضا چک میکنم و تمامی توابع رو کوچک میکنم
                  البته یکی توی سایت خود CCS هم پیشنهادشو داد ولی گفتم شاشد عملی نشه
                  چون با کوچک کردن چیزی تغییر نمیکنه اگر بخواهد حجم رو زیاد استفاده بکنه فرقی نمیکنه
                  تک تک تابع باشه یا یک تابع جامع باشه
                  ولی با گفته شما دیگه اطمینان حاصل کردم که شاید مشکل همیجاست که
                  CCS نمیتونه توابع بزرگ رو بخونه و باید تیکه تیکش کرد
                  دوستان من اینکار ور میکنم و نتیجه رو میگم
                  هرچند دوتا ایسی که اقا شاهرخ که گفتن رو هم گرفتم
                  PIC18F452 ,PIC18F4520 جابه که پایه هاش مثل PIC16F877A هستش با حجم بیشتر رم و رام
                  ولی ای سی اقا رضا رو هم بررسی میکنم.
                  و کلا نتایج رو تا فردا اعلام میکنم.

                  دیدگاه


                    #10
                    پاسخ : پاسخ : رفع ارورر out of rom در 16f877a

                    نوشته اصلی توسط RezaMahzoonie
                    توی همون سری 16 هم میکرویی مثل 16f1947 خیلی سرتره که من باهاش زیاد کار کردم
                    در مورد rom هم اگر مطمئنید برنامه از 14 کیلو بیشتر نشده بدونید که مشکل کرک ccs هست. چون این ارور رو خیلی دیدم و خیلی مواقع با تغییر کوچکی در کد مشکل حل شده. مثلا یکبار ارور main too large میداد که قسمتی از کد main رو بردم توی تابع و تابع رو صدا زدم درست شد!!
                    خوب راستی الان که مشکل کرک هستش
                    کسی کرک سالم نداره ؟
                    کسی نمیدونه کدوم نسخه های CCS رایگان هست یا اینکه کرک سالمی داره
                    معرفی کنید دوستان
                    بعدم یه چیز دیگه اگر جای لایسنس اصلش رو میفروشه بگه
                    من خریدارم.
                    چیکار کنیم دیگه گیریم

                    دیدگاه


                      #11
                      پاسخ : رفع ارورر out of rom در 16f877a

                      به نظر من مشکل همون چیزیه که آقا رضا گفتن. باید تابع تون رو به دو یا چند تابع کوچکتر تقسیم کنید.

                      در ضمن بعید میدونم مشکل از کرک باشه. تا اونجایی که میدونم CCS اصلاً کرک نداره بلکه فایلهای لایسنسش منتشر میشه تو اینترنت.
                      در هر صورت من از نسخه 4.130 استفاده میکنم و مشکل خاصی نداشتم. تو انجمن برای دانلود هست.

                      دیدگاه

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