မိုက်ခရိုချီ-လိုဂို

MICROCHIP PIC24 Dual Partition Flash Program Memory

MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory-PRO

ထုတ်ကုန်အချက်အလက်

PIC24 နှင့် dsPIC33 စက်များအားလုံးတွင် သုံးစွဲသူကုဒ်ကို လုပ်ဆောင်ရန် အသုံးပြုနိုင်သည့် အတွင်းပရိုဂရမ်လုပ်နိုင်သော Flash အခင်းတစ်ခုပါရှိသည်။ Flash အခင်းအကျင်းတွင် ကြာရှည်စွာ သိမ်းဆည်းထားနိုင်သော သက်တမ်းရှိပြီး ကုဒ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့် သိုလှောင်မှုတွင် ကြီးစွာသော လိုက်လျောညီထွေရှိမှုကို ပေးစွမ်းသည့် ဖတ်ရှု/ရေးသည့် စက်ဝိုင်းများ အများအပြားရှိသည်။ dual partition Flash ပရိုဂရမ်မမ်မိုရီတွင် အင်္ဂါရပ်အသစ်များဖြင့် အပ်ဒိတ်ဗားရှင်းတစ်ခုရှိသည်။

  • လိပ်စာနေရာ- PIC24 နှင့် dsPIC33 စက်ပစ္စည်းများသည် 4M x 24-bit ပရိုဂရမ်မှတ်ဉာဏ်လိပ်စာနေရာကို လိပ်စာပေးသည်။
  • အသုံးပြုသူ ပရိုဂရမ် နေရာလွတ်- ပရိုဂရမ်မှတ်ဉာဏ်မြေပုံကို အသုံးပြုသူပရိုဂရမ်နေရာ (000000h မှ 7FFFFFh) တွင် အညီအမျှ ပိုင်းခြားထားသည်။
  • ပြင်ဆင်သတ်မှတ်မှတ်ဉာဏ်နေရာ- ပရိုဂရမ်မှတ်ဉာဏ်မြေပုံအား ဖွဲ့စည်းမှု (သို့မဟုတ် စမ်းသပ်မှု) မှတ်ဉာဏ်နေရာ (800000h မှ FFFFFFh) တွင် အညီအမျှ ပိုင်းခြားထားသည်။
  • ပရိုဂရမ်နေရာအား ဝင်ရောက်ခြင်း- ပရိုဂရမ်နေရာအား ဝင်ရောက်ရန် နည်းလမ်းသုံးမျိုးရှိသည်။
    1. 23-bit ပရိုဂရမ်ကောင်တာ (PC)။
    2. Table Read (TBLRD) နှင့် Table Write (TBLWT) ညွှန်ကြားချက်များ။
    3. ပရိုဂရမ်မှတ်ဉာဏ်၏ 32-Kbyte အပိုင်းကို ဒေတာမှတ်ဉာဏ်လိပ်စာနေရာသို့ ပုံဖော်ခြင်းဖြင့်။

နိဒါန်း
PIC24 နှင့် dsPIC33 စက်များအားလုံးတွင် သုံးစွဲသူကုဒ်ကို အကောင်အထည်ဖော်ရန်အတွက် အတွင်းပိုင်း ပရိုဂရမ်ထုတ်နိုင်သော Flash အခင်းအကျင်းတစ်ခု ရှိသည်။ ခံနိုင်ရည်မြင့်မားသော Flash အခင်းအကျင်းသည် ကုဒ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့် သိုလှောင်မှုတွင် ကြီးစွာသောပြောင်းလွယ်ပြင်လွယ်မှုကို ပေးစွမ်းပြီး ရှည်လျားသောထိန်းသိမ်းထားနိုင်သည့်သက်တမ်းကို မြင့်မားသောစာဖတ်/ရေးစက်ဝန်းများစွာဖြင့် ပေါင်းစပ်ထားသည်။
ဤ Flash ပရိုဂရမ်မမ်မိုရီဗားရှင်းသည် ဤအင်္ဂါရပ်အသစ်များကို ပေါင်းထည့်သည်-

  • Dual Partition Flash လုပ်ဆောင်ချက်သည် ခိုင်မာသော bootloader စနစ်များနှင့် အပလီကေးရှင်းကုဒ်များ၏ မအောင်မြင်သော သိမ်းဆည်းမှုတို့ကို ပံ့ပိုးပေးနိုင်သော၊ ကုဒ်လုံခြုံရေးကို မြှင့်တင်ရန် ဒီဇိုင်းထုတ်ထားသော ရွေးချယ်စရာများနှင့်အတူ၊
  • ပင်မအပလီကေးရှင်းကို ဆက်လက်လုပ်ဆောင်နေချိန်တွင် LiveUpdate လုပ်ဆောင်ချက်သည် မွမ်းမံထားသည့် ကုဒ်အပိုင်း (CS) ကို ပြုပြင်မွမ်းမံရန် သို့မဟုတ် လုံးဝဖျက်ပစ်ရန် ခွင့်ပြုခြင်း
  • ဒေတာ RAM ပုံ၏ စိတ်ကြိုက်ချုံ့မှုဖြင့် ဒေတာ RAM နေရာမှ Flash အခင်းအကျင်း၏ တိုက်ရိုက် Run-Time ပရိုဂရမ်ရေးဆွဲခြင်း

ထုတ်ကုန်အသုံးပြုမှု

dual partition Flash ပရိုဂရမ်မမ်မိုရီကို အသုံးပြုရန်၊ အောက်ပါအဆင့်များကို လိုက်နာပါ-

  1. ဤစာရွက်စာတမ်းသည် သင်အသုံးပြုနေသောစက်ပစ္စည်းကို ပံ့ပိုးပေးမှုရှိမရှိ စစ်ဆေးရန် Dual Partition Flash Program Memory အခန်း၏အစတွင် မှတ်စုကို ဖတ်ရှုပါ။
  2. စက်ပစ္စည်းဒေတာစာရွက်များနှင့် မိသားစုကိုးကားချက်လက်စွဲကဏ္ဍများကို Microchip Worldwide မှ ဒေါင်းလုဒ်လုပ်ပါ။ Webဆိုက်- http://www.microchip.com.
  3. အထက်ဖော်ပြပါ နည်းလမ်းသုံးမျိုးထဲမှ တစ်ခုခုကို အသုံးပြု၍ ပရိုဂရမ်အာကာသကို ဝင်ရောက်ကြည့်ရှုပါ။
  4. အကောင်အထည်ဖော်ထားသော ပရိုဂရမ်မမ်မိုရီကို ပြန်လည်သတ်မှတ်ခြင်းနှင့် အနှောက်အယှက်ဖြစ်စေသော vector များ နှင့် Flash ဖွဲ့စည်းမှုပုံစံဒေတာတို့ ပါ၀င်သော ကုဒ်ဧရိယာ အပါအဝင် vector ဧရိယာသို့ ထပ်မံခွဲခြားနိုင်သည်။ အသုံးပြုသူ ပရိုဂရမ်နေရာ၏ အကောင်အထည်ဖော်မဆောင်ရွက်ရသေးသော ဧရိယာများ (ဆိုလိုသည်မှာ၊ ပရိုဂရမ်မှတ်ဉာဏ်၏ အထက်ပိုင်းကို အကောင်အထည်ဖော်သည့်နယ်နိမိတ်အထက်) ကို ဝင်ရောက်ခြင်းသည် လိပ်စာအမှားထောင်ချောက်ကို ဖြစ်စေသည်။

ပရိုဂရမ်အမှတ်တရဗိသုကာ

PIC24 နှင့် dsPIC33 စက်ပစ္စည်းများသည် ပုံ 4-24 တွင်ပြထားသည့်အတိုင်း 2M x 1-bit ပရိုဂရမ်မှတ်ဉာဏ်လိပ်စာနေရာကို လိပ်စာပေးသည်။ ပရိုဂရမ်မမ်မိုရီမြေပုံကို အသုံးပြုသူပရိုဂရမ်နေရာ (000000h မှ 7FFFFFh) နှင့် ဖွဲ့စည်းမှု (သို့မဟုတ် စမ်းသပ်မှု) မမ်မိုရီနေရာ (800000h မှ FFFFFFh) တို့နှင့် အညီအမျှ ပိုင်းခြားထားသည်။ အသုံးပြုသူပရိုဂရမ်နေရာလွတ်တွင် ပြန်လည်သတ်မှတ်သည့် ဝက်အား၊ အနှောက်အယှက်ဖြစ်စေသည့် Vector Tables (IVTs) နှင့် ပရိုဂရမ်မှတ်ဉာဏ်တို့ ပါဝင်သည်။ ပရိုဂရမ်နေရာအား ဝင်ရောက်ရန် နည်းလမ်းသုံးမျိုးရှိသည်။

  1. 23-bit ပရိုဂရမ်ကောင်တာ (PC)။
  2. Table Read (TBLRD) နှင့် Table Write (TBLWT) ညွှန်ကြားချက်များ။
  3. ပရိုဂရမ်မှတ်ဉာဏ်၏ 32-Kbyte အပိုင်းကို ဒေတာမှတ်ဉာဏ်လိပ်စာနေရာသို့ ပုံဖော်ခြင်းဖြင့်။

အကောင်အထည်ဖော်ထားသော ပရိုဂရမ်မမ်မိုရီကို ပြန်လည်သတ်မှတ်ခြင်းနှင့် အနှောက်အယှက်ဖြစ်စေသော vector များ နှင့် Flash ဖွဲ့စည်းမှုပုံစံဒေတာတို့ ပါ၀င်သော ကုဒ်ဧရိယာ အပါအဝင် vector ဧရိယာသို့ ထပ်မံခွဲခြားနိုင်သည်။ အသုံးပြုသူ ပရိုဂရမ်နေရာ၏ အကောင်အထည်ဖော်မဆောင်ရွက်ရသေးသော ဧရိယာများ (ဆိုလိုသည်မှာ၊ ပရိုဂရမ်မှတ်ဉာဏ်၏ အထက်ပိုင်းကို အကောင်အထည်ဖော်သည့်နယ်နိမိတ်အထက်) ကို ဝင်ရောက်ခြင်းသည် လိပ်စာအမှားထောင်ချောက်ကို ဖြစ်စေသည်။

Vector ဧရိယာ
vector area သည် program memory space ၏အစတွင် 000000h တွင်စတင်သည်။ ၎င်းတွင် Master Reset vector၊ ဟာ့ဒ်ဝဲထောင်ချောက် vectors နှင့် Implemented hardware interrupts များအားလုံးအတွက် Interrupt Vector Table (IVT) ပါရှိသည်။
ဗိသုကာဆိုင်ရာ ကွဲပြားမှုများနှင့် IVT ၏ အရွယ်အစားကြောင့်၊ vector area သည် မတူညီသော စက်ပစ္စည်းမိသားစုများတွင် မတူညီသော memory ပမာဏကို ရယူထားသည်။ PIC24 စက်များအတွက်၊ vector area သည် 0000FEh အထိ ကျယ်ပြန့်သည်။ dsPIC33 စက်များအတွက်၊ vector area သည် 0001FEh အထိ ကျယ်ပြန့်သည်။ ပုံ 2-2 သည် မတူညီသောစက်ပစ္စည်းများအတွက် IVTs များကြား ခြားနားချက်ကို ပြသည်။ စက်ပစ္စည်း မိသားစု မည်သို့ပင်ဖြစ်စေ၊ ဟာ့ဒ်ဝဲလ် နှောင့်ယှက်သည့် ဗက်တာများသည် 000014h တွင် Interrupt Vector 0 ဖြင့် အမြဲတမ်း စတင်ပါသည်။
vector ဧရိယာသည် CodeGuard™ လုံခြုံရေးအကောင်အထည်ဖော်မှုများရှိ Vector အပိုင်း (VS) နှင့် အကြမ်းဖျင်းအားဖြင့် သက်ဆိုင်ပါသည်။ လုံခြုံရေးဖွဲ့စည်းပုံအပေါ်မူတည်၍ vector area ကို Boot Segment (BS) သို့မဟုတ် General Segment (GS) ၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် သဘောထားနိုင်ပါသည်။

အလှည့်ကျ Vector အနှောင့်အယှက် ဇယား
dsPIC33 နှင့် PIC24 စက်ပစ္စည်းများအားလုံးသည် လုံခြုံရေးမြင့်မားသောကုဒ်အက်ပ်လီကုဒ်များနှင့် ခြွင်းချက်ကိုင်တွယ်ခြင်းအတွက် အသုံးပြုနိုင်သည့် Alternate IVT (AIVT) ကို အကောင်အထည်ဖော်ရန်အတွက် ပံ့ပိုးပေးပါသည်။ ဤမိသားစုများရှိ အစောပိုင်းစက်ပစ္စည်းများနှင့်မတူဘဲ၊ AIVT ကို ပုံသေလိပ်စာအကွာအဝေးရှိ ပရိုဂရမ်မှတ်ဉာဏ်တွင် အမြဲတမ်းခွဲဝေပေးမည်မဟုတ်ပါ။ ယင်းအစား AIVT သည်-

  • CodeGuard လုံခြုံရေးသည် အနည်းဆုံး စာမျက်နှာ နှစ်ခု အရွယ်အစားရှိသော Boot အပိုင်းအတွက် ပြင်ဆင်သတ်မှတ်ထားသည် (FBSLIM Configuration register မှ သတ်မှတ်ထားသည်) နှင့်
  • AIVTIS ကို AIVTDIS Configuration bit ကို '0' သို့ ပရိုဂရမ်ပြုလုပ်ခြင်းဖြင့် AIVT ကို ဖွင့်ထားသည်။

AIVT ကိုဖွင့်သောအခါ၊ ၎င်းသည် BS ၏နောက်ဆုံးစာမျက်နှာ၏အစတွင်စတင်သည့်လိပ်စာအကွာအဝေးတွင်တည်ရှိသည်။ vector တစ်ခုစီသည် စာမျက်နှာနယ်နိမိတ်မှ သတ်မှတ်ထားသော အော့ဖ်ဆက်တစ်ခုတွင် တည်ရှိသည်။ AIVT ၏ စုစုပေါင်းအရွယ်အစားနှင့် အကြောင်းအရာ (ဆိုလိုသည်မှာ vector order) သည် IVT ၏ ပုံသဏ္ဍာန်ဖြစ်သည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (1) MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (2)

ကုဒ်ဧရိယာ
ကုဒ်ဧရိယာသည် အသုံးပြုသူ၏ အပလီကေးရှင်းကုဒ်ပါရှိသော အသုံးပြုသူပရိုဂရမ်မှတ်ဉာဏ်၏ ဧရိယာဖြစ်သည်။ ၎င်းသည် vector area အဆုံးမှ Flash Configuration Words ၏အစအထိ ချဲ့ထွင်သည်။ Boot Segment ကို အကောင်အထည်ဖော်ပါက၊ ၎င်းသည် vector area ၏အဆုံးတွင် စတင်ပြီး ကြိုတင်သတ်မှတ်ထားသော range တစ်ခုအတွက် တိုးချဲ့သည်။ Boot Segment တွင်မရှိသောကုဒ်ဧရိယာ၏အစိတ်အပိုင်းသည် CodeGuard လုံခြုံရေးစနစ်များရှိ General Segment (GS) နှင့် သက်ဆိုင်ပါသည်။ အောက်တွင်ဖော်ပြထားသည့်အတိုင်း အကောင်အထည်ဖော်ထားသည့်မှတ်ဉာဏ်၏အဆုံးတွင် Flash Configuration Words မှလွဲ၍ ဧရိယာတစ်ခုလုံးသည် အပလီကေးရှင်းကုဒ်အတွက် ရနိုင်ပါသည်။

Flash Configuration Data
အကောင်အထည်ဖော်ခဲ့သည့် Flash ပရိုဂရမ်မှတ်ဉာဏ်၏ အဆုံးရှိ ဧရိယာ (ပုံမှန်အားဖြင့် နောက်ဆုံးအတန်း) ကို Flash ဖွဲ့စည်းမှုဒေတာအတွက် သီးသန့်ထားသည်။ စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်ခြင်းတွင်၊ ဤဖွဲ့စည်းပုံအချက်အလက်ကို အသုံးပြုသူလက်လှမ်းမမီနိုင်သော သင့်လျော်သော စက်ပစ္စည်းဖွဲ့စည်းပုံဆိုင်ရာ မှတ်ပုံတင်ချက်များသို့ ကူးယူပါသည်။ Flash Configuration Words တွင် လိုချင်သောတန်ဖိုးများကို ပရိုဂရမ်ရေးခြင်းဖြင့်သာ စက်ပစ္စည်းဖွဲ့စည်းပုံစနစ်ဒေတာကို ပရိုဂရမ်ပြုလုပ်နိုင်သည်။
Configuration bits များ၏ အရေအတွက်၊ အမှာစာနှင့် အဖွဲ့အစည်းသည် စက်ပစ္စည်းဗိသုကာများကြားနှင့် တူညီသောဗိသုကာအတွင်းရှိ စက်ပစ္စည်းမိသားစုများကြားတွင် ကွဲပြားသည်။ အချို့သောစက်ပစ္စည်းများသည် ယေဘုယျအားဖြင့် လုပ်ဆောင်နိုင်သော အသုံးအနှုန်းများဖြင့် အုပ်စုဖွဲ့ထားသည့် 16-bit Configuration Words များအဖြစ် Configuration bits များကို စုစည်းပါသည်။ အခြားစက်ပစ္စည်းများသည် တစ်ဦးချင်းအလိုက် ကိုင်တွယ်ဖြေရှင်းနိုင်သော Configuration bytes သတ်မှတ်ချက်များဖြင့် ဖွဲ့စည်းမှုဘစ်များကို စုစည်းပါ။ ပုံ 2-3 သည် Configuration Words အတွက် ဖွဲ့စည်းထားသည့် ဧရိယာကို ပြသည်။ မိသားစုအလိုက် အချက်အလက်များအတွက် စက်ဒေတာစာရွက်ကို ကိုးကားပါ။
Dual Partition စွမ်းရည်ရှိသော စက်ပစ္စည်းများအတွက် FBTSEQ Configuration Word သည် များသောအားဖြင့် အကောင်အထည်ဖော်ထားသော ပရိုဂရမ်မှတ်ဉာဏ်၏အဆုံးတွင် တည်ရှိသော နောက်တစ်ခုမှ နောက်ဆုံးဖွဲ့စည်းမှုဆိုင်ရာစကားလုံးဖြစ်သည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (3)

