NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3787 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 15 از 15

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

  1. #1
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض تشخیص مقدار حافظه فلش استفاده شده توسط برنامه

    سلام

    چطور میتونم بفهمم چقدر از حافظه فلش ۲۵۶ کیلوبایتی موجود در AT91SAM7X256 پر شده و اصلا چطور بفهمم برنامه ی من چقدر حافظه ی فلش نیاز داره؟

    کدی که من دارم الان ۴۴ کیلو بایت حجم فایل HEX ش هست و ۱۶ کیلوبایت حجم فایل bin ش

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    شما حجم فایل bin رو مد نظر داشته باش
    یعنی با این اوصاف برنامه شما 16 کیلوبایت شده

  4. کاربران : 2 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  5. #3
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس
    از چه كامپايلري استفاده ميكني؟ Keil يا IAR يا ....؟
    _____________________________________
    _____________________________________

  6. تشکرها از این نوشته :


  7. #4
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام مهندس
    از چه كامپايلري استفاده ميكني؟ keil يا iar يا ....؟
    از کیل استفاده میکنم

  8. #5
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    لطفا" عکسو ببین
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Keil_92-08.JPG
مشاهده: 81
حجم: 43.0 کیلو بایت  
    _____________________________________
    _____________________________________

  9. کاربران : 4 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  10. #6
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    دوست گرامی - این عکسی که شما گذاشتی درسته نوشته کد ولی هر برنامه ای یه سری دیتا اضافی داره که تو فلش ذخیره میشه ، یعنی شما باید 4 بخش رو با هم جمع کنید تا حجم واقعی برنامه به دست بیاد

  11. تشکرها از این نوشته :


  12. #7
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    ولی مهندس بقیه مربوط به فلش نیستند مربوط به رم اند . جمع 3 تای بعدی کل فضای اشغال شده رم رو نشون میده ..
    اولی مربوط به فضای کد و سه تای بعدی مربوط به سه نوع فضای دیتا هست ( رم )

  13. تشکرها از این نوشته :


  14. #8
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    سلام دوستان گلم.
    جمع عدد اول و دوم یعنی :
    code+ro data
    میشه اونچه از حافظه فلش که اشغال میشه.
    جمع دو تای بعدی یعنی:
    rw data+zi data
    میشه فضایی که از رم اشغال میشه.
    موفق باشید.

  15. تشکرها از این نوشته :


  16. #9
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    حجم فایل bin من ۱۵۷۳۶ بایت هست و مجموع مقدار Code و مقدار RO-Data و مقدار RW-data جمعا میشه دقیقا ۱۵۷۳۶ بایت

    ۱۳۶۱۲+۲۱۰۰+۲۴

    [PHP]Program Size: Code=13612 RO-data=2100 RW-data=24 ZI-data=4904 [/PHP]خوب ما الان فقط فایل bin رو به میکرو میفرستیم پس مقدار ZI-data عملا نقشی در حافظه برنامه یا رم میکروی ما نداره
    ویرایش توسط beroz : 13-11-2013 در ساعت 23:07

  17. #10
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    من مطلبی که نوشتمو تو یه تاپیک فروم کیل خوندم، واسه خودمم همیشه حدودی دیدم درسته، راستش هیچوقت اینقد دقیق جمع نزده بودم ببینم چی میشه

  18. تشکرها از این نوشته :


  19. #11
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    بله درسته .. در واقع اینطوریه :
    Total RAM Size = RW Data + ZI Data
    Total ROM Size = Code + RO Data + RW Data

  20. کاربران : 5 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  21. #12
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sigma-mx نمایش پست ها
    بله درسته .. در واقع اینطوریه :
    Total RAM Size = RW Data + ZI Data
    Total ROM Size = Code + RO Data + RW Data
    وقتی ZI data رو به میکرو نمیفرستیم چطور خودش وارد رام میکرو میشه؟
    فایل bin که به میکرو ارسال میشه شامل ZI Data نیست

    در لینک زیر هم که توضیح داده موقع ای که خاسته مقدار ZI data رو تو رام نشون بده کنارش زده Clear

    ROM and RAM in ARM - Stack Overflow

  22. #13
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    خوب رام طبق برنامه اشغال میشه، شما دیتایی تو رام نمیریزی، برنامته که اون دیتارو به رام اختصاص میده، یعنی مثلا یه خط برنامه که مثلا یه آرایه 1000 تایی از نوع بایت شما توش درست میکنی باعث میشه 8000 بایت از رامت پر بشه در صورتی که هیچ داده ای هنوز تو اون فضا نیست. متوجه منظورم شدی؟(رام جدا پروگرم نمیشه،شما وقتی تو کیل توی target option میری میبینی که آدرس رام و رم رو براش معلوم کردی، ولی موقع پروگرم کردن چیزی تو رم ریخته نمیشه، برنامست که موقع اجرا وقتی به خطی میرسه که قراره از رم استفاده کنه اون فضارو استفاده میکنه،این قضیرو با دیباگ کردن به وسیله jlink و 2 تا بریک پوینت به راحتی میتونی چک کنی(قبل از این که خط ساخت یه داده اجرا نشه داده ای تو رم وجود نداره!))
    مثلا شما وقتی به rtx اجازه میدی برای یه تسک از 100 بایت رام استفاده کنی در واقع موقع برنامه نویسی و کامپایل اصلا داده ای وجود نداره که تو اون 100 بایت قراره ریخته بشه، شما فقط فلش میکرو رو پروگرم میکنی و وقتی برنامت اجرا میشه rtx از اون 100 بایت رامی که بهش دادی استفاده میکنه، بعد کیل آخر کامپایل کردن برنامه این فضاهای رام استفاده شده در برنامتو (اعم از داده ها، پشته ها و... که استفاده کردیو) جمع میزنه و به عنوان ro data و rw data داره نشون میده.

  23. کاربران : 3 تشکر کرده اند از شما sjafarim برای ارسال این پست سودمند:


  24. #14
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sjafarim نمایش پست ها
    خوب رام طبق برنامه اشغال میشه، شما دیتایی تو رام نمیریزی، برنامته که اون دیتارو به رام اختصاص میده، یعنی مثلا یه خط برنامه که مثلا یه آرایه 1000 تایی از نوع بایت شما توش درست میکنی باعث میشه 8000 بایت از رامت پر بشه در صورتی که هیچ داده ای هنوز تو اون فضا نیست. متوجه منظورم شدی؟(رام جدا پروگرم نمیشه،شما وقتی تو کیل توی target option میری میبینی که آدرس رام و رم رو براش معلوم کردی، ولی موقع پروگرم کردن چیزی تو رم ریخته نمیشه، برنامست که موقع اجرا وقتی به خطی میرسه که قراره از رم استفاده کنه اون فضارو استفاده میکنه،این قضیرو با دیباگ کردن به وسیله jlink و 2 تا بریک پوینت به راحتی میتونی چک کنی(قبل از این که خط ساخت یه داده اجرا نشه داده ای تو رم وجود نداره!))
    مثلا شما وقتی به rtx اجازه میدی برای یه تسک از 100 بایت رام استفاده کنی در واقع موقع برنامه نویسی و کامپایل اصلا داده ای وجود نداره که تو اون 100 بایت قراره ریخته بشه، شما فقط فلش میکرو رو پروگرم میکنی و وقتی برنامت اجرا میشه rtx از اون 100 بایت رامی که بهش دادی استفاده میکنه، بعد کیل آخر کامپایل کردن برنامه این فضاهای رام استفاده شده در برنامتو (اعم از داده ها، پشته ها و... که استفاده کردیو) جمع میزنه و به عنوان ro data و rw data داره نشون میده.
    بله درسته اصلا به این قضیه دقت نکرده بودم

  25. #15
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2013
    نوشته ها
    61
    تشکر
    14
    تشکر شده 4 بار در 4 پست

    پیش فرض

    یه سوال
    کلا RW Data وZI DataوCodeوRO Data چیه؟
    هر کدوم ر واگه میشه بیشتر بازش کنید....

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

  1. پاسخ: 2
    آخرين نوشته: 07-09-2013, 15:30
  2. پاسخ: 5
    آخرين نوشته: 06-09-2013, 00:48
  3. دستگاههاي ساخته شده توسط اعضاي ايران ميكرو
    توسط hakimzadeh در انجمن ایده های شما ....
    پاسخ: 62
    آخرين نوشته: 23-12-2012, 12:39
  4. ربات تشخیص مانع با استفاده از سنس
    توسط ROBOMAN در انجمن سیستم های ریاتیک و CNC
    پاسخ: 0
    آخرين نوشته: 03-12-2009, 23:12
  5. بهترین روش برای چاپ مدار توسط خودمون
    توسط mehrdadgh در انجمن گفت و گوي آزاد
    پاسخ: 22
    آخرين نوشته: 11-04-2009, 07:47

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

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