ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11
  1. #1
    2011/02/03
    172
    9

    هنگ کردن برنامه در اثر کبمود RAM

    سلام به همه دوستان:

    پروژه ايي که دارم انجام ميدم شامل يک انکودر Jpeg هست. کد اوليه به صورت کامل در GCC(در داخل کامپيوتر) کامپايل و تست شده و خروجي هاي مورد نظر توليد شده. حالا ميخوام کد رو روي برد بريزم. من از برد FRDM-KL46Z استفاده ميکنم که 256 کيلو بايت فلش و 32 کيلوبايت رم داره. کامپايلري هم که دارم KEIL آخرين ورژن هست. کاري که دارم انجام ميدم اين هست که يک عکس حدودا 4 کيلوبايتي رو بايد به jpeg تبديل کنم. از اونجا که توابعي که استفاده کردم حافظه زيادي داخل رم اشغال ميکنند و مدام call ميشن, مجبور شدم stack و HEAP رو افزايش بدم و در حال حاظر به جايي رسيدم که حتي از 1 بايت ديگه هم نميتونم داخل RAM استفاده کنم( ارور کيل هنگامي که از مقدار قابل دسترس رم عبور کنم):
    کد:
    .\Objects\Test.axf: Error: L6220E: Execution region RW_IRAM1 size (32772 bytes) exceeds limit (32768 bytes). Region contains 5 bytes of padding and 0 bytes of veneers (total 5 bytes of linker generated content).
    ميخواستم بدونم آيا هيچ راهي هست که بتونم بدون تغيير پروسسور کد رو اجرا کنم؟؟ توي شبيه سازي ميشه با تغيير مقدار IRAM کد رو اجرا کرد ولي خوب واضح هست که وقتي کد رو ميخوام روي پروسسور اجرا کنم هنگ ميکنه!
    اين هم خروجي KEIL از پروژه(فايل .map):
    کد:
    ==============================================================================
    
    
       Code (inc. data)  RO Data  RW Data  ZI Data   Debug  
    
       17984    996    300   15504   15544   45256  Grand Totals
       17984    996    300   12624   15544   45256  ELF Image Totals (compressed)
       17984    996    300   12624     0     0  ROM Totals
    
    ==============================================================================
    
      Total RO Size (Code + RO Data)        18284 ( 17.86kB)
      Total RW Size (RW Data + ZI Data)       31048 ( 30.32kB)
      Total ROM Size (Code + RO Data + RW Data)   30908 ( 30.18kB)
    
    ==============================================================================
  2. #2
    2007/04/05
    967
    3
    gbg

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    کدت رو بهينه کن
  3. #3
    2011/02/03
    172
    9

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    نقل قول نوشته اصلی توسط gbg
    کدت رو بهينه کن
    ممنون! خيلي روش کار کردم و سعي کردم بهينه ترش کنم فعلا که کاري نتونستم از پيش ببرم. فقط حدود 5-6 کيلو بايت کم دارم. :angry: :angry: :angry: :angry:
  4. #4
    2014/08/28
    210
    4

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    نقل قول نوشته اصلی توسط mohammadh1387
    سلام به همه دوستان:

    پروژه ايي که دارم انجام ميدم شامل يک انکودر Jpeg هست. کد اوليه به صورت کامل در GCC(در داخل کامپيوتر) کامپايل و تست شده و خروجي هاي مورد نظر توليد شده. حالا ميخوام کد رو روي برد بريزم. من از برد FRDM-KL46Z استفاده ميکنم که 256 کيلو بايت فلش و 32 کيلوبايت رم داره. کامپايلري هم که دارم KEIL آخرين ورژن هست. کاري که دارم انجام ميدم اين هست که يک عکس حدودا 4 کيلوبايتي رو بايد به jpeg تبديل کنم. از اونجا که توابعي که استفاده کردم حافظه زيادي داخل رم اشغال ميکنند و مدام call ميشن, مجبور شدم stack و HEAP رو افزايش بدم و در حال حاظر به جايي رسيدم که حتي از 1 بايت ديگه هم نميتونم داخل RAM استفاده کنم( ارور کيل هنگامي که از مقدار قابل دسترس رم عبور کنم):
    کد:
    .\Objects\Test.axf: Error: L6220E: Execution region RW_IRAM1 size (32772 bytes) exceeds limit (32768 bytes). Region contains 5 bytes of padding and 0 bytes of veneers (total 5 bytes of linker generated content).
    ميخواستم بدونم آيا هيچ راهي هست که بتونم بدون تغيير پروسسور کد رو اجرا کنم؟؟ توي شبيه سازي ميشه با تغيير مقدار IRAM کد رو اجرا کرد ولي خوب واضح هست که وقتي کد رو ميخوام روي پروسسور اجرا کنم هنگ ميکنه!
    اين هم خروجي KEIL از پروژه(فايل .map):
    کد:
    ==============================================================================
    
    
       Code (inc. data)  RO Data  RW Data  ZI Data   Debug  
    
       17984    996    300   15504   15544   45256  Grand Totals
       17984    996    300   12624   15544   45256  ELF Image Totals (compressed)
       17984    996    300   12624     0     0  ROM Totals
    
    ==============================================================================
    
      Total RO Size (Code + RO Data)        18284 ( 17.86kB)
      Total RW Size (RW Data + ZI Data)       31048 ( 30.32kB)
      Total ROM Size (Code + RO Data + RW Data)   30908 ( 30.18kB)
    
    ==============================================================================
    سلام
    مهندس نميدونم اين چيزي که ميگم به کارت مياد ي انه اما ميگم
    شما بيا حافظه اي رو که متغيرات داخل برنامه هست رو به صورت پويا تعريف کن و بعد از انجام کار ازادشون کن
    اون متغيرهايي رو که ميتوني اين کارو باهاشون انجام بدي. يجوري متغيراتو ديناميک کن
    ميتوني همچين کارايي رو داخل توابعت انجام بدي؟ :question:
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  5. #5
    2013/08/28
    539
    12

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    با سلام
    دوستان راه هاي خوبي گفتن،
    به نظرم کد بايد بهينه شه بعدش اگه نشد ميکرو رو ارتقا بدين.
    چند تا نکته به ذهنم رسيد.
    اگه ارايه اي چيزي دارين که ثابته ميشه const تعريف کرد تا به جاي رم بره تو رام.
    اگه متغيرهايي ميشه محلي باشن، از حالت گلوبال خارج کنين.
    طول متغير به اندازه نياز باشه، 16 بيت مثلا براي چيزي که 8 بيت کافيشه خب اضافست ديگه.
    اگه دارين فلگ چک مي کنين براي هر کدوم يک متغير تعريف نکنين مثلا با استفاده از bitmask يه 16 بيتي رو به عنوان 16 فلگ استفاده کنين.
    حالا که heap زياده همون که دوستمون گفتن از متغير هاي ديناميک استفاده کنيدو فضا رو ازاد کنيد.
    اميدوارم مفيد بوده باشه.
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.
  6. #6
    2007/04/05
    967
    3
    gbg

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    اگر هم از متغييرهاي ديناميک استفاده نمي کني هيپ رو کوچيک کن ، در ضمن مموري کارت از هيپ استفاده ميکنه
  7. #7
    2011/02/03
    172
    9

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    ممنون از همه دوستان

    يادم رفت بگم که من سايز HEAP رو صفر قرار دادم و مجبور شدم STACK رو تا 0x7B5 افزايش دادم :angry: :angry: :angry:
    متاسفانه چند تا متغيير دارم که long بايد تعريف بشن و هيچ راهي هم ندارم. فکر کنم تنها راه باقي مونده همون برد جديد باشه :(
  8. #8
    2007/04/05
    967
    3
    gbg

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    ميکروت چيه؟
    x256
  9. #9
    2013/08/28
    539
    12

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    به اين ميگن ميکرو، ادم دوست داره غير بهينه بنويسه اصلا(lpc1788)
    کد:
    ==============================================================================
    
      Total RO Size (Code + RO Data)        214148 ( 209.13kB)
      Total RW Size (RW Data + ZI Data)     12885312 (12583.31kB)
      Total ROM Size (Code + RO Data + RW Data)   226872 ( 221.55kB)
    
    ==============================================================================
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.
  10. #10
    2011/02/03
    172
    9

    پاسخ : هنگ کردن برنامه در اثر کبمود RAM

    من از MKL46Z256VLL4MCU استفاده ميکنم. در اصل از برد زير: إ¾ٖhttp://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL46Z
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11

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

  1. پاسخ: 14
    آخرين نوشته: 2014/10/20, 15:06
  2. پاسخ: 8
    آخرين نوشته: 2014/04/26, 15:59
  3. run کردن برنامه با cmd
    توسط negin-bahadori در انجمن برنامه نويسي و اينترفيس
    پاسخ: 1
    آخرين نوشته: 2013/03/15, 03:33
  4. قفل کردن برنامه ميکرو براي حفاظت برنامه
    توسط hamedhamidi در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2012/10/26, 23:34
  5. هنگ کردن برنامه
    توسط محمد نحوی در انجمن XMEGA
    پاسخ: 17
    آخرين نوشته: 2011/07/14, 04:13

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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