Memory အဖွဲ့
ပရိုဂရမ်မှတ်ဉာဏ်နေရာအား စကားလုံးလိပ်စာပြောနိုင်သော ဘလောက်များအဖြစ် ဖွဲ့စည်းထားသည်။ ၎င်းကို 24 bits wide အဖြစ် သဘောထားသော်လည်း၊ ပရိုဂရမ်မှတ်ဉာဏ်၏ လိပ်စာတစ်ခုစီကို အောက်နှင့် အထက်စကားလုံးအဖြစ် တွေးခေါ်ရန်၊ အထက်စကားလုံး၏ အထက်ဘိုက်ကို အကောင်အထည်မဖော်ဘဲ ပို၍သင့်လျော်သည်။ အောက်စကားလုံးသည် တူညီသောလိပ်စာတစ်ခု အမြဲရှိသော်လည်း အထက်စကားလုံးတွင် ထူးဆန်းသောလိပ်စာတစ်ခုရှိသည် (ပုံ ၂-၄)။ ပရိုဂရမ်မမ်မိုရီလိပ်စာများနှင့် PC တို့သည် အောက်ခြေစကားလုံးပေါ်တွင် စာလုံး-ချိန်ညှိထားသည် (ဆိုလိုသည်မှာ၊ အနည်းဆုံးသိသာထင်ရှားသည့်ဘစ် (LSb) သည် အမြဲတမ်း '2') ဖြစ်သည်။ ကုဒ်လုပ်ဆောင်နေစဉ်အတွင်း လိပ်စာများကို နှစ်ခုဖြင့် တိုးသည် သို့မဟုတ် လျှော့ချသည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (4)

လိပ်စာပေးရေး ပရိုဂရမ် မန်မိုရီ
ပုံမှန် ကုဒ် အကောင်အထည်ဖော်မှု အတွက်၊ လုပ်ဆောင်မှု အတွက် ထိရောက်သော လိပ်စာ (EA) ကို ပရိုဂရမ် ကောင်တာ (PC) မှ ပံ့ပိုးပေးပါသည်။ PC သည် 23 bits ကျယ်ဝန်းပြီး အသုံးပြုသူပရိုဂရမ်နေရာရှိ မည်သည့်တည်နေရာကိုမဆို တိုက်ရိုက်ဝင်ရောက်ခွင့်ပေးသည်။ ပရိုဂရမ်ညွှန်ကြားချက် ချိန်ညှိမှုကို ထိန်းသိမ်းရန်အတွက် PC[0] ကို '0' အဖြစ် သတ်မှတ်သည်။ PC[1] ကို တိုးခြင်းဖြင့် PC ၏ နောက်ဆက်တွဲလိပ်စာသို့ တိုးလာသဖြင့် PC ၏တန်ဖိုးကို နှစ်ဆတိုးစေသည်။
Table Read နှင့် Table Write လုပ်ဆောင်ချက်များအတွက်၊ EA ကို TBLPAG မှတ်ပုံတင်မှ 16-bit လိပ်စာဖြင့် W registers တစ်ခုမှ 8-bit လိပ်စာကို ပေါင်းစပ်ခြင်းဖြင့် ဖန်တီးထားသည်။ ၎င်းသည် ဇယားလုပ်ဆောင်မှုများကို အသုံးပြုသူနှင့် ဖွဲ့စည်းမှုနေရာများ နှစ်ခုစလုံးသို့ ဝင်ရောက်ခွင့်ပြုသည်။ ဇယားလည်ပတ်မှုများအတွက် လိပ်စာမျိုးဆက်ကို အပိုင်း 4.2.1 “ဇယားလည်ပတ်မှုများအတွက် လိပ်စာထုတ်လုပ်ခြင်း” တွင် အသေးစိတ်ဆွေးနွေးထားသည်။
Extended Data Space (EDS) နှင့် Program Space Visibility (PSV) လုပ်ဆောင်ချက်များအတွက်၊ DSRPAG/DSWPAG (dsPIC15) သို့မဟုတ် PSVPAG (PIC8F) တို့မှ 33-bit လိပ်စာဖြင့် W register တစ်ခု၏ 24 bits အောက်ကို ပေါင်းစပ်ခြင်းဖြင့် EA ကို ဖန်တီးထားသည်။ စာရင်းများ။ တိုးချဲ့ထားသော ဒေတာအာကာသနှင့် ပရိုဂရမ်အာကာသမြင်နိုင်စွမ်းဆိုင်ရာ လုပ်ဆောင်ချက်များကို "dsPIC33/PIC24 မိသားစု ကိုးကားချက်လက်စွဲ"၊ "ဒေတာမှတ်ဉာဏ်" (dsPIC33၊ DS70595) နှင့်/သို့မဟုတ် "ဒေတာမှတ်ဉာဏ်" (PIC24၊ DS30009717) တွင် ဆွေးနွေးထားသည်။

ပရိုဂရမ် Memory PARTITION FLASH လည်ပတ်မှု

Dual Partition Flash စွမ်းရည်ရှိသော စက်များအတွက်၊ Dual Partition Program Memory mode ကို FBOOT Configuration Word တွင် BTMODE[1:0] bits ပရိုဂရမ်ပြုလုပ်ခြင်းဖြင့် ရွေးချယ်ထားသည်။ အခြားသော Configuration Words များနှင့်မတူဘဲ FBOOT သည် အခြားသော Flash Configuration မှတ်ပုံတင်ခြင်းမှလွဲ၍ FBOOT သည် configuration memory space တွင်တည်ရှိပါသည်။ လိပ်စာအတိအကျသည် ဗိသုကာဆိုင်ရာ သီးသန့်ဖြစ်သည် (ဆိုလိုသည်မှာ PIC24 သို့မဟုတ် dsPIC33) ဖြစ်ပြီး စက်ပစ္စည်းမိသားစုများအကြား ကွဲပြားနိုင်သည်။ ဇယား 3-1 သည် အောက်ပါကဏ္ဍများတွင် ဆွေးနွေးထားသည့် ဖြစ်နိုင်သော Flash Partition ရွေးချယ်မှုများကို စာရင်းပြုစုထားသည်။
စက်ပစ္စည်းတစ်ခုအား In-Circuit Serial Programming™ (ICSP™) မှတစ်ဆင့် ပရိုဂရမ်ပြုလုပ်သောအခါ၊ ပရိုဂရမ်မာသည် စက်ပစ္စည်း Flash Partition မုဒ်ကို မှန်ကန်စွာသတ်မှတ်ရန် FBOOT ပရိုဂရမ်ကို လုပ်ဆောင်သင့်သည်။ Run-Time Self-Programming (RTSP) ကို အသုံးပြု၍ run-Time Self-Programming (RTSP) ကို အသုံးပြုသည့်အချိန်၌ FBOOT ကို ပြန်လည်ပရိုဂရမ်ပြုလုပ်ရန် မဖြစ်နိုင်ကြောင်း သတိပြုပါ။ FBOOT ဘစ်များကို ပရိုဂရမ်မာတစ်ဦးမှ ICSP မုဒ်တွင် configure လုပ်ရပါမည်။ အကြောင်းမှာ Flash Configuration Words ၏တည်နေရာသည် Standard Partition မုဒ်မှ Dual Partition မုဒ်သို့ ပြောင်းလဲသွားသောကြောင့်ဖြစ်ပြီး၊ မထင်မှတ်ဘဲ စက်လည်ပတ်မှုကို ဖြစ်စေနိုင်သည်။

ဇယား 3-1- Flash Partition ရွေးချယ်စရာများ

BTMODE[1:0] Partition ရွေးချယ်မှု
11 Standard Mode (Single Partition၊ မူရင်း)
10 Dual Partition မုဒ်
01 ကာကွယ်ထားသည့် Dual Partition မုဒ်
00 အခွင့်ထူးခံ Dual Partition မုဒ်(1)

မှတ်ချက် 1- Dual Partition စက်များအားလုံးတွင် အကောင်အထည်မဖော်ပါ။

Standard (Single Partition) မုဒ်
စံမုဒ်၊ Single Partition သို့မဟုတ် Standard Partition မုဒ်ဟုလည်းရည်ညွှန်းသည်၊ သည် ပရိုဂရမ်မှတ်ဉာဏ်အတွက် ပုံသေလုပ်ဆောင်မှုမုဒ်ဖြစ်သည်။ BTMODEx Configuration bits သည် '11' (၎င်းတို့၏ အစီအစဉ်မထားသော ဖွဲ့စည်းမှုပုံစံ) သည် ရွေးချယ်သည့်အခါ ၎င်းကို ရွေးချယ်သည်။ ၎င်းသည် ယခင် dsPIC33 နှင့် PIC24 စက်များအားလုံးတွင် ရရှိနိုင်သော ပရိုဂရမ်တစ်ခုတည်းမှတ်ဉာဏ် လည်ပတ်မှုမုဒ်လည်းဖြစ်သည်။ Standard မုဒ်တွင်၊ အသုံးပြုသူ ပရိုဂရမ်မမ်မိုရီတစ်ခုလုံးကို 000000h မှ စတင်လုပ်ဆောင်ခဲ့သော Flash memory ၏ အပေါ်ပိုင်းနယ်နိမိတ်အထိ အပြားလိုက်၊ အဆက်မပြတ်မှတ်ဉာဏ်နေရာအဖြစ် ပုံဖော်ထားသည်။ ဟောင်းအတွက်ample၊ Flash memory ၏ 256 Kbytes ရှိသော စက်တွင် ပရိုဂရမ်မှတ်ဉာဏ်လိပ်စာအကွာအဝေးသည် 000000h မှ 02AFFFh ရှိပြီး၊ ဤအပိုင်းအခြားအပေါ်ရှိ လိပ်စာများကို အကောင်အထည်မဖော်နိုင်ပါ။ အသုံးပြုသူ၏အပလီကေးရှင်းအတွက် အကောင်အထည်ဖော်ထားသော မှတ်ဉာဏ်အပိုင်းအခြားတစ်ခုလုံး (ပြန်လည်သတ်မှတ်ခြင်း vectors၊ IVTs နှင့် Flash Configuration Words အတွက် သီးသန့်နေရာများ အပါအဝင်) ကို အသုံးပြုသူ၏အပလီကေးရှင်းအတွက် ရနိုင်ပါသည်။ အပိုင်းခွဲထားသော ကုဒ်လုံခြုံရေးရှိသော စက်များတွင်၊ Boot အပိုင်းကိုလည်း အကောင်အထည်ဖော်နိုင်သည်။

Dual Partition မုဒ်များ
BTMODex Configuration bits များကို '11' မှလွဲ၍ အခြားတန်ဖိုးတစ်ခုသို့ ပရိုဂရမ်ပြုလုပ်သောအခါ၊ စက်သည် Dual Partition မုဒ်သုံးမျိုးထဲမှ တစ်ခုတွင် လုပ်ဆောင်သည်။ ဤမုဒ်များအားလုံးတွင်၊ အကောင်အထည်ဖော်ထားသော Flash memory သည် 000000h မှစတင်သည့် Active Partition တစ်ခုနှင့် 400000h မှစတင်ကာ XNUMXh တွင်စတင်သည့် Active Partition နှင့် Inactive Partition ကို အပိုင်းနှစ်ပိုင်းအဖြစ် အချိုးညီစွာခွဲထားသည်။ ယခင် ex ရှိ device အတွက်ampထို့ကြောင့်၊ 256-Kbyte Flash memory ကို လိပ်စာ 128h မှ 000000FFh နှင့် 0157h မှ 400000FFh မှ 4157 Kbytes တစ်ခုစီ၏ နယ်ပယ်နှစ်ခုအဖြစ် အကောင်အထည်ဖေါ်မည်ဖြစ်သည်။ ဧရိယာနှစ်ခုကြားရှိ လိပ်စာများကို အကောင်အထည်မဖော်ပါ (ပုံ 3-1 ကိုကြည့်ပါ)။
Dual Partition မုဒ်များတွင်၊ သီးခြားအပလီကေးရှင်းနှစ်ခုကို စက်ပစ္စည်းထဲသို့ ပရိုဂရမ်ထည့်သွင်းနိုင်ပြီး၊ Partition 1 နှင့် Partition 2 ဟုလူသိများသော Flash memory partition နှစ်ခုမှ တစ်ခုသို့ တစ်ခုစီကို device ကို စတင်သောအခါ၊ ၎င်းတို့ထဲမှ တစ်ခုကို Active Partition သို့ dynamically map ပြုလုပ်ထားပြီး၊ ကွပ်မျက်သည်။ အခြားတစ်ခုသည် ပရိုဂရမ်မှတ်ဉာဏ်လုပ်ဆောင်မှုများကို လုပ်ဆောင်ရန် ကျန်ရှိနေသော Inactive Partition သို့ ပုံဖော်ထားသည်။ Active သို့မဟုတ် Inactive Partition အတွက် partition တစ်ခု၏တာဝန်ကို Boot Sequence Number ဟုလူသိများသောကုဒ်လက်မှတ်ဖြင့်အလိုအလျောက်ဆုံးဖြတ်သည်။ ဆော့ဖ်ဝဲလ်ထိန်းချုပ်မှုအောက်တွင်၊ အလုပ်လုပ်ချိန်အတွင်း၊ ကုဒ်အပိုင်းပိုင်းများကို Active နှင့် Inactive Partitions များကြားတွင်လည်း လဲလှယ်နိုင်ပါသည်။

