اطلاعیه

Collapse
No announcement yet.

پر شدن حافظه فلش

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

    #16
    پاسخ : پر شدن حافظه فلش

    نوشته اصلی توسط mojalan
    آقا جسارتا من دو پا بپرم وسط بحثتون (که البته خیلی استفاده کردم)
    لزوما یه سیستم بوت لودر دار نیازی نیست که همواره با بوت بالا بیاد و اگه نیازی نبود بپره به برنامه اصلی؛
    در واقع من خودم یه برنامه نوشتم که با برنامه اصلی کار میکرد هر وقت که از پورت سریال یه کاراکتر خاص (یا یه رشته خاص که در داده های اصلی نبود) میومد میپرید به بوت لودر ، از همون پورت سرایل داده ها رو میگرفت و تو حافظه فلش مینوشت (برای ذخیره داده و نه برنامه که خیلی هم فرق نمیکنه) و بعد دوباره برنامه اصلی رو با پرش به بردار ریست دوباره شروع میکرد
    خوب اینطوری کار میکنه ولی اشتباهه.
    چون اگه وسط bootloading اتفاقی بیافته مثلا برق بره یا میکرو ریست بشه دیگه هیچ کاری نمیشه کرد و برنامه اصلی که مسئول جهش به bootloader بوده ناقص پروگرام شده و دیگه نمیشه هیچ طور نمیشه از bootloader استفاده کرد
    بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
    اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

    دیدگاه


      #17
      پاسخ : پر شدن حافظه فلش

      بله حرف شما کاملا درسته اما تو روش شما امکان ذخیره داده های پرکاربرد بر روی فلش (بجای ایپرام وقتی تعداد داده ها زیاده مثلا هنگامیکه نیاز داریم یه آرایه بزرگ رو وقتی قطعی برق تشخیص داده میشه توی فلش بنویسم و البته بنا به دلایلی امکان استفاده از حافظه جانبی رو نداریم) وجود نداره چون برنامه بوت لودر شما فقط باید میکرو ریست بشه تا بتونه داده یا برنامه رو روی فلش بنویسه اما در روش ما هر وقت نیاز باشه امکان نوشتن وجود داره!

      دیدگاه


        #18
        پاسخ : پر شدن حافظه فلش

        وضعیتی که وارد شدن برنامه به ناحیه Bootloader، ممکن است سبب عملکرد نادرست برنامه شود در شرایطی است که بایت LockBit ها در حداکثر مرتبه حفاظت خود تنظیم شود که معادل عدد 0XC0 است. در این شرایط دستور اسمبلی LPM اگر در ناحیه Application اجرا شود، نمی تواند اطلاعات موجود در ناحیه BootLoader را بخواند و به همین ترتیب توسط LPM اجرا شده از ناحیه BootLoader نمی توان به اطلاعات موجود در ناحیه Application دسترسی پیدا کرد. برای جلوگیری از ایجاد این وضعیت نباید طبق روال معمول، Boot Lockbit ها را در حداکثر حفاظت خود برنامه ریزی کرد.
        چنین اشکالی را برای اولین بصورت عملی در برنامه ای مشاهده کردم که اطلاعات مورد نظر برای نمایش روی LCD در انتهای برنامه قرار می گرفت و با بزرگ شدن برنامه و واردشدن آن به بخش BootLoader، مشاهده شد که بخشی از اطلاعات به درستی نمایش داده نمی شوند و بعد از بررسی معلوم شد به دلیل قرار دادن LockBit ها در حداکثر مرتبه حفاظت، آن بخشی از اطلاعات LCD که در BootLoader قرار گرفته، (به دلیل استفاده از دستور اسمبلی LPM برای دسترسی به این اطلاعات) قابل خواندن نیست.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه

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