قفل کردن میکروکنترلر AVR (محافظت از برنامه)
دسترسی به حافظه برنامه یا حافظه فلش برنامه (flash program) میکروکنترلر های AVR را میتوان با استفاده از بیت های قفل LB1 و LB2 محدود کرد. با توجه به جدول پایین:
- زمانی که هر دو بیت LB1 و LB2 یک باشند، هیچ قفلی روی میکروکنترلر اعمال نمیشود.
- اگر LB1 صفر و LB2 یک باشد، flash و EEPROM میتواند خوانده شود اما دیگر نمیتوان آن میکروکنترلر را پروگرام کرد و کد جدید روی آن ریخت.
- اگر LB1 و LB2 هر دو صفر باشند، نمیتوان برنامه آن را خواند یا برنامه جدید روی آن ریخت، یعنی میکروکنترلر کاملا قفل میشود.
باز کردن قفل میکروکنترلر AVR
اگر میکروکنترلر خود را با صفر کردن LB1 و LB2 قفل کردید نگران نباشید. شما میتوانید کل بیت های Lock، Flash و EEPROM را پاک کنید و سپس دوباره Flash و EEPROM را دوباره برنامه ریزی کنید. میکروکنترلر AVR به ما تضمین داده است که حافظه Flash و EEPROM قبل از پاک شدن بیت های قفل، پاک میشوند. به این ترتیب کسی به برنامه دسترسی نخواهد داشت و فقط میتواند حافظه میکروکنترلر را پاک کند و از آن به عنوان یک میکروکنترلر خام استفاده کند.
بنابراین، وقتی عملیات پاک کردن تراشه روی AVR خود انجام میدهید، تمام بیت های قفل برنامه ریزی نشده بازنشانی میشوند و میتوانید AVR خود را برای بهروزرسانی دوباره برنامه ریزی کنید. پس از ارتقای کد، می توانید با برنامه ریزی مجدد قفل بیت ها، سیستم عامل خود را در برابر بازرسی خارجی ایمن کنید.
قفل کردن بوت لودر
بیت های قفل بوت برای کنترل دسترسی فلش از کد استفاده می شود.
دسترسی به فلاش داخلی (internal flash) از کد (از بوت لودر یا کد برنامه) را می توان با استفاده از بیت های قفل بوت BLB01، BLB02، BLB11 و BLB12 محدود کرد.
درود مهندس
چطوری میتونم محدودیت خاموش روشن شدن ۲۵۰ بار رو بردارم ممنون میشم پاسخ بدیم یا کمکم کنین
سلام مهندس رحیمی من یه مدل ای سی EEPROM دارم قفله میخوام قفلش رو باز کنم چکار کنم؟
سلام ببخشید من یه سوال داشتم وقتی یک کد روی میکروکنترلر آپلود میشود و دوباره بخواهیم کد جدیدی را وارد کنیم کد های قبلی پاک میشن با باید خودمونه از میکروکنترلر پاک کنیم
سلام
پاک میشود
مهندس جان واقعا ممنونم از شما بزرگوارید
خواهش میکنم
عذر خواهی میکنم مهندس جان با اردینو نوشته شده کدفرق نمیکنه؟
شما قرار نیست کد رو تغییر بدید. میخواهید فیوز بیت مربوط به حفاظت رو تغییر بدید
سلام مهندس رحیمی من برنامه ای نوشتم که میخواستم قفلی برایش بزارم که کسی دسترسی نداشته باشه به کد برنامه جهت کپی کردن اردینو را خودم ساختم با mega328 smd میشه بیزحمت راهنمایی بفرمایید که چه کار باید انجام بدم ممنون میشم راهنمایی بفرمایید
سلام عزیز
همانطور که نوشته شده بیت LB1 و LB2 رو صفر کنید
برای تنظیم بیت ها میتونید از اتمل استودیو استفاده کنید
همچنین دوره AVR با اتمل استودیو برای شما مفید خواهد بود