Dual Partition မုဒ်များသည် Active Partition ၏ အပလီကေးရှင်းအား Inactive Partition အတွင်းရှိ ပရိုဂရမ်ဒေတာအား ဝင်ရောက်ခွင့် (သို့) Inactive Partition ကို ပြန်လည်ပရိုဂရမ်ပြုလုပ်ရန် ခွင့်ပြုပါသည်။ Inactive Partition တွင် Flash memory သို့စာရေးခြင်းသည် Flash ရေးနေစဉ်တွင် CPU ကိုရပ်တန့်ရန်မလိုအပ်ပါ။ ၎င်းသည် အရေးကြီးသောထိန်းချုပ်မှုလုပ်ဆောင်ချက်များ သို့မဟုတ် အက်ပ်မွမ်းမံမှုများနှင့်အတူ တစ်ပြိုင်နက် အချိန်ကိုက်-အထိခိုက်မခံသော ဆက်သွယ်မှုများကို လုပ်ဆောင်နိုင်သည့် LiveUpdate လုပ်ဆောင်နိုင်စွမ်းကို ခွင့်ပြုသည်။ အချို့သော Dual Partition မုဒ်များသည် ကုဒ်လုံခြုံရေးနှင့် လုပ်ဆောင်ချက်၏ ကြံ့ခိုင်မှုကို သေချာစေရန်အတွက် လုပ်ငန်းစဉ်တွင် ထပ်လောင်းကန့်သတ်ချက်များကို ပေးပါသည်။ Inactive Partition သို့ မြေပုံဆွဲသောအခါ ကုဒ်ကို လုပ်ဆောင်၍မရပါ။ အခန်းကန့်များကို လဲလှယ်နိုင်သော်လည်း Active Partition ရှိ ကုဒ်များကိုသာ လုပ်ဆောင်နိုင်ပါသည်။

  1. နှစ်ပိုင်းခွဲမုဒ်
    အရိုးရှင်းဆုံး Dual Partition မုဒ်သည် Active Partitions မှ Partitions 1 သို့မဟုတ် 2 ရှိ code သို့ လုပ်ဆောင်ချက်များကို ကန့်သတ်ချက်များ မရှိပါ။ မတူညီသော partitions ရှိ Code Segments များကြား အပြန်အလှန်ဆက်သွယ်မှုအပေါ် ကန့်သတ်ချက်များသည် ပိုမိုကောင်းမွန်သော လုံခြုံရေးအင်္ဂါရပ်များ၏ ဖွဲ့စည်းမှုဖြင့် ဆုံးဖြတ်ပါသည်။
  2. ကာကွယ်ထားသော နှစ်ပိုင်းခွဲမုဒ်
    Protected Dual Partition မုဒ်သည် ပုံသေကုဒ်အပိုင်း (အပိုင်း 1) ကို Flash ရေးသားခြင်း သို့မဟုတ် ဖျက်ခြင်းလုပ်ဆောင်မှုများမှ ကာကွယ်ပေးသည်။ ၎င်းသည် Partition 1 တွင် ပျက်ကွက်-ဘေးကင်းသော အရန်ပုံတစ်ပုံကို သိမ်းဆည်းရန် ခွင့်ပြုခြင်းဖြင့် “Factory Default” မုဒ်ကို အကောင်အထည်ဖော်ရန် ခွင့်ပြုပေးပါသည်။ Protected Dual Partition မုဒ်ကို အသုံးပြုသောအခါ၊ Partition 1 တွင် ရှိနေစဉ်တွင် Flash memory လုပ်ဆောင်ချက်များဖြင့် ရေးသားခြင်း သို့မဟုတ် ဖျက်ပစ်ခြင်း မပြုနိုင်ပါ။ Inactive Partition ၊ Partition 1 ကို Configuration bit ဆက်တင်များမှတစ်ဆင့် ရေးခြင်း-ကာကွယ်ထားပါက၊ ၎င်းကို အချိန်မရွေး ဖျက်ပစ် သို့မဟုတ် ရေးသား၍မရပါ။ ဆန့်ကျင်ဘက်အားဖြင့် Partition 2 သည် partition နှစ်ခုလုံးမှ လုပ်ဆောင်ချက်များအားဖြင့် ဖျက်နိုင်သည် သို့မဟုတ် ရေးသားနိုင်သည်။ ၎င်းသည် ပျက်ကွက်-ဘေးကင်းသော bootloader ကို Partition 1 တွင် ပျက်ကွက်-ဘေးကင်းသော အရန်ကုဒ်ပုံနှင့်အတူ ထည့်သွင်းနိုင်စေမည်ဖြစ်သည်။ ထို့နောက် Flash အပ်ဒိတ် မအောင်မြင်ပါက ဤကုဒ်ပုံကို ပုံသေဖြင့် လုပ်ဆောင်နိုင်ပြီး Partition 2 ကို ပြန်လည်ရေးရန် အသုံးပြုနိုင်သည်။
  3. အခွင့်ထူးခံ နှစ်ပိုင်းခွဲမုဒ်
    အခွင့်ထူးခံ Dual Partition မုဒ်သည် အပလီကေးရှင်းတစ်ခုတွင် မတူညီသောစာရေးဆရာများမှ ရေးသားထားသော Code အပိုင်းများ ပါရှိနိုင်ပြီး ထိုအပိုင်းများအနက်မှ ဉာဏပစ္စည်းပိုင်ဆိုင်မှုကို ကာကွယ်ရန်အတွက် လုံခြုံရေးအဆင့်ပိုမိုလိုအပ်ပါသည်။ ရည်းစားဟောင်းample သည် ဟာ့ဒ်ဝဲ၏ အပလီကေးရှင်းဆော့ဖ်ဝဲရေးသားသူမှ ကုဒ်အမြောက်အများကို ရေးသားထားသော်လည်း တစ်ဦးတည်းပိုင်၊ ပြင်ပအဖွဲ့အစည်း စာကြည့်တိုက်တစ်ခု ပါဝင်သည်။ ဤမုဒ်သည် ရွေးချယ်ထားသော စက်များတွင် လုံခြုံရေးအင်္ဂါရပ်များနှင့် အလုပ်လုပ်ရန် ဒီဇိုင်းထုတ်ထားပြီး၊ ပရိုဂရမ်မှတ်ဉာဏ်နေရာရှိ မတူညီသောကုဒ်အပိုင်းများကို ရွေးချယ်ကာကွယ်ပေးနိုင်သည်။
    အခွင့်ထူးခံ Dual Partition မုဒ်သည် အပိုင်းနှစ်ခုစလုံး၏ BSLIMx Configuration bits သို့ အထူးကာကွယ်မှုပေါင်းထည့်ခြင်းဖြင့် Standard Dual Partition မုဒ်နှင့် ကွဲပြားသည်။ ဤအကာအကွယ်သည် ဘစ်များကို ထိထိရောက်ရောက် သော့ခတ်ကာ Boot အပိုင်းနှင့် အထွေထွေအပိုင်း၏ အရွယ်အစားပြောင်းလဲမှုများကို တားဆီးပေးသည်။ သင့်လျော်သော လုံခြုံရေးဆက်တင်များနှင့်အတူ၊ ၎င်းသည် လုပ်ဆောင်နေချိန်၌ မည်သည့်အပိုင်းကိုမျှ ပြောင်းလဲခြင်း သို့မဟုတ် မမျှော်လင့်ဘဲ ဖတ်မည်မဟုတ်ကြောင်း သေချာစေသည်။
    အခွင့်ထူးခံ Dual Partition မုဒ်ကို Dual Partition စွမ်းရည်ရှိသော စက်အားလုံးတွင် အကောင်အထည်မဖော်ပါ။ အသေးစိတ်အတွက် သီးခြားစက်ပစ္စည်းဒေတာစာရွက်ကို ကိုးကားပါ။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (5)MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (6)
  4. ကုဒ်အပိုင်းကို ရွေးချယ်ခြင်း။
    Dual Partition မုဒ်များတွင်၊ မည်သည့် partition ကို Active Partition တွင် ပုံဖော်ပြီး လုပ်ဆောင်မည်ကို ဆုံးဖြတ်ရန် နည်းလမ်းနှစ်ခု ရှိသည်- Boot Sequence Number နှင့် BOOTSWP ညွှန်ကြားချက်။ P2ACTIV bit (NVMCON[10]) ကို မည်သည့် Physical Partition သည် Active Partition ဖြစ်သည်ကို ဆုံးဖြတ်ရန် အသုံးပြုနိုင်သည်။ P2ACTIV = 1 ဆိုလျှင်၊ Partition 2 သည် အသက်ဝင်ပါသည်။ P2ACTIV = 0 ဖြစ်ပါက၊ Partition 1 သည် အသက်ဝင်ပါသည်။ Boot Sequence Number သည် စက်ကို ပြန်လည်သတ်မှတ်ရာတွင် Active Partition ကို အလိုအလျောက် ဆုံးဖြတ်ရန်အတွက် အသုံးပြုသည့် 12-bit တန်ဖိုးဖြစ်သည်။ အပိုင်းတစ်ခုစီတွင် FBTSEQ Flash Configuration Word တွင် သိမ်းဆည်းထားသည့် သီးခြား Boot Sequence Number ရှိသင့်သည်။ BOOTSWP ညွှန်ကြားချက်ကို စက်ကို ပြန်လည်သတ်မှတ်ခြင်းမရှိဘဲ Active နှင့် Inactive Partitions များကို လဲလှယ်ရန်အတွက် အသုံးပြုပါသည်။
    1. Boot Sequence Number
      12-bit Boot Sequence Number ကို အခြား Flash Configuration Words များအထက်တွင် အမြဲတမ်းအသုံးပြုသူ ပရိုဂရမ်မှတ်ဉာဏ်၏ နောက်ဆုံးတည်နေရာတွင် အမြဲတည်ရှိသည့် FBTSEQ Flash Configuration Word တွင် သိမ်းဆည်းထားသည်။ ပရိုဂရမ်မှတ်ဉာဏ်စကားလုံး၏အောက်ပိုင်း 3 bits ကိုသာအသုံးပြုသည့် အခြားသော Configuration register များနှင့်မတူဘဲ FBTSEQ သည် full 2 bits wide ဖြစ်သည်။ အပိုင်းတစ်ခုစီသည် ပုံမှန်လည်ပတ်မှုအခြေအနေအောက်တွင် FBTSEQ အတွက် မတူညီသောတန်ဖိုးရှိသင့်သည်။ Dual Partition မုဒ်များကို အသုံးမပြုသည့်အခါ FBTSEQ ၏တန်ဖိုးကို လျစ်လျူရှုထားသည်။
      Boot Sequence Number ကို အပိုင်းနှစ်ပိုင်းဖြင့် သိမ်းဆည်းထားသည်- ဘစ်အကွက်ရှိ အမှန်တကယ်တန်ဖိုး၊ BSEQx
      (FBTSEQ[11:0]) နှင့် IBSEQx ဘစ်အကွက်ရှိ တန်ဖိုး၏ ဖြည့်စွက်ချက်၊
      (FBTSEQ[23:12])။ စက်တစ်ခုအား ပြန်လည်သတ်မှတ်ခြင်းတွင် Boot Sequence Number ကိုဖတ်သောအခါ၊ BSEQx နှင့် IBSEQx တို့၏တန်ဖိုးများကို အလိုအလျောက်နှိုင်းယှဉ်ပါသည်။ ဤတန်ဖိုးနှစ်ခုသည် အပြန်အလှန်အဖြည့်များမဟုတ်ပါက၊ Boot Sequence Number ကို မမှန်ကန်ဟု ယူဆပါသည်။ ဖြည့်စွက်တန်ဖိုးကို ဟာ့ဒ်ဝဲမှ အလိုအလျောက် ဖန်တီးထားခြင်း မဟုတ်သလို ပရိုဂရမ်းမင်းတွင် ဟာ့ဒ်ဝဲဖြင့် စစ်ဆေးခြင်းလည်း မပြုပါ။ အပလီကေးရှင်းသည် သင့်လျော်သောတန်ဖိုးကို တွက်ချက်ပြီး အစီအစဉ်ဆွဲရပါမည်။
      စက်ကို ပြန်လည်သတ်မှတ်ခြင်းတွင်၊ အပိုင်းနှစ်ခုစလုံးရှိ Boot Sequence Numbers ကို နှိုင်းယှဉ်ထားသည်။ အောက် BSEQx တန်ဖိုးရှိသော အခန်းကန့်သည် Active Partition သို့ မြေပုံဆွဲထားပြီး ၎င်း၏ကုဒ်ကို လုပ်ဆောင်ပါသည်။ Boot Sequence Numbers များထဲမှ တစ်ခုသည် မမှန်ကန်ပါက၊ Boot Sequence Number သည် မည်သည့် Boot Sequence Number နိမ့်သည်ဖြစ်စေ စက်သည် Active Partition အဖြစ် တရားဝင် Boot Sequence Number နှင့် Partition ကို ရွေးချယ်မည်ဖြစ်ပါသည်။ Boot Sequence Number နှစ်ခုလုံး မမှန်ကန်ပါက၊ Partition 1 ကို Active Partition အဖြစ် ပုံသေဖြင့် ရွေးချယ်မည်ဖြစ်ပါသည်။
      မလှုပ်ရှားနိုင်သော Partition ၏ Boot Sequence Number ကို ပြန်လည်ပရိုဂရမ်ပြုလုပ်ခြင်းဖြင့် လုပ်ဆောင်နေချိန်အတွင်း partitions များကို လဲလှယ်ရန် ပြင်ဆင်နိုင်ပါသည်။ ပြန်လည်သတ်မှတ်ခြင်းကို လုပ်ဆောင်သောအခါ၊ အောက်တန်ဖိုးရှိသော အခန်းကန့်သည် ယခု အသက်ဝင်ပါသည်။ Inactive Partition ကို အပ်ဒိတ်လုပ်ပြီး ပြန်လည်သတ်မှတ်ပြီးနောက် Active Partition သို့ မြေပုံဆွဲသည့်အခါ ဤနည်းလမ်းကို အသုံးပြုပါသည်။
      FBTSEQ ၏တည်နေရာသည် ၎င်းအား checksum သို့မဟုတ် Flash ပရိုဂရမ်မှတ်ဉာဏ်၏ အခြားအတည်ပြုချက်မှ အလွယ်တကူဖယ်ထုတ်နိုင်စေပါသည်။ အဘယ်ကြောင့်ဆိုသော် FBTSEQ တန်ဖိုးကို run time (အခြား partition ၏ BSEQx ပေါ်အခြေခံ၍) ဆုံးဖြတ်နိုင်ဖွယ်ရှိသောကြောင့်၊ ၎င်းကို CRC ကဲ့သို့သော checksum တွင် မကြာခဏ ထည့်သွင်း၍မရပါ။
      ပုံ 3-3 ၏ထိပ်ရှိ sequence သည် Boot Sequence Number ကိုပြောင်းလဲပြီး device Reset ကိုလုပ်ဆောင်သောအခါတွင် code partitions များအကြားဆက်စပ်မှုကိုပြသသည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (7)
    2. BOOTSWP ညွှန်ကြားချက်
      BOOTSWP ညွှန်ကြားချက်သည် PIC24 နှင့် dsPIC33 ညွှန်ကြားချက်အစုံအတွက် တိုးချဲ့မှုတစ်ခုဖြစ်သည်။ စက်ကို ပြန်လည်သတ်မှတ်ရန်မလိုအပ်ဘဲ Active နှင့် Inactive Partitions များကြားတွင် ကုဒ်အပိုင်းများကို လဲလှယ်ခွင့်ပြုခြင်းဖြင့် ကုဒ်၊ LiveUpdate ကို ပံ့ပိုးပေးသည်။ BOOTSWP ညွှန်ကြားချက်ကိုအသုံးပြု၍ partition swap ကို "soft swap" ဟုရည်ညွှန်းသည်။ BOOTSWP ညွှန်ကြားချက်ကို လုပ်ဆောင်ရန်၊ ဖွဲ့စည်းမှုဘစ်၊ BTSWP (FIDC[25]) ကို ရှင်းလင်းရပါမည်။ BTSWP သတ်မှတ်မှုဖြင့် BOOTSWP ညွှန်ကြားချက်ကို ကြိုးစားပါက၊ NOP ညွှန်ကြားချက်တစ်ခု ထွက်ပေါ်လာမည်ဖြစ်သည်။
      BOOTSWP ညွှန်ကြားချက်သည် PC ကို ရေးသားသည့် စကားလုံးတစ်လုံးတည်းဖြင့် ညွှန်ကြားချက်ကို အမြဲလိုက်နာရပါမည် (ဥပမာ၊ GOTO W၊ CALL W သို့မဟုတ် BRA W); ညွှန်ကြားချက်၏ ပစ်မှတ်သည် လက်ရှိလိပ်စာ၏ 32 Kbytes အတွင်း လိပ်စာတစ်ခု၌ ရှိနေရပါမည်။ လုပ်ဆောင်ပြီးနောက်၊ Active နှင့် Inactive Partitions များသည် အသစ်စက်စက် Active Partition ရှိ GOTO ညွှန်ကြားချက်ဖြင့် သတ်မှတ်ထားသည့် တည်နေရာသို့ PC vector များကို ကုန်သွယ်မှုပြုပါသည်။
      မှတ်ချက် - BOOTSWP ညွှန်ကြားချက်ကို LNK ညွှန်ကြားချက်ကို အသုံးပြု၍ stack frame အသစ်တစ်ခုကို ဖန်တီးထားသည့် လုပ်ဆောင်ချက်အတွင်းမှ လုပ်ဆောင်ပါက၊ CALL ကို GOTO ထက် BOOTSWP ၏နောက်တွင် အသုံးပြုရမည်ဖြစ်ပါသည်။ မဟုတ်ပါက၊ စက်သည် stack error ထောင်ချောက်ကို ထုတ်ပေးလိမ့်မည်။
      • BOOTSWP ညွှန်ကြားချက်ကို အကောင်အထည်ဖော်ပြီးနောက်၊ SFTSWP ဘစ် (NVMCON[11]) ကို သတ်မှတ်သည်။ ဤဘစ်သည် BOOTSWP ညွှန်ကြားချက် မှန်ကန်ကြောင်းနှင့် စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်ခြင်းထက် BOOTSWP မှတစ်ဆင့် လက်ရှိ Active Partition ကို ထည့်သွင်းထားကြောင်း ဤဘစ်ကဖော်ပြသည်။ Status bit၊ P2ACTIV (NVMCON[10]) ကိုလည်း မည်သည့် partition ကိုဖွင့်ထားသည်ကို အတည်ပြုရန် ဖတ်နိုင်သည်။
      • partition swap ပြီးနောက်၊ ယခင်က ဖွင့်ထားသည့် အရံများနှင့် ကြားဖြတ်များအားလုံးကို ဖွင့်ထားဆဲဖြစ်ကြောင်း သတိပြုရန် အရေးကြီးပါသည်။ ထို့အပြင်၊ RAM နှင့် stack သည် swap ပြီးနောက်၎င်းတို့၏ပြည်နယ်များကိုဆက်လက်ထိန်းသိမ်းထားသည်။ အပလီကေးရှင်းသည် မျှော်လင့်ထားသည့်အတိုင်း ဆက်လက်လည်ပတ်နေစေရန် သေချာစေရန်အတွက် soft swaps များကို အသုံးပြုသည့် အပလီကေးရှင်းများက စက်ပစ္စည်းကို ပြန်လည်စတင်သည့် လုပ်ရိုးလုပ်စဉ်တစ်ခုသို့ ခုန်ဆင်းရန် အထူးအကြံပြုလိုပါသည်။
      • လည်ပတ်မှုအားကောင်းရန်အတွက် BOOTSWP ညွှန်ကြားချက်ကိုမလုပ်ဆောင်မီ Standard NVM လော့ခ်ဖွင့်ခြင်းအစီအစဥ်ကို လုပ်ဆောင်ရန် လိုအပ်သည် (55h နှင့် AAh ကို NVMKEY မှတ်ပုံတင်ရန်အတွက် ဆင့်ကဲအဆင့်နှစ်ဆင့်ဖြင့် ရေးသားခြင်း၊ အပိုင်း 4.1 "စာရင်းသွင်းမှုများ" ကို ကြည့်ပါ)။ သော့ဖွင့်ခြင်းအစီအစဉ်ကို မလုပ်ဆောင်မီ ကြားဖြတ်မှုများကိုလည်း ပိတ်ရန် အရေးကြီးပါသည်။ လော့ခ်ဖွင့်ခြင်း အစီအစဉ်ကို မလုပ်ဆောင်ပါက၊ BOOTSWP အား အတင်းအကြပ် NOP အဖြစ် လုပ်ဆောင်ပါမည်။ BOOTSWP ၏အောက်ပါ GOTO ညွှန်ကြားချက်ကို ဆက်လက်လုပ်ဆောင်နေဆဲဖြစ်ပြီး လက်ရှိလည်ပတ်နေသော partition ရှိ PC သည် ထိုနေရာသို့ ခုန်တက်သွားစေသည်။ အလားတူ၊ BOOTSWP သည် Standard Partition မုဒ်တွင် အကျိုးသက်ရောက်မှုမရှိပါ။
      • ပုံ 3-3 ၏အောက်ခြေရှိ sequence သည် BOOTSWP ညွှန်ကြားချက်ကိုလုပ်ဆောင်သောအခါ partitions များအကြားဆက်စပ်မှုကိုပြသသည်။ BOOTSWP အခန်းကန့်ပြောင်းလဲမှုသည် ယာယီဖြစ်ကြောင်း သတိပြုပါ။ နောက်ဆက်တွဲ device ကိုပြန်လည်သတ်မှတ်ပြီးနောက်၊ အောက်ပိုင်း Boot Sequence Number ပါသော partition ကို Active Partition သို့ပြန်လည်သတ်မှတ်သည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (8) MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (9)

မှတ်ဉာဏ် ပရိုဂရမ်ကို မီးထိုးပါ။

