PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : فعال سازی cod read protection در lpc2378



yamini
25-06-2013, 23:23
سلام به همه مهندسین عزیز .

آیا کسی تونسته حافظه flash میکرو رو قفل کنه . ساده تر بگم برنامه ای که نوشتم و تو حافظه flash میکرو پروگرم کردم رو می خوام محافظت کنم .

میکرو lpc2378 پایه Erase نداره که وقتی دوباره بخوای پروگرم کنی مشکلی نداشته باشی .

دوستان پیشنهادتون رو بگین .

agape
26-06-2013, 15:05
بله - اگر از خانواده NXP استفاده میکنید - باید یه عدد long رو در موقعیت خاصی از فلش بنویسید که مشخص کننده میزان پروتکشن هست و فکر میکنم کلا سه حالت داره ، اون محل به نام CRP معروفه و تو دیتاشیت در موردش بیشتر بدونی


#define CRP1 0x12345678
#define CRP2 0x87654321
#define CRP3 0x43218765
#define NOCRP 0x11223344

yamini
29-06-2013, 11:24
سلام مرسی از پاسختون .
بله خانواده nxp ستفاده می کنم .
سه حالت برای محافظت داره crp1 crp2 crp3
که برای فعال سازی هر کدومش باید عدد مربوطه رو تو آدرس 0x 0000 01FC بنویسیم .

چطور میتونم عدد (0X12345678) رو تو خونه حافظه از فلش (0X000001FC) بنویسم ؟




ممنوم میشم راهنمایم کنین .

kh8422523
24-01-2015, 09:57
تو فایل startup.c قسمت زیر رو اضافه کنید درست میشه
;// <h> Code Read Protection level (CRP)
;// <o> CRP_Level:
;// <0xFFFFFFFF=> Disabled
;// <0x12345678=> CRP1
;// <0x87654321=> CRP2
;// <0x43218765=> CRP3 (Are you sure?)
;// </h>
CRP_Level EQU 0x12345678


IF :LNOT::DEF:NO_CRP
AREA |.ARM.__at_0x01FC|, CODE, READONLY
CRP_Key DCD CRP_Level
ENDIF


AREA |.text|, CODE, READONLY
موفق باشید