سلام به همه دوستان:
پروژه ایی که دارم انجام میدم شامل یک انکودر Jpeg هست. کد اولیه به صورت کامل در GCC(در داخل کامپیوتر) کامپایل و تست شده و خروجی های مورد نظر تولید شده. حالا میخوام کد رو روی برد بریزم. من از برد FRDM-KL46Z استفاده میکنم که 256 کیلو بایت فلش و 32 کیلوبایت رم داره. کامپایلری هم که دارم KEIL آخرین ورژن هست. کاری که دارم انجام میدم این هست که یک عکس حدودا 4 کیلوبایتی رو باید به jpeg تبدیل کنم. از اونجا که توابعی که استفاده کردم حافظه زیادی داخل رم اشغال میکنند و مدام call میشن, مجبور شدم stack و HEAP رو افزایش بدم و در حال حاظر به جایی رسیدم که حتی از 1 بایت دیگه هم نمیتونم داخل RAM استفاده کنم( ارور کیل هنگامی که از مقدار قابل دسترس رم عبور کنم):
میخواستم بدونم آیا هیچ راهی هست که بتونم بدون تغییر پروسسور کد رو اجرا کنم؟؟ توی شبیه سازی میشه با تغییر مقدار IRAM کد رو اجرا کرد ولی خوب واضح هست که وقتی کد رو میخوام روی پروسسور اجرا کنم هنگ میکنه!
این هم خروجی KEIL از پروژه(فایل .map):
پروژه ایی که دارم انجام میدم شامل یک انکودر 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).
این هم خروجی 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) ==============================================================================
دیدگاه