PIC24 နှင့် dsPIC33 စက်ပစ္စည်းများကို နည်းလမ်းသုံးမျိုးထဲမှ တစ်ခုခုဖြင့် ပရိုဂရမ်ပြုလုပ်နိုင်ပါသည်။

  • Run-Time Self-Programming (RTSP)
  • In-Circuit Serial Programming™ (ICSP™)
  • ပိုမိုကောင်းမွန်သော ပတ်လမ်းအတွင်း အမှတ်စဉ် ပရိုဂရမ်ရေးဆွဲခြင်း (EICSP)

RTSP ကို ​​လုပ်ဆောင်နေစဉ်အတွင်း အပလီကေးရှင်းဆော့ဖ်ဝဲက လုပ်ဆောင်နေပြီး ICSP နှင့် EICSP တို့ကို စက်ပစ္စည်းနှင့် နံပါတ်စဉ်ဒေတာချိတ်ဆက်မှုအား အသုံးပြုကာ ပြင်ပပရိုဂရမ်မာတစ်ဦးမှ လုပ်ဆောင်သည်။ ICSP နှင့် EICSP သည် RTSP ထက် ပရိုဂရမ်ရေးဆွဲချိန် ပိုမိုမြန်ဆန်စေသည်။ RTSP နည်းပညာများကို ဤကဏ္ဍတွင် ဖော်ပြထားပါသည်။ ICSP နှင့် EICSP ပရိုတိုကောများကို Microchip မှဒေါင်းလုဒ်လုပ်နိုင်သည့် သက်ဆိုင်ရာစက်ပစ္စည်းများအတွက် ပရိုဂရမ်သတ်မှတ်ချက်စာရွက်စာတမ်းများတွင် သတ်မှတ်ထားပါသည်။ webဆိုဒ် (www.microchip.com).

မှတ်ပုံတင်များ
ပရိုဂရမ်းမင်း၏ လုပ်ဆောင်ချက်များကို စာရင်းခြောက်ခုဖြင့် ထိန်းချုပ်ထားသည်။ NVMCON နှင့် NVMKEY မှတ်ပုံတင်မှုများကို လုပ်ဆောင်မှုအားလုံးကို ဖွင့်ပြီး ရွေးချယ်ရန်အတွက် အသုံးပြုပါသည်။ ကျန်တဲ့ မှတ်ပုံတင်လေးခုက Data နဲ့ Address Pointers တွေကို သတ်မှတ်ပါတယ်။

မှတ်ချက် - စက်ပစ္စည်းအားလုံးသည် ဒေတာ RAM ကြားခံပရိုဂရမ်ကို အကောင်အထည်မဖော်ပါ။ နောက်ထပ်အချက်အလက်များအတွက် သီးခြားစက်ပစ္စည်းဒေတာစာရွက်ကို ကိုးကားပါ။

ထိန်းချုပ်ရေး မှတ်ပုံတင်များ
NVMCON မှတ်ပုံတင်ခြင်း (မှတ်ပုံတင်ခြင်း 4-1) သည် Flash ပရိုဂရမ်းမင်းလုပ်ဆောင်မှုအားလုံးကို ထိန်းချုပ်သည်။ NVMOP[3:0] bits (NVMCOM[3:0]) သည် လုပ်ဆောင်ရမည့် သီးခြား အရေးအသား သို့မဟုတ် ဖျက်ခြင်း လုပ်ဆောင်ချက်ကို ရွေးချယ်ပါ။ WR bit (NVMCOM[15]) သည် သင့်လျော်သောလုပ်ဆောင်ချက်ကို အစပျိုးပေးသည်။ လည်ပတ်မှုပြီးမြောက်ပြီး ဟာ့ဒ်ဝဲဖြင့် ရှင်းလင်းသည်အထိ ၎င်းကို သတ်မှတ်ပေးထားသည်။ WREN bit (NVMCOM[14]) သည် စာရေးခြင်း နှင့် ဖျက်ခြင်း လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သည် သို့မဟုတ် ပိတ်သည် ။ WREN ရှင်းသွားသောအခါတွင် WR ဘစ်ကို စတင်လုပ်ဆောင်ရန် မသတ်မှတ်နိုင်ပါ။
NVMKEY မှတ်ပုံတင်ခြင်း (Register 4-2) သည် Flash memory ကို ပျက်စီးစေနိုင်သော NVMCON ၏ မတော်တဆ ရေးသားမှုများကို တားဆီးရန်အတွက် အသုံးပြုသည့် ရေးသီးသန့် မှတ်ပုံတင်တစ်ခုဖြစ်သည်။ လော့ခ်ဖွင့်ပြီးသည်နှင့် NVMCON သို့ စာရေးခြင်းသည် ညွှန်ကြားချက်စက်ဝန်းတစ်ခုအတွက် WR ဘစ်အား ဖျက်ပစ်ခြင်း သို့မဟုတ် ပရိုဂရမ်လုပ်ရိုးလုပ်စဉ်ကို ခေါ်ဆိုရန်အတွက် သတ်မှတ်နိုင်သည်။ အချိန် သတ်မှတ်ချက်များအရ အနှောင့်အယှက်များကို ပိတ်ရန် လိုအပ်ပါသည်။
ဖျက်ပစ်ခြင်း သို့မဟုတ် ပရိုဂရမ်ရေးဆွဲခြင်း အစီအစဉ်ကို စတင်ရန် အောက်ပါအဆင့်များကို အသုံးပြုသည်-

  1. အနှောင့်အယှက်များကို ပိတ်ပါ။
  2. 0x55 ကို NVMKEY သို့ ရေးပါ။
  3. 0xAA ကို NVMKEY သို့ရေးပါ။
  4. WR ဘစ် (NVMCON[15]) ကို သတ်မှတ်ခြင်းဖြင့် ပရိုဂရမ်ရေးသားခြင်း စက်ဝိုင်းကို စတင်ပါ။
  5. NOP ညွှန်ကြားချက်နှစ်ခုကို လုပ်ဆောင်ပါ။
  6. အနှောင့်အယှက်များကို ပြန်လည်ရယူပါ။
    Example 4-1 သည် သော့ဖွင့်ခြင်း အစီအစဥ်ကို မည်သို့လုပ်ဆောင်ကြောင်း ပြသသည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (10)

အနှောင့်အယှက်များကို ပိတ်ခြင်း။
အောင်မြင်သောရလဒ်ကိုသေချာစေရန် Flash လုပ်ဆောင်ချက်အားလုံးအတွက် ကြားဖြတ်မှုများကို ပိတ်ထားရန် လိုအပ်ပါသည်။ NVMKEY လော့ခ်ဖွင့်သည့် အစီအစဉ်အတွင်း အနှောင့်အယှက်တစ်ခု ဖြစ်ပေါ်ပါက၊ ၎င်းသည် WR bit သို့ စာရေးခြင်းကို ပိတ်ဆို့နိုင်သည်။ အပိုင်း 3.2 “Dual Partition Modes” တွင် ဆွေးနွေးထားသည့်အတိုင်း NVMKEY လော့ခ်ဖွင့်ခြင်း အစီအစဉ်ကို အနှောင့်အယှက်မရှိဘဲ လုပ်ဆောင်ရပါမည်။ Global Interrupt Enable (GIE bit) ကို ပိတ်ခြင်းဖြင့် သို့မဟုတ် DISI ညွှန်ကြားချက်ကို အသုံးပြုခြင်းဖြင့် ကြားဖြတ်မှုများကို နည်းလမ်းနှစ်ခုထဲမှ တစ်ခုဖြင့် ပိတ်နိုင်သည်။ DISI ညွှန်ကြားချက်သည် ဦးစားပေး 6 သို့မဟုတ် အောက်ရှိ အနှောင့်အယှက်များကိုသာ ပိတ်ထားသောကြောင့် ၎င်းကို အကြံပြုထားခြင်း မဟုတ်ဘဲ Global Interrupt Enable နည်းလမ်းကို အသုံးပြုသင့်သည်။

CPU သည် ကုဒ်စီးဆင်းမှုကို မထိခိုက်စေမီ ညွှန်ကြားချက်နှစ်ခုကို GIE သို့ စာရေးသည်။ နောက်ပိုင်းတွင် NOP ညွှန်ကြားချက်နှစ်ခု လိုအပ်သည်၊ သို့မဟုတ် NMVKEY ကိုဖွင့်ခြင်းကဲ့သို့သော အခြားအသုံးဝင်သော အလုပ်ညွှန်ကြားချက်များဖြင့် အစားထိုးနိုင်သည်။ ၎င်းသည် သတ်မှတ်မှု နှင့် ရှင်းလင်းသော လုပ်ဆောင်မှုများ နှစ်ခုလုံးအတွက် သက်ဆိုင်သည်။ နှောင့်ယှက်မှုများကို ပြန်လည်ဖွင့်သည့်အခါတွင် ဂရုစိုက်သင့်သည် ၎င်းကို Assembly တွင်ဖြေရှင်းရန်၊ GIE bit ၏အခြေအနေကိုထိန်းသိမ်းရန် stack push နှင့် pop ကိုသုံးနိုင်သည်။ C တွင်၊ GIE ကိုရှင်းလင်းခြင်းမပြုမီ INTCON2 ကိုသိမ်းဆည်းရန် RAM ရှိ ကိန်းရှင်တစ်ခုကို အသုံးပြုနိုင်သည်။
အနှောင့်အယှက်များကို ပိတ်ရန် အောက်ပါ အစီအစဉ်ကို အသုံးပြုသင့်သည်-

  1. INTCON2 ကို stack ပေါ်သို့ တွန်းလိုက်ပါ။
  2. GIE ကိုရှင်းလင်းပါ။
  3. NOP နှစ်ခု သို့မဟုတ် NVMKEY သို့ စာရေးပါ။
  4. WR ဘစ် (NVMCON[15]) ကို သတ်မှတ်ခြင်းဖြင့် ပရိုဂရမ်းမင်းစက်ဝန်းကို စတင်ပါ။
  5. INTCON2 ၏ POP ဖြင့် GIE အခြေအနေကို ပြန်လည်ရယူပါ။
    Example 4-1 သည် Assembly တွင် syntax ကိုပေးသည်။

လိပ်စာ မှတ်ပုံတင်များ
NVMADRL နှင့် NVMADRH မှတ်ပုံတင်များသည် စာရေးခြင်းလုပ်ငန်းအတွက် Start Address Pointer ကို သတ်မှတ်သည်။ ပရိုဂရမ်မမ်မိုရီ အမျိုးအစား နှစ်မျိုးစလုံးသည် စာရေးခြင်း (လက်တ်အခြေခံ နှင့် RAM ဒဏ်ခံခြင်း) သည် ဦးတည်ရာလိပ်စာကို သတ်မှတ်ရန် ဤမှတ်ပုံတင်များကို အသုံးပြုသည်။ NVMSRCADRL နှင့် NVMSRCADRH မှတ်ပုံတင်များသည် RAM buffered ပရိုဂရမ်ကိုအသုံးပြုသောအခါတွင်အရင်းအမြစ်ဒေတာ၏ဒေတာ RAM တွင်စတင်သည့်လိပ်စာကိုသတ်မှတ်သည်။ NVMSRCADRH မှတ်ပုံတင်ခြင်းကို Extended Data Space မမ်မိုရီရှိ လိပ်စာများသို့ ညွှန်ပြရန်အတွက် တိုးချဲ့ဒေတာနေရာ (EDS) ပါသည့် စက်များတွင် အသုံးပြုသည်။

မှတ်ပုံတင်ခြင်း 4-1- NVMCON- Flash Programming Control မှတ်ပုံတင်ပါ။

R/S-0(1) R/C-0 R/C-0 R/W-0 R/C-0 R-0 R/W-0 R/C-0
WR WREN WRERR NVMPIDL(5) SFTSWP P2ACTIV RPDF(2) URERR(2)
bit ၇ bit ၇
U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0
NVMOP[3:0]
bit ၇       bit ၇
ဒဏ္ဍာရီ- S = Settable Only bit ဖြစ်ပါတယ်။ C = Clearable Only bit ဖြစ်ပါတယ်။
R = ဖတ်နိုင်သောနည်းနည်း W = ရေးသားနိုင်သော နည်းနည်း U = Unmplemented bit ၊ '0' အဖြစ်ဖတ်ပါ
-n = PO တွင် တန်ဖိုး '1' = ဘစ်ကို သတ်မှတ်ထားသည်။ '0' = ဘစ်ကို ရှင်းလင်းထားသည် x = ဘစ်ကို မသိပါ။

MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (11)

မှတ်ချက်

  1. ဤဘစ်ကို Brown-out Reset (BOR) တွင် ပြန်လည်သတ်မှတ်ပါသည်။
  2. RAM ကြားခံအတန်းလုပ်ဆောင်မှုများကို စက်အားလုံးတွင် မရရှိနိုင်ပါ။ ထိုအခြေအနေမျိုးတွင်၊ ဤအရာများကို အကောင်အထည်ဖော်၍မရဘဲ '0' အဖြစ်ဖတ်ပါ။
  3. ဤရွေးချယ်စရာများကိုရွေးချယ်ခြင်းသည် WRERR ဘစ်ကိုသတ်မှတ်ပြီး WR ဘစ်ကိုရှင်းလင်းလိမ့်မည်။
  4. စကားလုံးနှစ်ထပ်ပရိုဂရမ် လည်ပတ်မှုများသည် ဆက်စပ်နေသော ညွှန်ကြားချက်စကားလုံးနှစ်လုံး (24 ဘစ်တစ်ခုစီ) လိုအပ်သည်) ညွှန်ကြားချက်လေးခုပါသော စကားလုံးနယ်နိမိတ်ပေါ်တွင် ချိန်ညှိထားသည်။
  5. ရွေးချယ်ထားသော စက်များတွင်သာ အကောင်အထည်ဖော်ပါ။ အသေးစိတ်အချက်အလက်များအတွက် သီးခြားစက်ပစ္စည်းဒေတာစာရွက်ကို ကိုးကားပါ။

MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (12)

မှတ်ချက်

  1. ဤဘစ်ကို Brown-out Reset (BOR) တွင် ပြန်လည်သတ်မှတ်ပါသည်။
  2. RAM ကြားခံအတန်းလုပ်ဆောင်မှုများကို စက်အားလုံးတွင် မရရှိနိုင်ပါ။ ထိုအခြေအနေမျိုးတွင်၊ ဤအရာများကို အကောင်အထည်ဖော်၍မရဘဲ '0' အဖြစ်ဖတ်ပါ။
  3. ဤရွေးချယ်စရာများကိုရွေးချယ်ခြင်းသည် WRERR ဘစ်ကိုသတ်မှတ်ပြီး WR ဘစ်ကိုရှင်းလင်းလိမ့်မည်။
  4. စကားလုံးနှစ်ထပ်ပရိုဂရမ် လည်ပတ်မှုများသည် ဆက်စပ်နေသော ညွှန်ကြားချက်စကားလုံးနှစ်လုံး (24 ဘစ်တစ်ခုစီ) လိုအပ်သည်) ညွှန်ကြားချက်လေးခုပါသော စကားလုံးနယ်နိမိတ်ပေါ်တွင် ချိန်ညှိထားသည်။
  5. ရွေးချယ်ထားသော စက်များတွင်သာ အကောင်အထည်ဖော်ပါ။ အသေးစိတ်အချက်အလက်များအတွက် သီးခြားစက်ပစ္စည်းဒေတာစာရွက်ကို ကိုးကားပါ။

4-2 မှတ်ပုံတင်ခြင်း- NVMKEY- Nonvolatile Memory Key မှတ်ပုံတင်ပါ။

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0
bit ၇             bit ၇
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0
NVMKEY[7:0]
bit 7 bit 0
ဒဏ္ဍာရီ-  
R = ဖတ်နိုင်သောနည်းနည်း W = ရေးသားနိုင်သော နည်းနည်း U = Unmplemented bit ၊ '0' အဖြစ်ဖတ်ပါ
-n = PO တွင် တန်ဖိုး '1' = ဘစ်ကို သတ်မှတ်ထားသည်။ '0' = ဘစ်ကို ရှင်းလင်းထားသည် x = ဘစ်ကို မသိပါ။

 

ဇယားလည်ပတ်မှုညွှန်ကြားချက်များ
ဇယားလမ်းညွှန်ချက်များသည် ပရိုဂရမ်မှတ်ဉာဏ်နေရာနှင့် PIC24 နှင့် dsPIC33 စက်ပစ္စည်းများ၏ ဒေတာမှတ်ဉာဏ်နေရာတို့အကြား ဒေတာလွှဲပြောင်းခြင်းနည်းလမ်းတစ်ခုကို ပေးပါသည်။ Flash ပရိုဂရမ်မှတ်ဉာဏ်၏ ပရိုဂရမ်ရေးဆွဲရာတွင် အသုံးပြုသည့် ဇယားလမ်းညွှန်ချက်အကျဉ်းချုပ်ကို ဤကဏ္ဍတွင် ပေးထားသည်။
အခြေခံဇယား ညွှန်ကြားချက်လေးခု ရှိပါတယ်

  • TBLRDL- ဇယားဖတ်နည်း
  • TBLRDH- ဇယားဖတ်ပါ။
  • TBLWTL- ဇယားနိမ့်ရေးပါ။
  • TBLWTH- ဇယားမြင့်ရေးပါ။

TBLRDL နှင့် TBLWTL ညွှန်ကြားချက်များကို ပရိုဂရမ်မှတ်ဉာဏ်နေရာ၏ bits[15:0] တွင် ဖတ်ရန်နှင့် ရေးရန်အတွက် အသုံးပြုသည်။ TBLRDL နှင့် TBLWTL သည် Word သို့မဟုတ် Byte မုဒ်တွင် ပရိုဂရမ်မှတ်ဉာဏ်ကို ရယူနိုင်သည်။ TBLRDH နှင့် TBLWTH ညွှန်ကြားချက်များကို ပရိုဂရမ်မှတ်ဉာဏ်နေရာ၏ bits[23:16] တွင် ဖတ်ရန် သို့မဟုတ် စာရေးရန် အသုံးပြုသည်။ TBLRDH နှင့် TBLWTH သည် Word သို့မဟုတ် Byte မုဒ်တွင် ပရိုဂရမ်မှတ်ဉာဏ်ကို ရယူနိုင်သည်။ ပရိုဂရမ်မမ်မိုရီသည် 24 ဘစ်သာ ကျယ်သောကြောင့် TBLRDH နှင့် TBLWTH ညွှန်ကြားချက်များသည် တည်ရှိခြင်းမရှိသော ပရိုဂရမ်မှတ်ဉာဏ်၏ အထက်ဘိုက်ကို ကိုင်တွယ်ဖြေရှင်းနိုင်စွမ်းရှိသည်။ ဤ byte ကို 'phantom byte' ဟုခေါ်သည်။ phantom byte ၏ဖတ်ရှုမှုတိုင်းသည် 00h သို့ပြန်လာသည်; phantom byte သို့ စာရေးခြင်းသည် အကျိုးသက်ရောက်မှုမရှိပါ။

ဇယားလုပ်ငန်းများအတွက် လိပ်စာမျိုးဆက်
24-bit ပရိုဂရမ်မမ်မိုရီအား နေရာတစ်ခုစီသည် တူညီသောလိပ်စာအပိုင်းအခြားကို မျှဝေခြင်းဖြင့် ဘေးချင်းကပ် 16-ဘစ်နေရာလွတ်နှစ်ခုအဖြစ် မှတ်ယူနိုင်ပါသည်။ ထို့ကြောင့်၊ TBLRDL နှင့် TBLWTL ညွှန်ကြားချက်များသည် 'နိမ့်သော' ပရိုဂရမ်မှတ်ဉာဏ်နေရာ (PM[15:0]) သို့ ဝင်ရောက်သည်။ TBLRDH နှင့် TBLWTH ညွှန်ကြားချက်များသည် 'မြင့်မားသော' ပရိုဂရမ်မှတ်ဉာဏ်နေရာ (PM[31:16]) သို့ ဝင်ရောက်သည်။ PM[31:24] သို့ ဖတ်ခြင်း သို့မဟုတ် စာရေးမည်ဆိုပါက phantom (အသုံးမပြုထားသော) byte ကို အသုံးပြုပါမည်။ ဇယားလမ်းညွှန်ချက်များကို Byte မုဒ်တွင် အသုံးပြုသောအခါ၊ ဇယားလိပ်စာ၏ LSb ကို byte ရွေးသောဘစ်အဖြစ် အသုံးပြုမည်ဖြစ်သည်။ LSb သည် မြင့်မားသော သို့မဟုတ် နိမ့်သော ပရိုဂရမ်မှတ်ဉာဏ်နေရာရှိ မည်သည့်ဘိုက်ကို ဝင်ရောက်ထားသည်ကို ဆုံးဖြတ်သည်။
ပုံ 4-1 သည် ဇယားညွှန်ကြားချက်များကို အသုံးပြု၍ ပရိုဂရမ်မှတ်ဉာဏ်အား မည်သို့ကိုင်တွယ်ဖြေရှင်းသည်ကို ဖော်ပြသည်။ 24-bit ပရိုဂရမ်မမ်မိုရီလိပ်စာကို TBLPAG[7:0] ဘစ်များနှင့် ဇယားညွှန်ကြားချက်တွင် သတ်မှတ်ထားသော W register တစ်ခုမှ ထိရောက်သောလိပ်စာ (EA) ကို အသုံးပြု၍ ဖွဲ့စည်းထားသည် (24-bit ပရိုဂရမ်ကောင်တာအား ကိုးကားရန်အတွက် ပြထားသည်)။ ပရိုဂရမ်မှတ်ဉာဏ်တည်နေရာကိုရွေးချယ်ရန် EA ၏အထက် 23 bits ကိုအသုံးပြုသည်။ Byte မုဒ်ဇယားလမ်းညွှန်ချက်များအတွက်၊ W register EA ၏ LSb ကို 16-bit ပရိုဂရမ်မှတ်ဉာဏ်စကားလုံး၏ မည်သည့် byte ကိုရွေးချယ်ရန် အသုံးပြုသည်။ '1' သည် bits[15:8] ကို ရွေးသည်၊ '0' သည် bits[7:0] ကို ရွေးသည်။ W register EA ၏ LSb ကို Word မုဒ်တွင် ဇယားညွှန်ကြားချက်အတွက် လျစ်လျူရှုထားသည်။ ပရိုဂရမ်မှတ်ဉာဏ်လိပ်စာအပြင်၊ ဇယားလမ်းညွှန်ချက်များသည် ရေးသားရမည့် ပရိုဂရမ်မှတ်ဉာဏ်ဒေတာ၏ရင်းမြစ် သို့မဟုတ် ပရိုဂရမ်မှတ်ဉာဏ်ဖတ်ရန်အတွက် ဦးတည်ရာဖြစ်သည့် W မှတ်ပုံတင်ခြင်း (သို့မဟုတ် မှတ်ဉာဏ်တည်နေရာသို့ W Pointer) ကို သတ်မှတ်ပေးပါသည်။ Byte မုဒ်တွင် Table Write လုပ်ဆောင်ချက်အတွက်၊ အလုပ်လုပ်သည့် မှတ်ပုံတင်ခြင်း၏ bits[15:8] ကို လျစ်လျူရှုထားသည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (13)

စကားလုံးအသုံးပြုခွင့်နည်းပါးခြင်း။
TBLRDL နှင့် TBLWTL ညွှန်ကြားချက်များကို ပရိုဂရမ်မှတ်ဉာဏ်ဒေတာအောက်ပိုင်း 16 ဘစ်များကို ဝင်ရောက်ကြည့်ရှုရန် အသုံးပြုပါသည်။ W register လိပ်စာ၏ LSb သည် စာလုံးကျယ်သော ဇယားကို အသုံးပြုခွင့်အတွက် လျစ်လျူရှုထားသည်။ byte-wide အသုံးပြုခွင့်အတွက်၊ W register လိပ်စာ၏ LSb သည် မည်သည့် byte ကိုဖတ်သည်ကို ဆုံးဖြတ်သည်။ ပုံ 4-2 သည် TBLRDL နှင့် TBLWTL လမ်းညွှန်ချက်များဖြင့် ဝင်ရောက်ထားသော ပရိုဂရမ်မှတ်ဉာဏ်ဒေတာဒေသများကို သရုပ်ဖော်သည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (14)

မြင့်မားသောစကားလုံးဝင်ရောက်မှု
TBLRDH နှင့် TBLWTH ညွှန်ကြားချက်များသည် ပရိုဂရမ်မှတ်ဉာဏ်ဒေတာ၏ အထက်ရှစ်ဘစ်များကို ဝင်ရောက်ကြည့်ရှုရန် အသုံးပြုသည်။ ဤညွှန်ကြားချက်များသည် အချိုးညီညီအတွက် Word သို့မဟုတ် Byte Access မုဒ်များကို ပံ့ပိုးပေးသည်၊ သို့သော် ပုံ 0-4 တွင်ပြထားသည့်အတိုင်း ပရိုဂရမ်မှတ်ဉာဏ်ဒေတာ၏ မြင့်မားသောဘိုက်များသည် '3' သို့ အမြဲတမ်းပြန်လာပါမည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (15)

ပရိုဂရမ်မမ်မိုရီတွင် ဒေတာသိုလှောင်မှု
အပလီကေးရှင်းအများစုအတွက်၊ high byte (PM[23:16]) ကို ဒေတာအတွက် အသုံးမပြုနိုင်သောကြောင့် ပရိုဂရမ်မှတ်ဉာဏ်သည် ဒေတာသိမ်းဆည်းမှုအတွက် 16 bits ကျယ်ဝန်းသည်ဟု ယူဆရသည်။ စက်ပစ္စည်းအား သိမ်းဆည်းထားသောဒေတာကို မတော်တဆလုပ်ဆောင်မှုမှကာကွယ်ရန်အတွက် စက်ပစ္စည်းအား NOP (00h သို့မဟုတ် FFh) သို့မဟုတ် တရားမဝင် opcode (3Fh) တန်ဖိုးအဖြစ် ပရိုဂရမ်ဒေတာအဖြစ် ပရိုဂရမ်ပြုလုပ်ရန် အကြံပြုအပ်ပါသည်။ TBLRDH နှင့် TBLWTH လမ်းညွှန်ချက်များကို array ပရိုဂရမ်/အတည်ပြုခြင်းရည်ရွယ်ချက်များအတွက် အဓိကထားပေးထားပြီး ချုံ့ထားသောဒေတာသိမ်းဆည်းမှုလိုအပ်သော အပလီကေးရှင်းများအတွက်ဖြစ်သည်။

ပရိုဂရမ် Memory BIT အပြုအမူ
Flash ပရိုဂရမ်မှတ်ဉာဏ်ရှိ ဘစ်များကို '1' ​​မှ '0' တွင်သာ ပရိုဂရမ်ပြုလုပ်နိုင်ပြီး နောက်ပိုင်းတွင် '1' သို့ ဖျက်ပစ်နိုင်သည်။ programming sequence ဖြင့် bit ကိုသတ်မှတ်ရန်ကြိုးစားခြင်းသည် အကျိုးသက်ရောက်မှုမရှိပါ။

ဇယားကိုအသုံးပြုခြင်း လမ်းညွှန်ချက်များကို ဖတ်ပါ။
ဇယားဖတ်ရန် အဆင့်နှစ်ဆင့် လိုအပ်သည်။ ပထမဦးစွာ၊ Address Pointer သည် TBLPAG မှတ်ပုံတင်ခြင်းနှင့် W မှတ်ပုံတင်ခြင်းတစ်ခုတို့ကို အသုံးပြု၍ တည်ဆောက်ထားသည်။ ထို့နောက် လိပ်စာတည်နေရာရှိ ပရိုဂရမ်မှတ်ဉာဏ်အကြောင်းအရာများကို ဖတ်နိုင်မည်ဖြစ်သည်။
code exampEx တွင် lesample 4-2 နှင့် Example 4-3 သည် Word မုဒ်တွင် ဇယားညွှန်ကြားချက်များကို အသုံးပြု၍ ပရိုဂရမ်မှတ်ဉာဏ်၏ စကားလုံးတစ်လုံးကို မည်သို့ဖတ်ရမည်ကို သရုပ်ပြပါ။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (16)

မှတ်ချက် - tblpage() နှင့် tbloffset() လမ်းညွှန်ချက်များကို dsPIC33 နှင့် PIC24 စက်ပစ္စည်းများအတွက် Microchip တပ်ဆင်သူမှ ပံ့ပိုးပေးပါသည်။ ဤလမ်းညွှန်ချက်များသည် ပရိုဂရမ်မှတ်ဉာဏ်လိပ်စာတန်ဖိုးမှ ဇယားညွှန်ကြားချက်အတွက် သင့်လျော်သော TBLPAG နှင့် W မှတ်ပုံတင်တန်ဖိုးများကို ရွေးချယ်သည်။ ပိုမိုသိရှိလိုပါကများအတွက် “MPLAB® Assembler, Linker and Utilities for PIC24 MCUs and dsPIC® DSCs User's Guide” (DS51317) ကို ကိုးကားပါ။

ဇယားကိုင်သောလက်ဆွဲများ ရေးပါ။
Table Write ညွှန်ကြားချက်များသည် Flash ပရိုဂရမ် ခင်းကျင်းမှုသို့ တိုက်ရိုက်မရေးပါ။ ယင်းအစား၊ ညွှန်ကြားချက်များသည် ဒေတာကို latches ကိုင်ဆောင်ထားရန် ပရိုဂရမ်ကို ဦးစွာတင်ရန် ဖြစ်စေသည်။ အဆိုပါ latches များသည် ပုံမှန်အားဖြင့် FA0000h မှစတင်၍ ဖွဲ့စည်းမှုမှတ်ဉာဏ်နေရာလွတ်တွင် မမ်မိုရီ-မြေပုံပြုလုပ်ထားပြီး Table Write ညွှန်ကြားချက်များကိုသာ ဝင်ရောက်ကြည့်ရှုနိုင်မည်ဖြစ်သည်။ လက်ကိုင် latches အားလုံးကို တင်ပြီးသောအခါ၊ အထူးညွှန်ကြားချက်များကို လုပ်ဆောင်ခြင်းဖြင့် အမှန်တကယ် memory programming လုပ်ဆောင်ချက်ကို စတင်ပါသည်။
သီးခြားပရိုဂရမ် array ဒီဇိုင်း (ဆိုလိုသည်မှာ အတန်းပရိုဂရမ်အရွယ်အစားနှင့် အတန်းပရိုဂရမ်ရေးဆွဲခြင်းဆိုင်ရာ အယ်လဂိုရီသမ်) ကို အခြေခံ၍ မတူညီသော စက်ပစ္စည်းများသည် ကိုင်ဆောင်ထားသော လက်ဆွဲနံပါတ်များကို ကွဲပြားစွာလုပ်ဆောင်သည်။ နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက် သီးခြားစက်ပစ္စည်းဒေတာစာရွက်နှင့်/သို့မဟုတ် ပရိုဂရမ်ရေးဆွဲခြင်းဆိုင်ရာ သတ်မှတ်ချက်ကို ကျေးဇူးပြု၍ ကိုးကားပါ။

စကားလုံးနှစ်လုံးရေးသားခြင်းကို လုပ်ဆောင်ခြင်း။
TBLWTH နှင့် TBLWTL ညွှန်ကြားချက်တစ်စုံကို အသုံးပြု၍ တစ်ကြိမ်လျှင် စကားလုံးနှစ်လုံးအတွက် စကားလုံးရေးသားခြင်းကို လုပ်ဆောင်သည်။ ကုဒ် sequences သည် Ex တစ်ခုဖြစ်သည်။ample 4-4 သို့မဟုတ် Example 4-5 (C equivalent) ကို Word Write မုဒ်ဖြင့် Flash သို့ ပရိုဂရမ်ချမည့် ပရိုဂရမ်မမ်မိုရီလက်တင်တည်နေရာနှစ်ခုကို ရေးသားရန် အသုံးပြုနိုင်သည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (17)

Run-Time Self-Programming (RTSP)
RTSP သည် Flash ပရိုဂရမ်မှတ်ဉာဏ်အကြောင်းအရာများကို မွမ်းမံပြင်ဆင်ရန် သုံးစွဲသူကုဒ်ကို ခွင့်ပြုသည်။ RTSP သည် TBLRD (Table Read) နှင့် TBLWT (Table Write) ညွှန်ကြားချက်များကို အသုံးပြု၍ ပြီးမြောက်ပြီး NVM ထိန်းချုပ်မှု မှတ်ပုံတင်သည်။ PIC24 နှင့် dsPIC33 စက်ပစ္စည်းများသည် အောက်ပါ Flash ပရိုဂရမ်းမင်းလုပ်ဆောင်မှုများကို ပံ့ပိုးပေးသည်-

  • ဖလက်ရှ်စာမျက်နှာကို ဖျက်သည်။
  • အတန်းပရိုဂရမ်ရေးဆွဲခြင်း (လက်တ်အခြေခံ သို့မဟုတ် RAM အခြေပြု)
  • စကားလုံးပရိုဂရမ်ရေးဆွဲခြင်း။

RTSP မှတစ်ဆင့် Flash ပရိုဂရမ်ကို အတန်းများဟုခေါ်သော မှတ်ဉာဏ်တုံးများဖြင့်ဖြစ်စေ၊ Flash memory ၏ စကားလုံးနှစ်လုံးဖြင့်ဖြစ်စေ လုပ်ဆောင်သည်။ ပရိုဂရမ်မတင်မီ၊ မှတ်ဉာဏ်တည်နေရာကို ဖျက်ပစ်ရပါမည်။ ဖျက်ပစ်ခြင်းများကို အတန်းများစွာပါရှိသော စာမျက်နှာများဟုခေါ်သော မှတ်ဉာဏ်တုံးများတွင် လုပ်ဆောင်သည်။ အတန်းတစ်ခု၏ အရွယ်အစားသည် စက်ပစ္စည်းအလိုက် ကွဲပြားလိမ့်မည်; အသေးစိတ်အတွက် စက်ဒေတာစာရွက်ကို ကိုးကားပါ။ ပုံမှန်အားဖြင့်၊ dsPIC33 နှင့် PIC24 စက်များအတွက် စာမျက်နှာ (၈) တန်းအဖြစ် သတ်မှတ်သည်။ ဤစာရွက်စာတမ်းသည် ex ကိုအသုံးပြုသည်။ampအတန်းတစ်ခုလျှင် ညွှန်ကြားချက် 64 ခု (တစ်မျက်နှာလျှင် ညွှန်ကြားချက် 512 ခု) ပါရှိသည်။

လက်ကိုင်လက်ဆွဲများကို အသုံးပြု၍ အတန်းလိုက် ပရိုဂရမ်ရေးဆွဲခြင်း။
အပိုင်း 4.2.7 “Table Write Holding Laatches” တွင် ဆွေးနွေးထားသည့်အတိုင်း၊ လက်ခ်ျအခြေခံ အတန်းအစီအစဉ်ကို အကောင်အထည်ဖော်သည့် စက်များတွင် ပရိုဂရမ်းမင်းဒေတာပါရှိသော latches များကို ကိုင်ဆောင်ထားသည်။ ပရိုဂရမ်းမင်း၏ ပရိုဂရမ်မလုပ်ဆောင်မီတွင်၊ TBLWT ညွှန်ကြားချက်များမှတစ်ဆင့် ရေးရန်ဒေတာကို ဆင့်ကဲအစီအစဥ်ဖြင့် ကွက်လပ်များထဲသို့ ထည့်သွင်းရပါမည်။ အတန်းတစ်ခုရေးရန် လုပ်ဆောင်သောအခါ၊ ညွှန်ကြားချက်စကားလုံးများကို တန်းအပြည့်အဖြစ် latches များထဲသို့ ထည့်သွင်းရပါမည်။
RTSP ပရိုဂရမ်ရေးဆွဲခြင်းအတွက် အခြေခံ sequence မှာ buffers ကို တင်ရန် TBLWT ညွှန်ကြားချက်များကို ဇယားကွက်တစ်ခု သတ်မှတ်ရန်ဖြစ်သည်။ NVMCON မှတ်ပုံတင်ခြင်းရှိ ထိန်းချုပ်မှုဘစ်များကို သတ်မှတ်ခြင်းဖြင့် ပရိုဂရမ်ကို လုပ်ဆောင်သည်။ ဟောင်းအတွက်ample၊ ညွှန်ကြားချက် 64 အတန်းပါသော စက်တစ်ခုတွင်၊ ပရိုဂရမ်းမင်းစက်ဝန်းတွင် စာရေးလက်တင်များကို တင်ရန် လမ်းညွှန်ချက် 64 TBLWTL နှင့် 64 TBLWTH ပါ၀င်ပြီး ၎င်းနောက်တွင် ပရိုဂရမ်မင်းစည်းစနစ်သည် NVMCON လော့ခ်ဖွင့်ခြင်းနှင့် WR ဘစ်ကို သတ်မှတ်ခြင်းတို့ဖြင့် လုပ်ဆောင်မည်ဖြစ်သည်။ ထွample 4-6 တွင် ex ကို ပြသည်။ample ၏လုပ်ငန်းစဉ်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (18)

RAM ကြားခံကို အသုံးပြု၍ ပရိုဂရမ် အတန်း
dsPIC33 နှင့် PIC24 စက်ပစ္စည်းများကို ရွေးချယ်ပါက TBLWT ညွှန်ကြားချက်များဖြင့် ဒေတာလွှဲပြောင်းရန် လက်ကိုင်လက်ဆွဲများကိုဖြတ်သွားမည့်အစား ဒေတာ RAM ရှိ ကြားခံနေရာတစ်ခုမှ တိုက်ရိုက်လုပ်ဆောင်ရန် အတန်းပရိုဂရမ်ကို ခွင့်ပြုပါသည်။ RAM buffer ၏တည်နေရာကိုရေးသားရမည့်ပရိုဂရမ်ဒေတာ၏ပထမဆုံးစကားလုံးပါရှိသောဒေတာ RAM လိပ်စာနှင့်အတူတင်ထားသော NVMSRCADR မှတ်ပုံတင်(များ) မှဆုံးဖြတ်သည်။
ပရိုဂရမ် လုပ်ဆောင်ချက်ကို မလုပ်ဆောင်မီ၊ RAM အတွင်းရှိ ကြားခံနေရာလွတ်ကို ပရိုဂရမ်ရေးဆွဲမည့် ဒေတာအတန်းနှင့်အတူ တင်ဆောင်ရမည်ဖြစ်သည်။ RAM ကို ချုံ့ပြီး (ထုပ်ပိုးထားသော) သို့မဟုတ် ချုံ့မထားသော ဖော်မတ်ဖြင့် တင်နိုင်သည်။ ကပ်လျက်ပရိုဂရမ်ဒေတာ စကားလုံးနှစ်လုံး၏ သိသာထင်ရှားသော ဘိုက်များ (MSBs) များကို သိမ်းဆည်းရန် ဖိသိပ်ထားသော သိုလှောင်မှုသည် ဒေတာစကားလုံးတစ်လုံးကို အသုံးပြုသည်။ ချုံ့မထားသော ဖော်မတ်သည် ပရိုဂရမ်ဒေတာစကားလုံးတစ်ခုစီအတွက် ဒေတာစကားလုံးနှစ်လုံးကို အသုံးပြုပြီး အခြားစကားလုံးတိုင်း၏ အထက်ဘိုက်သည် 00h ဖြစ်သည်။ ချုံ့မထားသော ဖော်မတ်နှင့် နှိုင်းယှဉ်ပါက ဒေတာ RAM တွင် နေရာလွတ် 3/4 ခန့်ကို အသုံးပြုသည်။ အခြားတစ်ဖက်တွင်၊ ဖိသိပ်မထားသော ဖော်မတ်သည် 24-bit ပရိုဂရမ်ဒေတာစကားလုံး၏ တည်ဆောက်ပုံအား အတုယူကာ အထက် phantom byte နှင့် ပြည့်စုံသည်။ ဒေတာဖော်မတ်ကို RPDF ဘစ် (NVMCON[9]) ဖြင့် ရွေးချယ်ထားသည်။ ဤဖော်မတ်နှစ်ခုကို ပုံ 4-4 တွင်ပြထားသည်။

RAM buffer ကို တင်ပြီးသည်နှင့် Flash Address Pointers၊ NVMADRL နှင့် NVMADRH တို့ကို ရေးသားရမည့် Flash အတန်း၏ 24-bit start address ဖြင့် တင်ဆောင်ပါသည်။ write latches ကို ပရိုဂရမ်ရေးဆွဲခြင်းကဲ့သို့ပင်၊ လုပ်ငန်းစဉ်သည် NVM လော့ခ်ဖွင့်ခြင်း အစီအစဥ်ကို ရေးသားပြီး WR ဘစ်ကို သတ်မှတ်ခြင်းဖြင့် စတင်သည်။ စတင်ပြီးသည်နှင့်၊ စက်သည် ညာဘက်လက်တင်များကို အလိုအလျောက်တင်ပြီး ဘိုက်အားလုံးကို ပရိုဂရမ်မပြီးမချင်း NVM လိပ်စာစာရင်းသွင်းမှုများကို တိုးပေးသည်။ ထွample 4-7 တွင် ex ကို ပြသည်။ample ၏လုပ်ငန်းစဉ်။ အကယ်၍ NVMSRCADR သည် ဒေတာလည်ပတ်မှုအားနည်းသော အမှားအယွင်းအခြေအနေဖြစ်ပေါ်သည့်တန်ဖိုးတစ်ခုသို့ သတ်မှတ်ပါက၊ URERR ဘစ် (NVMCON[8]) သည် အခြေအနေအား ညွှန်ပြရန် သတ်မှတ်မည်ဖြစ်သည်။ RAM ကြားခံအတန်း ပရိုဂရမ်းမင်းကို အကောင်အထည်ဖော်သည့် စက်ပစ္စည်းများသည် စာရေးလက်တင်များ တစ်ခု သို့မဟုတ် နှစ်ခုကို အကောင်အထည်ဖော်သည်။ ၎င်းတို့ကို TBLWT ညွှန်ကြားချက်များကို အသုံးပြု၍ တင်ဆောင်ပြီး စကားလုံးပရိုဂရမ်ရေးဆွဲခြင်း လုပ်ငန်းများကို လုပ်ဆောင်ရန် အသုံးပြုပါသည်။MICROCHIP-PIC24-Dual-Partition-Flash-Program-Memory- (19)

အထွေထွေ Flash Programming Algorithms
Flash ပရိုဂရမ်းမင်း၏ လုပ်ဆောင်ချက်များကို အောက်ပါ Nonvolatile Memory (NVM) ထိန်းချုပ်မှု မှတ်ပုံတင်ချက်များကို အသုံးပြု၍ ထိန်းချုပ်သည်-

  • NVMCON
  • NVMKEY
  • NVMADRL/H
  • NVMSRCADRL/H (အချို့သောစက်ပစ္စည်းများ)

RTSP မုဒ်တွင် အတွင်းပိုင်း Flash ကို ပရိုဂရမ်ရေးဆွဲခြင်း သို့မဟုတ် ဖျက်ခြင်းအတွက် ပြီးပြည့်စုံသော ပရိုဂရမ်ရေးဆွဲခြင်း အစီအစဉ်တစ်ခု လိုအပ်ပါသည်။ WR ဘစ်ကို သတ်မှတ်ခြင်း (NVMCON[15]) သည် လုပ်ဆောင်ချက်ကို စတင်ပြီး လုပ်ဆောင်ချက် ပြီးဆုံးသောအခါတွင် WR ဘစ်ကို အလိုအလျောက် ရှင်းသွားမည်ဖြစ်သည်။
Active Partition (အထူးသဖြင့် Standard Partition မုဒ်တွင်) Flash ပရိုဂရမ်ရေးဆွဲခြင်းဆိုင်ရာ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်သောအခါ၊ လုပ်ဆောင်ချက်ပြီးမြောက်သည်အထိ CPU သည် ရပ်တန့်သွားမည်ဖြစ်သည်။ Inactive Partition ကို ပရိုဂရမ်ရေးဆွဲသောအခါ၊ CPU သည် ရပ်တန့်ခြင်းမရှိဘဲ ဆက်လက်လည်ပတ်နိုင်သည်။ အောက်ဖော်ပြပါ ကဏ္ဍများသည် CPU ကုပ်နှင့် ကုပ်မရှိခြင်းကို ပြသသည့် ပရိုဂရမ်းမင်း အယ်လဂိုရီသမ်များကို အကြမ်းဖျင်းဖော်ပြပါသည်။

ဖျက်ခြင်း ပရိုဂရမ်မှတ်ဉာဏ် (အသက်ဝင်သောအပိုင်း)

  1. စာမျက်နှာဖျက်ခြင်းအတွက် configure လုပ်ပြီး WREN bit (NVMCOM[3]) ကို သတ်မှတ်ရန် NVMOPx bits (NVMCOM[0:0011]) ကို '14' သို့ သတ်မှတ်ပါ။
  2. NVMADRL/H မှတ်ပုံတင်မှုများတွင် ဖျက်ပစ်မည့် ပိတ်ဆို့၏အစလိပ်စာကို ရေးပါ။
  3. အနှောင့်အယှက်များကို ပိတ်ပါ။
  4. 55h ကို NVMKEY သို့ရေးပါ။
  5. NVMKEY သို့ AAh ဟုရေးပါ။
  6. ဖျက်ခြင်းသံသရာကိုစတင်ရန် WR ဘစ် (NVMCOM[15]) ကို သတ်မှတ်ပါ။
  7. NOP ညွှန်ကြားချက်နှစ်ခုကို လုပ်ဆောင်ပါ။
  8. အနှောင့်အယှက်များကို ပြန်ယူပါ (ချန်လှပ်ထားနိုင်သည်)။
    ဖျက်ခြင်းပြီးသွားသောအခါ၊ WR ဘစ်ကို အလိုအလျောက်ရှင်းပေးပါသည်။

အတန်းအစီအစဉ်ဆွဲခြင်း (အသက်ဝင်သောအပိုင်း၊ Standard PARTITION မုဒ်)
အသုံးပြုသူသည် တစ်ကြိမ်လျှင် ပရိုဂရမ် Flash memory အတန်းတစ်တန်းကို ပရိုဂရမ်ပြုလုပ်နိုင်သည်။ ဒီလိုလုပ်ဖို့၊ လိုချင်တဲ့အတန်းပါရှိတဲ့ စာမျက်နှာကို ဖျက်ပစ်ဖို့ လိုအပ်တယ်။ Active Partition သို့ row programming အတွက် ယေဘူယျလုပ်ငန်းစဉ်မှာ-

  1. ပရိုဂရမ်မှတ်ဉာဏ် (၅၁၂ ညွှန်ကြားချက်) ကိုဖတ်ပြီး ဒေတာ RAM တွင် သိမ်းဆည်းပါ။
  2. RAM တွင် ပရိုဂရမ်ဒေတာကို လိုချင်သောဒေတာအသစ်ဖြင့် အပ်ဒိတ်လုပ်ပါ။
  3. ဘလောက်ကိုဖျက်ပါ-
    • a) စာမျက်နှာဖျက်ခြင်းအတွက် configure လုပ်ပြီး WREN bit (NVMCOM[3]) ကို သတ်မှတ်ရန် NVMOPx bits (NVMCOM[0:0011]) ကို '14' သို့ သတ်မှတ်ပါ။
    • b) NVMADRL/H မှတ်ပုံတင်မှုများတွင် ဖျက်ပစ်မည့် ပိတ်ဆို့၏အစလိပ်စာကို ရေးပါ။
    • c) အနှောင့်အယှက်များကို ပိတ်ပါ။
    • d) 55h ကို NVMKEY သို့ရေးပါ။
    • e) NVMKEY သို့ AAh ဟုရေးပါ။
    • f) WR ဘစ် (NVMCOM[15]) ကို သတ်မှတ်ပါ။ ဖျက်ခြင်းစက်ဝန်းစတင်ပြီး CPU သည် ဖျက်ခြင်းစက်ဝန်း၏ကြာချိန်အတွက် ရပ်တန့်သွားပါသည်။ ဖျက်ခြင်းပြီးသွားသောအခါ၊ WR ဘစ်ကို အလိုအလျောက်ရှင်းပေးပါသည်။
    • g) အနှောင့်အယှက်များကို ပြန်ယူပါ (ချန်လှပ်ထားနိုင်သည်)။
  4. ဒေတာ RAM မှ ပထမဆုံး လမ်းညွှန်ချက် 64 ခုကို ပရိုဂရမ်မှတ်ဉာဏ်ကြားခံများတွင် (အပိုင်း 4.2.7 “Table Write Holding Laatches” ကိုကြည့်ပါ) သို့မဟုတ် RAM တွင်သိမ်းဆည်းထားသည့် အချက်အလက်၏အစလိပ်စာဖြင့် NVMSRCADR မှတ်ပုံတင်ခြင်းကို ရေးသားပါ။
  5. ပရိုဂရမ်ပိတ်ဆို့ခြင်းကို Flash memory တွင်ရေးပါ။
    • a) အတန်းအစီအစဉ်ရေးဆွဲခြင်းအတွက် configure ရန်နှင့် WREN bit ကိုသတ်မှတ်ရန် NVMOPx ဘစ်များကို '0010' သို့သတ်မှတ်ပါ။
    • b) အနှောင့်အယှက်များကို ပိတ်ပါ။
    • c) 55h ကို NVMKEY သို့ရေးပါ။
    • d) NVMKEY သို့ AAh ဟုရေးပါ။
    • e) WR bit ကို သတ်မှတ်ပါ။ ပရိုဂရမ်းမင်းစက်ဝန်းစတင်ပြီး CPU သည် စာရေးစက်ဝန်း၏ကြာချိန်အတွက် ရပ်တန့်သွားသည်။ Flash memory သို့ စာရေးပြီးသောအခါ၊ WR bit သည် အလိုအလျောက် ရှင်းလင်းသွားမည်ဖြစ်သည်။
    • f) အနှောင့်အယှက်များကို ပြန်ယူပါ (ချန်လှပ်ထားနိုင်သည်)။
  6. NVMADRL/H တွင် လိပ်စာများကို တိုးမြှင့်ခြင်းဖြင့် ဒေတာ RAM အတွင်းရှိ ဘလောက်မှ ရရှိနိုင်သော ညွှန်ကြားချက် 4 ခုကို အသုံးပြု၍ အဆင့် 5 နှင့် 64 ကို ပြန်လုပ်ပါ၊၊ ညွှန်ကြားချက် 512 အားလုံးကို Flash memory သို့ ပြန်ရေးမထားပါ။

မှတ်ချက် - စာရေးခြင်း သို့မဟုတ် ဖျက်ခြင်းစက်ဝန်းအတွင်း စက်ပစ္စည်းအားလုံးသည် CPU ရပ်တန့်ခြင်းကို ပြသမည်မဟုတ်ပါ။ ဆိုင်များကိုရှောင်ရှားရန်၊ ဖျက်ပစ်ခြင်း သို့မဟုတ် ရေးထားသောအတန်းသို့ အပလီကေးရှင်းမှ ဖတ်ခြင်း သို့မဟုတ် ရေးသားခြင်းများကို ရှောင်ကြဉ်ရန် အကြံပြုအပ်ပါသည်။

မတော်တဆ လုပ်ဆောင်ချက်များကို ကာကွယ်ရန်အတွက်၊ ဖျက်ပစ်ခြင်း သို့မဟုတ် ပရိုဂရမ်လုပ်ဆောင်မှု မပြုမီတွင် NVMKEY အတွက် ရေးရန် စတင်လုပ်ဆောင်သည့် အတွဲလိုက် လိုအပ်ပါသည်။ ပရိုဂရမ်းမင်းအမိန့်ကို လုပ်ဆောင်ပြီးနောက်၊ အသုံးပြုသူသည် ပရိုဂရမ်းမင်းမပြီးမချင်း ပရိုဂရမ်ရေးချိန်ကို စောင့်ရပါမည်။ programming sequence စတင်ပြီးနောက် ညွှန်ကြားချက်နှစ်ခုသည် NOP များဖြစ်သင့်သည်။

မှတ်ချက်

  1. အတန်းများ၊ ပိတ်ဆို့ခြင်းနှင့် ကိုင်ဆောင်ထားသည့် လက်ချောင်းအရေအတွက်များသည် စက်တစ်ခုမှတစ်ခုသို့ ကွဲပြားနိုင်သည်။ ကျေးဇူးပြု၍ အမှန်တကယ် နံပါတ်များအတွက် သတ်မှတ်ထားသော စက်ပစ္စည်းဒေတာစာရွက်အပြင် Flash memory ပရိုဂရမ်းမင်း၏ ကိုးကားချက်အပြည့်အစုံကို ကိုးကားပါ။
  2. လက်ကိုင်လက်ကိုင်ပါသော တစ်ခုတည်းသော ကိရိယာများအတွက်၊ Flash ပရိုဂရမ်မှတ်ဉာဏ်ကို စကားလုံးပရိုဂရမ်ရေးခြင်းဖြင့် စာရေးရပါမည်။

မလှုပ်ရှားနိုင်သော အပိုင်းတွင် စာမျက်နှာတစ်ခု အစီအစဉ်ဆွဲခြင်း (DUAL PARTITION MODES)
Dual Partition မုဒ်များတွင် ပရိုဂရမ်ရေးဆွဲခြင်းသည် အထူးထည့်သွင်းစဉ်းစားရန် လိုအပ်သည်။ Inactive Partition ကို ပရိုဂရမ်ရေးဆွဲနေချိန်တွင် CPU သည် ညွှန်ကြားချက်များကို ဆက်လက်လုပ်ဆောင်နိုင်သောကြောင့်၊ CPU အရောင်းဆိုင်များ ဖြစ်ပေါ်မည်မဟုတ်ပါ။
Dual Partition မုဒ်တစ်ခုရှိ ဒေတာစာမျက်နှာတစ်ခုကို ဖျက်ခြင်းနှင့် ပြန်လည်ပရိုဂရမ်ပြုလုပ်ခြင်းအတွက် အယ်လဂိုရီသမ်သည် အောက်ပါအတိုင်းဖြစ်သည်-

  1. ဘလောက်ကိုဖျက်ပါ-
    • a) စာမျက်နှာဖျက်ခြင်းအတွက် configure လုပ်ရန် NVMOPx bits (NVMCOM[3:0]) ကို '0011' သို့ သတ်မှတ်ပါ။
    • b) WREN bit (NVMCOM[14]) ကို သတ်မှတ်ပါ။
    • c) NVMADR စာရင်းသွင်းမှုများတွင် ဖျက်ပစ်မည့် ဘလောက်၏အစလိပ်စာကို ရေးပါ။
      စာမျက်နှာလိပ်စာ။
    • d) အနှောင့်အယှက်များကို ပိတ်ပါ။
    • e) 55h ကို NVMKEY သို့ရေးပါ။
    • f) NVMKEY သို့ AAh ဟုရေးပါ။
    • g) WR ဘစ် (NVMCOM[15]) ကို သတ်မှတ်ပါ။ ဖျက်ခြင်းစက်ဝန်းစတင်ပြီး CPU သည် ဆက်လက်လည်ပတ်နေမည်ဖြစ်သည်။
    • h) ဖျက်ခြင်းပြီးသောအခါ၊ WR ဘစ်ကို အလိုအလျောက်ရှင်းပြီး NVM Write Complete Interrupt Flag (NVMIF) ပေါ်လာပါမည်။
    • i) အနှောင့်အယှက်များကို ပြန်ယူပါ (ချန်လှပ်ထားနိုင်သည်)။
  2. RAM ကြားခံအားဖြည့်ခြင်းဖြင့် ပရိုဂရမ်ရေးဆွဲမည့်ဒေတာကို ပြင်ဆင်ပါ။ တစ်လှည့်စီ၊ မှတ်ဉာဏ်၏ပထမအတန်းအတွက် ဒေတာဖြင့် TBLWT ညွှန်ကြားချက်များနှင့်အတူ စာရေးလက်ကွက်များကို တင်ပါ။
  3. ဘလောက်ကို အစီအစဉ်ဆွဲပါ-
    • a) အတန်းအစီအစဉ်ရေးဆွဲခြင်းအတွက် configure လုပ်ရန် NVMOPx bits (NVMCON[3:0]) ကို '0010' သို့ သတ်မှတ်ပါ။
    • b) WREN (NVMCON[14]) ဘစ်ကို သတ်မှတ်ပါ။
    • c) အတန်းစတင်သည့်လိပ်စာဖြင့် NVMADR မှတ်ပုံတင်မှုများတွင် ရေးသားရမည့် ဘလောက်၏အစလိပ်စာကို ရေးပါ။
    • d) အနှောင့်အယှက်များကို ပိတ်ပါ။
    • e) 55h ကို NVMKEY သို့ရေးပါ။
    • f) NVMKEY သို့ AAh ဟုရေးပါ။
    • g) WR ဘစ် (NVMCOM[15]) ကို သတ်မှတ်ပါ။ စာရေးစက်ဝိုင်းသည် စတင်ပြီး CPU သည် ဆက်လက်လည်ပတ်နေမည်ဖြစ်သည်။
    • h) ဖျက်ခြင်းပြီးသောအခါ၊ WR ဘစ်ကို အလိုအလျောက်ရှင်းပြီး NVM Write Complete Interrupt Flag (NVMIF) ပေါ်လာပါမည်။
    • i) အနှောင့်အယှက်များကို ပြန်ယူပါ (ချန်လှပ်ထားနိုင်သည်)။
  4. ဖျက်ထားသောစာမျက်နှာရှိ ကျန်ဒေတာအတန်းတစ်ခုစီကို အစီအစဉ်ချရန် အဆင့် 2 နှင့် 3 ကို ထပ်လုပ်ပါ။

မလှုပ်ရှားနိုင်သော အပိုင်းတစ်ခုလုံးကို အစီအစဉ်ဆွဲခြင်း (DUAL PARTITION MODES)
Inactive Partition တွင် ကုဒ်ကို အလုံးစုံ အပ်ဒိတ်လုပ်ရန်-

  1. Inactive Partition ကို ဖျက်ပါ
    • a) Inactive Partition ဖျက်ခြင်းအတွက် configure လုပ်ရန် NVMOPx bits (NVMCOM[3:0]) ကို '0100' သို့ သတ်မှတ်ပါ။
    • b) WREN bit (NVMCOM[14]) ကို သတ်မှတ်ပါ။
    • c) အနှောင့်အယှက်များကို ပိတ်ပါ။
    • d) 55h ကို NVMKEY သို့ရေးပါ။
    • e) NVMKEY သို့ AAh ဟုရေးပါ။
    • f) WR ဘစ် (NVMCOM[15]) ကို သတ်မှတ်ပါ။ ဖျက်ခြင်းစက်ဝန်းစတင်ပြီး စက်ဝန်းအတွင်း CPU သည် ဆက်လက်လည်ပတ်နေမည်ဖြစ်သည်။
    • g) ဖျက်ခြင်းပြီးသောအခါ၊ WR ဘစ်ကို အလိုအလျောက်ရှင်းပြီး NVM Write Complete Interrupt Flag (NVMIF) ဖြစ်ပေါ်ပါသည်။
    • h) အနှောင့်အယှက်များကို ပြန်ယူပါ (ချန်လှပ်ထားနိုင်သည်)။
  2. အပိုင်း 4.4.3 တွင် ဖော်ပြထားသည့်အတိုင်း “မလှုပ်ရှားနိုင်သော အပိုင်းတွင် စာမျက်နှာတစ်ခုကို အစီအစဉ်ချခြင်း (Dual Partition Modes)” တွင် ဖော်ပြထားသည့်အတိုင်း စာမျက်နှာတစ်ခုစီကို အသုံးပြု၍ မလှုပ်ရှားနိုင်သော အပိုင်း၏ စာမျက်နှာတစ်ခုစီကို ရေးပါ။
  3. ရေးထားသော အချက်အလက်ကို စိစစ်ပါ။ အကြံပြုထားသည့်နည်းလမ်းတစ်ခုမှာ ဒေတာများကို မှန်ကန်စွာရေးသားထားကြောင်း သေချာစေရန် အပိုင်းအပြည့်တွင် CRC တန်ဖိုးကို ရေးမှတ်ရမည့် အချက်အလက်ပေါ်တွင် CRC တစ်ခုလုပ်ဆောင်ရန်ဖြစ်သည်။

BOOTLOADER ကိုအသုံးပြု၍ Active Partition ကို အပ်ဒိတ်လုပ်ခြင်း။

  1. အပိုင်း 4.4.4 တွင်ဖော်ပြထားသည့်အတိုင်း Inactive Partition တစ်ခုလုံးကို ဖျက်ပြီး ပရိုဂရမ်လုပ်ပါ။
  2. Active Partition ၏ FBTSEQ Configuration register ကိုဖတ်ပါ။
  3. တန်ဖိုးကို တစ်ခုပြီးတစ်ခု လျှော့ချပြီး Inactive Partition ၏ FBTSEQ သို့ စာရေးပါ။
  4. အခန်းကန့် လဲလှယ်မှုကို အတင်းအကျပ်
    • a) CPU အရောင်းအ၀ယ်မှာ စိုးရိမ်စရာမဟုတ်ပါက၊ စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်ပါ။ Inactive Partition တွင် Boot Sequence Number နည်းပါးသောကြောင့်၊ ၎င်းသည် ပြန်လည်သတ်မှတ်ပြီးနောက် Active Partition ဖြစ်လာပါမည်။
    • b) CPU အရောင်းကုပ်ကို လက်မခံပါက၊ BOOTSWP ညွှန်ကြားချက်ကို လုပ်ဆောင်ပါ။

ပရိုဂရမ်နေရာမြင်နိုင်စွမ်းနှင့် ထပ်တိုးဒေတာနေရာ (PSV နှင့် EDS)

dsPIC33 နှင့် PIC24 စက်ပစ္စည်းများအားလုံးအတွက်၊ ဇယားညွှန်ကြားချက်များ (အပိုင်း 4.2 “Table Operation Instructions” ကိုကြည့်ပါ) ပရိုဂရမ်မှတ်ဉာဏ်နေရာအတွင်း ဒေတာရယူရန် အသုံးပြုနိုင်သည်။ ဒေတာကို တစ်ကြိမ်လျှင် တစ်ဘိုက် သို့မဟုတ် စာလုံးတစ်လုံးတည်းသာ ဖတ်ရန် သို့မဟုတ် ရေးသားရန် လိုအပ်သည့်အခါ ၎င်းသည် အသုံးဝင်သည်။ ပရိုဂရမ်မှတ်ဉာဏ်နေရာ၏ 16K စကားလုံးစာမျက်နှာများကို ဒေတာလိပ်စာနေရာ၏ အထက် 32 Kbytes တွင်လည်း မြေပုံဆွဲနိုင်သည်။ ၎င်းသည် ၎င်း၏သာမန် 64-Kbyte လိပ်စာကန့်သတ်ချက်များကိုကျော်လွန်၍ ဒေတာနေရာလွတ်ကို ထိရောက်စွာ ချဲ့ထွင်နိုင်စေသည့်အပြင် ဇယားညွှန်ကြားချက်များကို အသုံးမပြုဘဲ ပွင့်လင်းမြင်သာစွာ ဝင်ရောက်အသုံးပြုနိုင်မည်ဖြစ်သည်။ dsPIC33 နှင့် PIC24 စက်ပစ္စည်းများအားလုံးသည် အကောင်အထည်ဖော်ထားသော ပရိုဂရမ်မှတ်ဉာဏ်နေရာရှိ မည်သည့်စာမျက်နှာကိုမဆို ဒေတာအာကာသထဲသို့ မြေပုံဆွဲနိုင်သည် ။ ဤအင်္ဂါရပ်ကို Program Space Visibility (PSV) ဟုခေါ်သည်။ အချို့သော စက်ပစ္စည်းများသည် အချို့သော အရံအတားများကို မန်မိုရီ-မြေပုံဆွဲခြင်းဖြင့် PSV ကို virtual ပရိုဂရမ်မှတ်ဉာဏ်စာမျက်နှာများ၏ သီးခြားအကွာအဝေးသို့ ချဲ့ထွင်သည်။ ဤအင်္ဂါရပ်သည် ဒေတာဖြတ်သန်းမှုလိုအပ်ချက်များမြင့်မားသော Advanced Graphics Controller ကဲ့သို့သော အရံပစ္စည်းများအတွက် အထူးအသုံးဝင်ပါသည်။ PSV ၏ ဤချဲ့ထွင်မှုကို Extended Data Space (EDS) ဟုခေါ်သည်။
PSV နှင့် EDS ကို data memory ၏အင်္ဂါရပ်များအဖြစ်အကောင်အထည်ဖော်သည်။ ၎င်းတို့ကို dsPIC33 နှင့် PIC24 စက်များအတွက် ကွဲပြားစွာ အကောင်အထည်ဖော်ထားသည်။ အသေးစိတ်ဖော်ပြချက်အတွက်၊ “dsPIC33/PIC24 Family Reference Manual”၊ “Data Memory” ကို ကိုးကားပါ။ (dsPIC33၊ DS70595) နှင့်/သို့မဟုတ် "ဒေတာမှတ်ဉာဏ်" (PIC24၊ DS30009717)။

PSV နှင့် ညွှန်ကြားချက်ဆိုင်များ
PSV ကိုအသုံးပြုသည့် ညွှန်ကြားချက်ဆိုင်များအကြောင်း နောက်ထပ်အချက်အလက်များအတွက်၊ “dsPIC33/PIC24 Family Reference Manual”၊ “dsPIC33E Enhanced CPU” (DS70005158) ကို ကိုးကားပါ။

မြေပုံကို မှတ်ပုံတင်ပါ။

Dual Partition Flash Program Memory နှင့် ဆက်စပ်နေသော SFRs ၏ အကျဉ်းချုပ်ကို ဇယား 6-1 တွင် ဖော်ပြထားသည်။

ဇယား 6-1- Flash ပရိုဂရမ် Memory နှင့်ဆက်စပ်သော အထူးလုပ်ဆောင်ချက် မှတ်ပုံတင်ခြင်း(1)

File နာမည် ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ ဘစ် ၁၅ Resets အားလုံး(2)
TBLPAG ဇယားစာမျက်နှာလိပ်စာညွှန်ပြ 0000
NVMCON WR WREN WRERR NVMPIDL SFTSWP P2ACTIV RPDF URERR NVMOP[3:0] 0000
NVMKEY NVMKEY[7:0] 0000
NVMSRCADRL ဒေတာ RAM Programming Buffer စတင်လိပ်စာ 0000
NVMSRCDRH ဒေတာ RAM ပရိုဂရမ်းမင်း Buffer လိပ်စာ (EDS လုပ်ဆောင်ချက်များသာ) 0000
NVMADRL Flash Program Memory Destination Address၊ Lower Byte (ADDR[15:0]) 0000
NVMADRH Flash Program Memory Destination Address၊ Upper Byte (ADDR[23:16]) 0000

သက်ဆိုင်သော လျှောက်လွှာများ မှတ်စုများ

ဤကဏ္ဍသည် လက်စွဲစာအုပ်၏ ဤကဏ္ဍနှင့် သက်ဆိုင်သည့် အပလီကေးရှင်းမှတ်စုများကို စာရင်းပြုစုထားသည်။ ဤအပလီကေးရှင်းမှတ်စုများကို PIC24 သို့မဟုတ် dsPIC33 ထုတ်ကုန်မိသားစုများအတွက် အတိအကျရေးထားမည်မဟုတ်သော်လည်း သဘောတရားများသည် သက်ဆိုင်ပြီး ပြုပြင်မွမ်းမံခြင်းနှင့် ဖြစ်နိုင်သောကန့်သတ်ချက်များဖြင့် အသုံးပြုနိုင်သည်။ Dual Partition Flash Program Memory နှင့် သက်ဆိုင်သည့် လက်ရှိ အပလီကေးရှင်း မှတ်စုများမှာ-

မှတ်ချက် - Microchip ကို ဝင်ကြည့်ပါ။ webဆိုဒ် (www.microchip.com) အပိုဆောင်း အပလီကေးရှင်းမှတ်စုများနှင့် ကုဒ် exampစက်ပစ္စည်းများ၏ PIC24 နှင့် dsPIC33 မိသားစုများအတွက် les။

ပြန်လည်ပြင်ဆင်မှုသမိုင်း

  • ပြင်ဆင်ချက် A (မတ်လ 2014)
    ဤစာတမ်း၏ မူရင်းဗားရှင်း။
  • Revision B (ဖေဖော်ဝါရီ 2015)
    “Dual Boot Flash Program Memory” ဟူသော စကားစု၏ ခေါင်းစဉ်နှင့် ဖြစ်ရပ်အားလုံးကို “Dual Partition Flash Program Memory” သို့မဟုတ် “Dual Partition Flash” သို့ ပြောင်းခဲ့သည်။
  • ပြင်ဆင်ချက် C (နို၀င်ဘာ 2021)
    4.1.1.1 “အနှောက်အယှက်များကို ပိတ်ထားခြင်း” ကို ထည့်သွင်းခဲ့သည်။
    အပ်ဒိတ်လုပ်ထားသော 4.1.1 “ထိန်းချုပ်မှုစာရင်းသွင်းမှုများ”၊ 4.4.2 “အတန်းအစီအစဉ်ချခြင်း (အသက်ဝင်သောအပိုင်းပိုင်း၊ စံခွဲခန်းမုဒ်)”၊ 4.4.3 “မလှုပ်မရှားသောအပိုင်းတွင် စာမျက်နှာတစ်ခုကို အစီအစဉ်ချခြင်း (နှစ်ပိုင်းခွဲမုဒ်များ)” နှင့် 4.4.4 “တစ်ခုလုံးကို ပရိုဂရမ်ရေးဆွဲခြင်း Inactive Partition (Dual Partition Modes)" မွမ်းမံထားသော Example 4-5၊ ထွample 4-6 နှင့် Example 4-7။

Microchip ထုတ်ကုန်များတွင် ကုဒ်ကာကွယ်ရေးအင်္ဂါရပ်၏ အောက်ပါအသေးစိတ်အချက်အလက်များကို မှတ်သားထားပါ-

  • Microchip ထုတ်ကုန်များသည် ၎င်းတို့၏ သီးခြား Microchip Data Sheet တွင်ပါရှိသော သတ်မှတ်ချက်များနှင့် ကိုက်ညီပါသည်။
  • ရည်ရွယ်ထားသည့်ပုံစံ၊ လည်ပတ်မှုသတ်မှတ်ချက်များအတွင်းနှင့် ပုံမှန်အခြေအနေများတွင် အသုံးပြုသည့်အခါ ၎င်း၏ထုတ်ကုန်မိသားစုသည် လုံခြုံသည်ဟု Microchip က ယုံကြည်သည်။
  • Microchip သည် တန်ဖိုးရှိပြီး ၎င်း၏ ဉာဏမူပိုင်ခွင့်အခွင့်အရေးများကို ပြင်းပြင်းထန်ထန် ကာကွယ်ပေးသည်။ Microchip ထုတ်ကုန်၏ ကုဒ်အကာအကွယ်အင်္ဂါရပ်များကို ချိုးဖောက်ရန် ကြိုးပမ်းမှုများကို တင်းတင်းကျပ်ကျပ် တားမြစ်ထားပြီး Digital Millennium မူပိုင်ခွင့်အက်ဥပဒေကို ချိုးဖောက်နိုင်သည်။
  • Microchip နှင့် အခြား semiconductor ထုတ်လုပ်သူ နှစ်ဦးလုံးသည် ၎င်း၏ကုဒ်၏ လုံခြုံရေးကို အာမခံနိုင်မည်မဟုတ်ပေ။ ကုဒ်အကာအကွယ်သည် ကျွန်ုပ်တို့သည် ထုတ်ကုန်သည် “မပျက်စီးနိုင်သော” ဖြစ်သည်ဟု အာမခံသည်ဟု မဆိုလိုပါ။ ကုဒ်အကာအကွယ်သည် အဆက်မပြတ် ပြောင်းလဲနေသည်။ Microchip သည် ကျွန်ုပ်တို့၏ထုတ်ကုန်များ၏ ကုဒ်ကာကွယ်ရေးအင်္ဂါရပ်များကို စဉ်ဆက်မပြတ်တိုးတက်ကောင်းမွန်အောင်လုပ်ဆောင်ရန် ကတိပြုပါသည်။

ဤထုတ်ဝေမှုနှင့် ဤနေရာတွင်ရှိအချက်အလက်များကို Microchip ထုတ်ကုန်များကို ဒီဇိုင်းထုတ်ခြင်း၊ စမ်းသပ်ခြင်းနှင့် Microchip ထုတ်ကုန်များကို သင့်အက်ပ်လီကေးရှင်းနှင့် ပေါင်းစပ်ရန်အပါအဝင် Microchip ထုတ်ကုန်များနှင့်သာ အသုံးပြုနိုင်ပါသည်။ ဤအချက်အလက်ကို အခြားနည်းဖြင့် အသုံးပြုခြင်းသည် ဤစည်းကမ်းချက်များကို ချိုးဖောက်ပါသည်။ စက်ပစ္စည်းအပလီကေးရှင်းများနှင့်ပတ်သက်သည့် အချက်အလက်များကို သင့်အဆင်ပြေစေရန်အတွက်သာ ပံ့ပိုးပေးထားပြီး အပ်ဒိတ်များဖြင့် အစားထိုးနိုင်ပါသည်။ သင်၏လျှောက်လွှာသည် သင်၏သတ်မှတ်ချက်များနှင့် ကိုက်ညီကြောင်း သေချာစေရန်မှာ သင်၏တာဝန်ဖြစ်သည်။ အပိုပံ့ပိုးကူညီမှုများအတွက် သင်၏ဒေသခံ Microchip အရောင်းရုံးသို့ ဆက်သွယ်ပါ သို့မဟုတ် အပိုပံ့ပိုးကူညီမှုအား တွင် ရယူပါ။ https://www.microchip.com/en-us/support/design-help/client-supportservices.

ဤအချက်အလက်များကို Microchip "ရှိသကဲ့သို့" မှ ပံ့ပိုးပေးပါသည်။ MICROCHIP သည် မည်သည့်အမျိုးအစားကိုမျှ ကိုယ်စားပြုခြင်း သို့မဟုတ် အာမခံချက်များအား ဖော်ပြခြင်း သို့မဟုတ် အဓိပ္ပာယ်ဖွင့်ဆိုခြင်း၊ စာဖြင့်ဖြစ်စေ သို့မဟုတ် နှုတ်ဖြင့်ဖြစ်စေ၊ စည်းမျဉ်းဥပဒေ သို့မဟုတ် အခြားနည်းဖြင့်ဖြစ်စေ ဖော်ပြထားသည်ဖြစ်စေ အချက်အလက်များနှင့်ပတ်သက်သည့် ကန့်သတ်ချက်မရှိ၊ ကန့်သတ်ချက်မရှိ၊ အထူးရည်ရွယ်ချက်တစ်ခုအတွက် စွမ်းရည်၊ ကြံ့ခိုင်မှု သို့မဟုတ် အာမခံချက်များနှင့် သက်ဆိုင်သော၊ ၎င်း၏အခြေအနေ၊ အရည်အသွေး သို့မဟုတ် စွမ်းဆောင်ရည်။ သွယ်ဝိုက်သော၊ အထူး၊ ပြစ်ဒဏ်ခတ်မှု၊ မတော်တဆ သို့မဟုတ် အကျိုးဆက်ဖြစ်သော ဆုံးရှုံးမှု၊ ပျက်စီးမှု၊ ကုန်ကျစရိတ်၊ ကုန်ကျစရိတ်၊ သို့မဟုတ် စရိတ်စကတစ်မျိုးမျိုးအတွက် မိုက်ခရို Chip တွင် တာဝန်ရှိပါလိမ့်မည်၊ ၏ အကြံပြုချက်ဖြစ်ပါသည်။ ဖြစ်နိုင်ခြေ သို့မဟုတ် ပျက်စီးမှုများသည် မှန်းဆနိုင်သည်။ ဥပဒေအရ ခွင့်ပြုထားသော အတိုင်းအတာအထိ၊ သတင်းအချက်အလက်နှင့် သက်ဆိုင်သည့် မည်သည့်နည်းဖြင့်မဆို တောင်းဆိုမှုတိုင်းတွင် Microchip ၏ စုစုပေါင်းတာဝန်ဝတ္တရားမှာ သတင်းအချက်အလက် သို့မဟုတ် ၎င်း၏အသုံးပြုမှုကို သက်ဆိုင်သည်ဖြစ်စေ အခကြေးငွေပမာဏကို ကျော်လွန်မည်မဟုတ်ပါ၊ အကယ်၍ သင့်တွင်ပါရှိသော ပမာဏ၊

အသက်ကယ်ထောက်ပံ့မှုနှင့်/သို့မဟုတ် ဘေးကင်းရေးအပလီကေးရှင်းများတွင် Microchip စက်ပစ္စည်းများကို အသုံးပြုခြင်းသည် ဝယ်သူ၏အန္တရာယ်မှာ လုံးလုံးလျားလျားဖြစ်ပြီး ဝယ်ယူသူသည် ယင်းအသုံးပြုမှုမှရရှိလာသော ပျက်စီးဆုံးရှုံးမှုများ၊ အရေးဆိုမှုများ၊ လျော်ကြေးများ သို့မဟုတ် ကုန်ကျစရိတ်များမှ ကာကွယ်ရန်၊ လျော်ကြေးပေးပြီး ကိုင်ဆောင်ရန် သဘောတူပါသည်။ မည်သည့် Microchip ဉာဏပစ္စည်းမူပိုင်ခွင့်အခွင့်အရေးများအောက်တွင်၊ သွယ်ဝိုက်၍ဖြစ်စေ၊ အခြားနည်းဖြင့်ဖြစ်စေ လိုင်စင်များကို အခြားနည်းဖြင့်ဖော်ပြခြင်းမပြုဘဲ ဖြန့်ဝေခြင်းမပြုပါ။

AMBA၊ Arm၊ Arm7၊ Arm7TDMI၊ Arm9၊ Arm11၊ Artisan၊ big.LITTLE၊ Cordio၊ CoreLink၊ CoreSight၊ Cortex၊ DesignStart၊ DynamIQ၊ Jazelle၊ Keil၊ Mali၊ Mbed၊ Mbed Enabled၊ NEON၊ POP၊ RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile များသည် Arm Limited (သို့မဟုတ် ၎င်း၏ လုပ်ငန်းခွဲများ) ၏ ကုန်သွယ်မှုအမှတ်တံဆိပ်များ သို့မဟုတ် မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်များဖြစ်ပြီး US နှင့်/သို့မဟုတ် အခြားနေရာများတွင်ဖြစ်သည်။

Microchip ၏ အရည်အသွေးစီမံခန့်ခွဲမှုစနစ်များနှင့် ပတ်သက်သော အချက်အလက်များအတွက် ကျေးဇူးပြု၍ ဝင်ရောက်ကြည့်ရှုပါ။ www.microchip.com/quality.

ကုန်အမှတ်တံဆိပ်များ

Microchip အမည်နှင့် လိုဂို၊ Microchip လိုဂို၊ Adaptec၊ AnyRate၊ AVR၊ AVR လိုဂို၊ AVR Freaks၊ BesTime၊ BitCloud၊ CryptoMemory၊ CryptoRF၊ dsPIC၊ flexPWR၊ HELDO၊ IGLOO၊ JukeBlox၊ KeeLoq၊ Kleer၊ LANXeckty၊ Link၊MD၊ maXTouch၊ MediaLB၊ megaAVR၊ Microsemi၊ Microsemi လိုဂို၊ အများဆုံး၊ အများဆုံးလိုဂို၊ MPLAB၊ OptoLyzer၊ PIC၊ picoPower၊ PICSTART၊ PIC32 လိုဂို၊ PolarFire၊ Prochip ဒီဇိုင်နာ၊ QTouch၊ SAM-BA၊ SenGenuity၊ SpyNIC၊ SST၊ SuperFlash Logo ၊ Symmetricom၊ SyncServer၊ Tachyon၊ TimeSource၊ tinyAVR၊ UNI/O၊ Vectron နှင့် XMEGA တို့သည် USA နှင့် အခြားနိုင်ငံများတွင် ပေါင်းစပ်ထည့်သွင်းထားသော Microchip Technology ၏ မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။ AgileSwitch၊ APT၊ ClockWorks၊ The Embedded Control Solutions ကုမ္ပဏီ၊ EtherSynch၊ Flashtec၊ Hyper Speed ​​Control၊ HyperLight Load၊ IntelliMOS၊ Libero၊ motorBench၊ mTouch၊ Powermite 3၊ Precision Edge၊ ProASIC၊ ProASIC Plus၊ ProASIC Plus လိုဂို၊ Quiet-Wire၊ SmartFusion၊ SyncWorld၊ Temux၊ TimeCesium၊ TimeHub၊ TimePictra၊ TimeProvider၊ TrueTime၊ WinPath နှင့် ZL တို့သည် USA တွင်ထည့်သွင်းထားသော Microchip Technology ၏ မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်များဖြစ်သည်

ကပ်လျက်သော့ ဖိနှိပ်မှု ၊ ECAN၊ Espresso T1S၊ EtherGREEN၊ GridTime၊ IdealBridge၊ In-Circuit Serial Programming၊ ICSP၊ INICnet၊ Intelligent Paralleling၊ Inter-Chip ချိတ်ဆက်မှု၊ JitterBlocker၊ Knob-on-Display၊ maxCrypto၊ အမြင့်ဆုံးView၊ memBrain၊ Mindi၊ MiWi၊ MPASM၊ MPF၊ MPLAB အသိအမှတ်ပြုလိုဂို၊ MPLIB၊ MPLINK၊ MultiTRAK၊ NetDetach၊ NVM Express၊ NVMe၊ Omniscient Code Generation၊ PICDEM၊ PICDEM.net၊ PICkit၊ PICtail၊ PowerSmart၊ PureSilicon၊ QMatrix ၊ Ripple Blocker၊ RTAX၊ RTG4၊ SAM-ICE၊ Serial Quad I/O၊ simpleMAP၊ SimpliPHY၊ SmartBuffer၊ SmartHLS၊ SMART-IS၊ storClad၊ SQI၊ SuperSwitcher၊ SuperSwitcher II၊ Switchtec၊ SynchroPHY၊ Total Endurance၊ TSHARC၊ USBCheck VariSense၊ VectorBlox၊ VeriPHY၊ ViewSpan၊ WiperLock၊ XpressConnect နှင့် ZENA တို့သည် USA နှင့် အခြားသောနိုင်ငံများရှိ Microchip Technology Incorporated ၏ ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။
SQTP သည် USA တွင်ထည့်သွင်းထားသော Microchip Technology ၏ဝန်ဆောင်မှုအမှတ်အသားတစ်ခုဖြစ်သည်။
Adaptec လိုဂို၊ ဝယ်လိုအားရှိ ကြိမ်နှုန်း၊ Silicon Storage Technology၊ Symmcom နှင့် Trusted Time တို့သည် အခြားနိုင်ငံများရှိ Microchip Technology Inc. ၏ မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။
GestIC သည် Microchip Technology Germany II GmbH & Co. KG ၏ မှတ်ပုံတင်ထားသော ကုန်အမှတ်တံဆိပ်တစ်ခုဖြစ်ပြီး အခြားနိုင်ငံများရှိ Microchip Technology Inc. ၏ လုပ်ငန်းခွဲတစ်ခုဖြစ်သည်။
ဤနေရာတွင် ဖော်ပြထားသော အခြားကုန်အမှတ်တံဆိပ်များအားလုံးသည် ၎င်းတို့၏ သက်ဆိုင်ရာကုမ္ပဏီများ၏ ပိုင်ဆိုင်မှုဖြစ်သည်။
© 2014-2021၊ Microchip Technology Incorporated နှင့် ၎င်း၏ လုပ်ငန်းခွဲများ။

ကမ္ဘာတစ်ဝှမ်း အရောင်းနှင့် ဝန်ဆောင်မှု

အမေရိကား

အာရှ/ပစိဖိတ်ဒေသ

  • သြစတြေးလျ - ဆစ်ဒနီ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ပေကျင်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ချန်ဒူး
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ချုံကင်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် - Dongguan
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ကွမ်ကျိုး
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် - Hangzhou
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် - ဟောင်ကောင် SAR
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • တရုတ်-နန်ကျင်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် - Qingdao
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ရှန်ဟိုင်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် - ရှန်ယန်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ရှန်ကျန်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် - Suzhou
    Tel: 86-186-6233-1526
  • တရုတ်-ဝူဟန်
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ်-ရှန်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • တရုတ် – Xiamen
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • တရုတ်-ဇူဟိုင်
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • အိန္ဒိယ-ဘန်ဂလို
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • အိန္ဒိယ - နယူးဒေလီ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • အိန္ဒိယ - ပွန်
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ဂျပန်-အိုဆာကာ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ဂျပန်-တိုကျို
    ဖုန်း 81-3-6880- 3770
  • ကိုရီးယား - ဒေဂူ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ကိုရီးယား - ဆိုးလ်
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • မလေးရှား - ကွာလာလမ်ပူ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • မလေးရှား-ပီနန်
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ဖိလစ်ပိုင် - မနီလာ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • စင်္ကာပူ
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ထိုင်ဝမ် - ရှင်ချူး
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ထိုင်ဝမ် - ရှုံ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ထိုင်ဝမ်-တိုင်ပေ
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ထိုင်း-ဘန်ကောက်
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ဗီယက်နမ် - ဟိုချီမင်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂

ဥရောပ

  • သြစတြီးယား - ဝဲလ်
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
    ဖက်စ်- ၃၃-၇၀-၀၄၀-၀၀၂
  • ဒိန်းမတ် - ကိုပင်ဟေဂင်
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
    ဖက်စ်- ၇၃၆-၇၈၄-၆၀၉၄
  • ဖင်လန် - Espoo
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ပြင်သစ် - ပဲရစ်
    ဖုန်း 33-1-69-53-63-20
    ဖက်စ်- 33-1-69-30-90-79
  • ဂျာမနီ - Garching
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ဂျာမနီ – ဟာန်
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ဂျာမနီ – Heilbronn
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ဂျာမနီ – Karlsruhe
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ဂျာမနီ – မြူးနစ်
    ဖုန်း 49-89-627-144-0
    ဖက်စ်- 49-89-627-144-44
  • ဂျာမနီ – Rosenheim
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • အီတလီ – မီလန်
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
    ဖက်စ်- ၇၃၆-၇၈၄-၆၀၉၄
  • အီတလီ – Padova
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • နယ်သာလန် - Drunen
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
    ဖက်စ်- ၇၃၆-၇၈၄-၆၀၉၄
  • နော်ဝေး - Trondheim
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ပိုလန် - ဝါဆော
    ဖုန်း ၇၃၆-၇၈၄-၆၀၉၄
  • ရိုမေးနီးယား - ဘူခါရက်စ်
    ဖုန်း 40-21-407-87-50
  • စပိန် – မက်ဒရစ်
    ဖုန်း 34-91-708-08-90
    ဖက်စ်- 34-91-708-08-91
  • ဆွီဒင် - Gothenberg
    ဖုန်း 46-31-704-60-40
  • ဆွီဒင် – စတော့ဟုမ်း
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
  • ယူကေ - Wokingham
    ဖုန်း ၃၃-၇၀-၀၄၀-၀၀၂
    ဖက်စ်- ၃၃-၇၀-၀၄၀-၀၀၂

မှတ်ချက် - ဤမိသားစု ကိုးကားချက်လက်စွဲ ကဏ္ဍသည် စက်ပစ္စည်းဒေတာစာရွက်များ အတွက် ဖြည့်စွက်ချက်အဖြစ် လုပ်ဆောင်ရန် ရည်ရွယ်ပါသည်။ ဤစာရွက်စာတမ်းသည် dsPIC33/PIC24 စက်များအားလုံးနှင့် သက်ဆိုင်ပါသည်။ ဤစာရွက်စာတမ်းသည် သင်အသုံးပြုနေသည့်စက်ပစ္စည်းကို ထောက်ခံမှုရှိမရှိ စစ်ဆေးရန် လက်ရှိစက်ပစ္စည်းဒေတာစာရွက်ရှိ “Dual Partition Flash Program Memory” အခန်း၏အစတွင် ကျေးဇူးပြု၍ မှတ်သားထားပါ။ စက်ပစ္စည်းဒေတာစာရွက်များနှင့် မိသားစုကိုးကားချက်လက်စွဲကဏ္ဍများကို Microchip Worldwide မှ ဒေါင်းလုဒ်လုပ်ရန် ရနိုင်ပါသည်။ Webဆိုက်- http://www.microchip.com.

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

MICROCHIP PIC24 Dual Partition Flash Program Memory [pdf] အသုံးပြုသူလမ်းညွှန်
PIC24 Dual Partition Flash Program Memory၊ PIC24၊ Dual Partition Flash Program Memory၊ Flash Program Memory၊ Program Memory

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *