MICROCHIP PIC24 ການຂຽນໂປລແກລມ Flash
ຂໍ້ມູນຜະລິດຕະພັນ
ການຂຽນໂປຼແກຼມ Flash
ອຸປະກອນໃນຄອບຄົວ dsPIC33/PIC24 ມີໜ່ວຍຄວາມຈຳໂປຣແກຣມ Flash ພາຍໃນເພື່ອປະຕິບັດລະຫັດຜູ້ໃຊ້. ມີເຖິງສາມວິທີການຕັ້ງຄ່າຄວາມຊົງຈໍານີ້:
- ຕາຕະລາງປະຕິບັດງານຄໍາແນະນໍາ
- In-Circuit Serial Programming (ICSP)
- ການຂຽນໂປຣແກຣມໃນແອັບພລິເຄຊັນ (IAP)
ຄໍາແນະນໍາໃນຕາຕະລາງສະຫນອງວິທີການໂອນຂໍ້ມູນລະຫວ່າງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ແລະພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂໍ້ມູນຂອງອຸປະກອນ dsPIC33/PIC24. ຄໍາແນະນໍາ TBLRDL ຖືກນໍາໃຊ້ເພື່ອອ່ານຈາກ bits[15:0] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ. ຄໍາແນະນໍາ TBLWTL ຖືກນໍາໃຊ້ເພື່ອຂຽນເປັນ bits[15:0] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາໂຄງການ Flash. TBLRDL ແລະ TBLWTL ສາມາດເຂົ້າເຖິງຄວາມຊົງຈໍາຂອງໂຄງການ Flash ໃນຮູບແບບ Word ຫຼືຮູບແບບ Byte.
ນອກເຫນືອໄປຈາກທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມ Flash, ຄໍາແນະນໍາຕາຕະລາງຍັງກໍານົດ W register (ຫຼືຕົວຊີ້ W Register ໄປຫາສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ), ນັ້ນແມ່ນແຫຼ່ງຂອງຂໍ້ມູນຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມ Flash ທີ່ຈະຂຽນ, ຫຼືຈຸດຫມາຍປາຍທາງສໍາລັບໂຄງການ Flash. ຄວາມຊົງຈໍາອ່ານ.
ພາກນີ້ອະທິບາຍເຖິງເຕັກນິກການຂຽນໂປລແກລມຫນ່ວຍຄວາມຈໍາ Flash. ອຸປະກອນໃນຄອບຄົວ dsPIC33/ PIC24 ມີໜ່ວຍຄວາມຈຳໂປຣແກຣມ Flash ພາຍໃນເພື່ອປະຕິບັດລະຫັດຜູ້ໃຊ້. ມີເຖິງສາມວິທີການຕັ້ງຄ່າຄວາມຊົງຈໍານີ້:
- Run-Time Self-Programming (RTSP)
- In-Circuit Serial Programming™ (ICSP™)
- ປັບປຸງໂປຣແກມ In-Circuit Serial (EICSP)
RTSP ຖືກປະຕິບັດໂດຍຊອບແວແອັບພລິເຄຊັນໃນລະຫວ່າງການປະຕິບັດ, ໃນຂະນະທີ່ ICSP ແລະ EICSP ຖືກປະຕິບັດຈາກນັກຂຽນໂປລແກລມພາຍນອກໂດຍໃຊ້ການເຊື່ອມຕໍ່ຂໍ້ມູນ serial ກັບອຸປະກອນ. ICSP ແລະ EICSP ອະນຸຍາດໃຫ້ເວລາການຂຽນໂປຼແກຼມໄວກວ່າ RTSP. ເຕັກນິກ RTSP ໄດ້ຖືກອະທິບາຍໄວ້ໃນພາກ 4.0 “ການດໍາເນີນໂຄງການດ້ວຍຕົນເອງ (RTSP)”. ໂປໂຕຄອນ ICSP ແລະ EICSP ຖືກກໍານົດໄວ້ໃນເອກະສານສະເພາະການຂຽນໂປຼແກຼມສໍາລັບອຸປະກອນທີ່ກ່ຽວຂ້ອງ, ເຊິ່ງສາມາດດາວໂຫລດໄດ້ຈາກ Microchip. webເວັບໄຊ (http://www.microchip.com). ເມື່ອຂຽນໂປລແກລມໃນພາສາ C, ຟັງຊັນໃນຕົວຈໍານວນຫນຶ່ງແມ່ນມີຢູ່ເພື່ອອໍານວຍຄວາມສະດວກໃນການຂຽນໂປຼແກຼມ Flash. ເບິ່ງ “MPLAB® XC16 C Compiler User’s Guide” (DS50002071) ສໍາລັບລາຍລະອຽດກ່ຽວກັບຟັງຊັນໃນຕົວ.
ຄໍາແນະນໍາການນໍາໃຊ້ຜະລິດຕະພັນ
ເພື່ອຂຽນໂປລແກລມຫນ່ວຍຄວາມຈໍາຂອງ Flash, ປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້:
- ອ້າງອີງໃສ່ແຜ່ນຂໍ້ມູນອຸປະກອນເພື່ອກວດເບິ່ງວ່າພາກສ່ວນຄູ່ມືການອ້າງອີງຄອບຄົວຮອງຮັບອຸປະກອນທີ່ທ່ານກຳລັງໃຊ້ຫຼືບໍ່.
- ດາວໂຫລດເອກະສານຂໍ້ມູນອຸປະກອນ ແລະພາກສ່ວນຄູ່ມືການອ້າງອີງຄອບຄົວຈາກ Microchip Worldwide Webເວັບໄຊຢູ່: http://www.microchip.com.
- ເລືອກຫນຶ່ງໃນສາມວິທີການທີ່ຈະດໍາເນີນໂຄງການຫນ່ວຍຄວາມຈໍາ (Table Instruction Operation, In-Circuit Serial Programming (ICSP), In-Application Programming (IAP)).
- ຖ້າໃຊ້ Table Instruction Operation, ໃຊ້ຄໍາແນະນໍາ TBLRDL ເພື່ອອ່ານຈາກ bits[15:0] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມແລະຄໍາແນະນໍາ TBLWTL ເພື່ອຂຽນເປັນ bits[15:0] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງ Flash.
- ໃຫ້ແນ່ໃຈວ່າລະບຸຕົວຊີ້ W register (ຫຼືຕົວຊີ້ W Register ໄປຫາສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ) ເປັນແຫຼ່ງຂອງຂໍ້ມູນຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ທີ່ຈະຂຽນ, ຫຼືຈຸດຫມາຍປາຍທາງສໍາລັບການອ່ານຫນ່ວຍຄວາມຈໍາໂຄງການ Flash.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ ແລະລາຍລະອຽດກ່ຽວກັບການດໍາເນີນໂຄງການຫນ່ວຍຄວາມຈໍາຂອງໂປຣແກຣມ Flash, ເບິ່ງຄູ່ມືອ້າງອີງຄອບຄົວ dsPIC33/PIC24.
ຕາຕະລາງປະຕິບັດງານຄໍາແນະນໍາ
ຄໍາແນະນໍາຕາຕະລາງສະຫນອງວິທີການໂອນຂໍ້ມູນລະຫວ່າງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂປຣແກຣມ Flash ແລະພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂໍ້ມູນຂອງອຸປະກອນ dsPIC33/PIC24. ພາກນີ້ສະຫນອງການສະຫຼຸບຂອງຄໍາແນະນໍາຕາຕະລາງທີ່ໃຊ້ໃນລະຫວ່າງການດໍາເນີນໂຄງການຂອງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ Flash. ມີສີ່ຄໍາແນະນໍາຕາຕະລາງພື້ນຖານ:
- TBLRDL: ຕາຕະລາງອ່ານຕ່ໍາ
- TBLRDH: ຕາຕະລາງອ່ານສູງ
- TBLWTL: ຕາຕະລາງຂຽນຕ່ໍາ
- TBLWTH: ຕາຕະລາງຂຽນສູງ
ຄໍາແນະນໍາ TBLRDL ຖືກນໍາໃຊ້ເພື່ອອ່ານຈາກ bits[15:0] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ. ຄໍາແນະນໍາ TBLWTL ຖືກນໍາໃຊ້ເພື່ອຂຽນເປັນ bits[15:0] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາໂຄງການ Flash. TBLRDL ແລະ TBLWTL ສາມາດເຂົ້າເຖິງຄວາມຊົງຈໍາຂອງໂຄງການ Flash ໃນຮູບແບບ Word ຫຼືຮູບແບບ Byte.
ຄໍາແນະນໍາ TBLRDH ແລະ TBLWTH ຖືກນໍາໃຊ້ເພື່ອອ່ານຫຼືຂຽນເປັນ bits[23:16] ຂອງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ. TBLRDH ແລະ TBLWTH ສາມາດເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ Flash ໃນໂຫມດ Word ຫຼື Byte. ເນື່ອງຈາກວ່າຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ມີຄວາມກວ້າງພຽງແຕ່ 24 bits, ຄໍາແນະນໍາ TBLRDH ແລະ TBLWTH ສາມາດແກ້ໄຂ byte ເທິງຂອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ທີ່ບໍ່ມີຢູ່. byte ນີ້ເອີ້ນວ່າ "phantom byte". ການອ່ານໃດໆຂອງ phantom byte ຈະກັບຄືນມາ 0x00. ການຂຽນໃສ່ phantom byte ບໍ່ມີຜົນກະທົບ. ໜ່ວຍຄວາມຈຳຂອງໂປຣແກຣມ Flash 24-bit ສາມາດຖືໄດ້ວ່າເປັນຊ່ອງຫວ່າງ 16-bit ສອງຂ້າງກັນ, ໂດຍແຕ່ລະຊ່ອງຈະແບ່ງປັນໄລຍະທີ່ຢູ່ດຽວກັນ. ດັ່ງນັ້ນ, ຄໍາແນະນໍາ TBLRDL ແລະ TBLWTL ເຂົ້າເຖິງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ "ຕ່ໍາ" (PM[15:0]). ຄໍາແນະນໍາ TBLRDH ແລະ TBLWTH ເຂົ້າເຖິງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ "ສູງ" (PM[31:16]). ທຸກໆການອ່ານຫຼືຂຽນໄປຫາ PM[31:24] ຈະເຂົ້າເຖິງ phantom (ບໍ່ໄດ້ປະຕິບັດ) byte. ເມື່ອຄໍາແນະນໍາຕາຕະລາງໃດໆຖືກນໍາໃຊ້ໃນໂຫມດ Byte, ບິດທີ່ສໍາຄັນຫນ້ອຍ (LSb) ຂອງທີ່ຢູ່ຕາຕະລາງຈະຖືກນໍາໃຊ້ເປັນ byte ເລືອກ bit. LSb ກໍານົດວ່າ byte ໃດໃນພື້ນທີ່ຫນ່ວຍຄວາມຈໍາໂຄງການສູງຫຼືຕ່ໍາແມ່ນເຂົ້າເຖິງ.
ຮູບທີ 2-1 ສະແດງໃຫ້ເຫັນວິທີການແກ້ໄຂຫນ່ວຍຄວາມຈໍາຂອງໂປຣແກຣມ Flash ໂດຍໃຊ້ຄໍາແນະນໍາຕາຕະລາງ. ທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມ 24-bit ແມ່ນສ້າງຂຶ້ນໂດຍໃຊ້ bits[7:0] ຂອງທະບຽນ TBLPAG ແລະທີ່ຢູ່ Effective (EA) ຈາກທະບຽນ W ທີ່ລະບຸໄວ້ໃນຄໍາແນະນໍາຕາຕະລາງ. ຕົວນັບໂປຣແກຣມ 24-bit (PC) ແມ່ນສະແດງຢູ່ໃນຮູບ 2-1 ເພື່ອອ້າງອີງ. 23 bits ເທິງຂອງ EA ຖືກນໍາໃຊ້ເພື່ອເລືອກສະຖານທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ Flash.
ສໍາລັບຄໍາແນະນໍາຕາຕະລາງຮູບແບບ Byte, LSb ຂອງ W register EA ຖືກນໍາໃຊ້ເພື່ອເລືອກວ່າ byte ຂອງ 16-bit Flash program memory word ຖືກແກ້ໄຂ; '1' ເລືອກ bits[15:8] ແລະ '0' ເລືອກ bits[7:0]. LSb ຂອງ W register EA ແມ່ນຖືກລະເລີຍສໍາລັບຄໍາແນະນໍາຕາຕະລາງໃນຮູບແບບ Word. ນອກເຫນືອໄປຈາກທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມ Flash, ຄໍາແນະນໍາຕາຕະລາງຍັງກໍານົດ W register (ຫຼືຕົວຊີ້ W Register ໄປຫາສະຖານທີ່ຫນ່ວຍຄວາມຈໍາ), ນັ້ນແມ່ນແຫຼ່ງຂອງຂໍ້ມູນຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມ Flash ທີ່ຈະຂຽນ, ຫຼືຈຸດຫມາຍປາຍທາງສໍາລັບໂຄງການ Flash. ຄວາມຊົງຈໍາອ່ານ. ສໍາລັບການດໍາເນີນງານການຂຽນຕາຕະລາງໃນໂຫມດ Byte, bits[15:8] ຂອງແຫຼ່ງການລົງທະບຽນການເຮັດວຽກແມ່ນຖືກລະເລີຍ.
ການນໍາໃຊ້ຕາຕະລາງອ່ານຄໍາແນະນໍາ
ການອ່ານຕາຕະລາງຕ້ອງການສອງຂັ້ນຕອນ:
- ຕົວຊີ້ທີ່ຢູ່ຖືກຕັ້ງຄ່າໂດຍໃຊ້ທະບຽນ TBLPAG ແລະຫນຶ່ງໃນທະບຽນ W.
- ເນື້ອໃນໜ່ວຍຄວາມຈຳຂອງໂປຣແກຣມ Flash ຢູ່ທີ່ສະຖານທີ່ທີ່ຢູ່ອາດຈະຖືກອ່ານ.
- ອ່ານຮູບແບບຄຳສັບ
ລະຫັດທີ່ສະແດງຢູ່ໃນ Example 2-1 ແລະ Example 2-2 ສະແດງໃຫ້ເຫັນວິທີການອ່ານຄໍາສັບຂອງຄວາມຊົງຈໍາຂອງໂຄງການ Flash ໂດຍນໍາໃຊ້ຄໍາແນະນໍາຕາຕະລາງໃນຮູບແບບ Word. - ອ່ານ BYTE MODE
ລະຫັດທີ່ສະແດງຢູ່ໃນ Example 2-3 ສະແດງຕົວປະຕິບັດການ post-increment ໃນການອ່ານຂອງ byte ຕ່ໍາ, ເຊິ່ງເຮັດໃຫ້ທີ່ຢູ່ໃນ Working register ເພີ່ມຂຶ້ນຫນຶ່ງ. ນີ້ກໍານົດ EA[0] ເປັນ '1' ສໍາລັບການເຂົ້າເຖິງ byte ກາງໃນຄໍາແນະນໍາການຂຽນທີສາມ. ການເພີ່ມຂຶ້ນຫຼັງສຸດທ້າຍກໍານົດ W0 ກັບຄືນໄປບ່ອນທີ່ຢູ່ຄູ່, ຊີ້ໄປຫາສະຖານທີ່ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ Flash ຕໍ່ໄປ. - ຕາຕະລາງຂຽນ LATCHES
ຄໍາແນະນໍາໃນການຂຽນຕາຕະລາງບໍ່ໄດ້ຂຽນໂດຍກົງໃສ່ຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມທີ່ບໍ່ປ່ຽນແປງ. ແທນທີ່ຈະ, ຄໍາແນະນໍາການຂຽນຕາຕະລາງໂຫລດ latches ຂຽນທີ່ເກັບຮັກສາຂໍ້ມູນການຂຽນ. ການລົງທະບຽນທີ່ຢູ່ NVM ຕ້ອງໄດ້ຮັບການໂຫລດດ້ວຍທີ່ຢູ່ທໍາອິດທີ່ຂໍ້ມູນ latched ຄວນຖືກຂຽນ. ເມື່ອບັນທຶກການຂຽນທັງໝົດຖືກໂຫຼດແລ້ວ, ການດຳເນີນງານການຂຽນໂປຣແກຣມຄວາມຈຳຕົວຈິງແມ່ນເລີ່ມຕົ້ນໂດຍການດຳເນີນການຕາມລຳດັບຄຳແນະນຳພິເສດ. ໃນລະຫວ່າງການຂຽນໂປລແກລມ, ຮາດແວຈະໂອນຂໍ້ມູນໃນ latches ຂຽນໄປຫາ Flash memory. ຕົວຍຶດຂຽນສະເຫມີເລີ່ມຕົ້ນທີ່ທີ່ຢູ່ 0xFA0000, ແລະຂະຫຍາຍຜ່ານ 0xFA0002 ສໍາລັບການຂຽນໂປລແກລມຄໍາ, ຫຼືຜ່ານ 0xFA00FE ສໍາລັບອຸປະກອນທີ່ມີການຂຽນໂປລແກລມແຖວ.
ໝາຍເຫດ: ຈໍານວນຂອງສໍາລັບການຂຽນແຕກຕ່າງກັນໂດຍອຸປະກອນ. ອ້າງເຖິງບົດ “ຄວາມຊົງຈຳຂອງໂປຣແກຣມ Flash” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບຈຳນວນຂອງສະຕິກຂຽນທີ່ມີຢູ່.
ຄວບຄຸມການລົງທະບຽນ
ການລົງທະບຽນຟັງຊັນພິເສດຫຼາຍອັນ (SFRs) ຖືກນໍາໃຊ້ເພື່ອດໍາເນີນໂຄງການລຶບຄວາມຊົງຈໍາຂອງໂປລແກລມ Flash: NVMCON, NVMKEY, ແລະການລົງທະບຽນທີ່ຢູ່ NVM, NVMADR ແລະ NVMADRU.
NVMCON ລົງທະບຽນ
ທະບຽນ NVMCON ແມ່ນການລົງທະບຽນການຄວບຄຸມຕົ້ນຕໍສໍາລັບ Flash ແລະການດໍາເນີນງານໂຄງການ / ລົບ. ການລົງທະບຽນນີ້ເລືອກວ່າຈະດຳເນີນການລຶບ ຫຼືການດຳເນີນການຂອງໂປຣແກຣມ ແລະສາມາດເລີ່ມໂປຣແກຣມ ຫຼືຮອບການລຶບໄດ້. ການລົງທະບຽນ NVMCON ແມ່ນສະແດງຢູ່ໃນ Register 3-1. byte ຕ່ໍາຂອງ NVMCON ກໍານົດປະເພດຂອງການດໍາເນີນງານ NVM ທີ່ຈະດໍາເນີນການ.
ລົງທະບຽນ NVMKEY
ການລົງທະບຽນ NVMKEY (ເບິ່ງ Register 3-4) ແມ່ນການລົງທະບຽນແບບຂຽນເທົ່ານັ້ນທີ່ໃຊ້ເພື່ອປ້ອງກັນການຂຽນ NVMCON ທີ່ບໍ່ຕັ້ງໃຈທີ່ສາມາດທໍາລາຍຫນ່ວຍຄວາມຈໍາ Flash. ເມື່ອປົດລັອກແລ້ວ, ຂຽນໃສ່ NVMCON ແມ່ນອະນຸຍາດໃຫ້ໃຊ້ໄດ້ສໍາລັບຮອບການສິດສອນໜຶ່ງຄັ້ງທີ່ WR bit ສາມາດຖືກຕັ້ງໃຫ້ເອີ້ນການລຶບ ຫຼືໂຄງການປົກກະຕິ. ອີງຕາມຂໍ້ກໍານົດໄລຍະເວລາ, ການປິດການຂັດຂວາງແມ່ນຈໍາເປັນ.
ເຮັດຂັ້ນຕອນຕໍ່ໄປນີ້ເພື່ອເລີ່ມການລຶບ ຫຼືການຕັ້ງໂປຣແກຣມຕາມລຳດັບ:
- ປິດການຂັດຂວາງ.
- ຂຽນ 0x55 ໃສ່ NVMKEY.
- ຂຽນ 0xAA ໃສ່ NVMKEY.
- ເລີ່ມຕົ້ນວົງຈອນການຂຽນໂປຼແກຼມໂດຍການຕັ້ງ WR bit (NVMCON[15]).
- ປະຕິບັດສອງຄໍາແນະນໍາ NOP.
- ຟື້ນຟູການຂັດຂວາງ.
ການປິດການຂັດຂວາງ
ການປິດການຂັດຂວາງແມ່ນຈໍາເປັນສໍາລັບການດໍາເນີນງານ Flash ທັງຫມົດເພື່ອຮັບປະກັນຜົນໄດ້ຮັບທີ່ປະສົບຜົນສໍາເລັດ. ຖ້າມີການຂັດຈັງຫວະເກີດຂຶ້ນໃນລະຫວ່າງລໍາດັບ NVMKEY ປົດລັອກ, ມັນສາມາດບລັອກການຂຽນໃສ່ WR bit ໄດ້. ລໍາດັບການປົດລັອກ NVMKEY ຕ້ອງໄດ້ຮັບການປະຕິບັດໂດຍບໍ່ມີການຂັດຂວາງ, ດັ່ງທີ່ໄດ້ສົນທະນາໃນພາກ 3.2 "ການລົງທະບຽນ NVMKEY".
ການຂັດຂວາງສາມາດຖືກປິດໃຊ້ງານໃນຫນຶ່ງໃນສອງວິທີການ, ໂດຍການປິດການໃຊ້ງານ Global Interrupt Enable (GIE bit), ຫຼືໂດຍການໃຊ້ຄໍາແນະນໍາ DISI. ຄໍາແນະນໍາ DISI ບໍ່ໄດ້ຖືກແນະນໍາເນື່ອງຈາກມັນພຽງແຕ່ປິດການຂັດຂວາງຂອງຄວາມສໍາຄັນ 6 ຫຼືຂ້າງລຸ່ມນີ້; ດັ່ງນັ້ນ, ວິທີການເປີດໃຊ້ການຂັດຂວາງທົ່ວໂລກຄວນຖືກນໍາໃຊ້.
CPU ຂຽນໄປຫາ GIE ໃຊ້ເວລາສອງຮອບຄໍາແນະນໍາກ່ອນທີ່ຈະສົ່ງຜົນກະທົບຕໍ່ການໄຫຼເຂົ້າລະຫັດ. ສອງຄໍາແນະນໍາ NOP ແມ່ນຈໍາເປັນຫຼັງຈາກນັ້ນ, ຫຼືສາມາດຖືກທົດແທນດ້ວຍຄໍາແນະນໍາການເຮັດວຽກທີ່ເປັນປະໂຫຍດອື່ນໆ, ເຊັ່ນ: ການໂຫຼດ NVMKEY; ອັນນີ້ໃຊ້ໄດ້ກັບທັງການດຳເນີນການທີ່ຕັ້ງ ແລະຈະແຈ້ງ. ຄວນລະມັດລະວັງເມື່ອເປີດໃຊ້ການລົບກວນຄືນໃໝ່ເພື່ອບໍ່ໃຫ້ການລົບກວນທີ່ຕັ້ງເປົ້າໝາຍ NVM ປົກກະຕິເມື່ອຟັງຊັນທີ່ເອີ້ນວ່າກ່ອນໜ້ານີ້ປິດການໃຊ້ງານດ້ວຍເຫດຜົນອື່ນໆ. ເພື່ອແກ້ໄຂບັນຫານີ້ຢູ່ໃນສະພາແຫ່ງ, ການຊຸກຍູ້ແລະປ໊ອບປ໊ອບສາມາດຖືກນໍາໃຊ້ເພື່ອຮັກສາສະຖານະຂອງ GIE bit. ໃນ C, ຕົວແປໃນ RAM ສາມາດຖືກນໍາໃຊ້ເພື່ອເກັບຮັກສາ INTCON2 ກ່ອນທີ່ຈະລຶບ GIE. ໃຊ້ລໍາດັບຕໍ່ໄປນີ້ເພື່ອປິດການຂັດຂວາງ:
- ຍູ້ INTCON2 ໃສ່ stack.
- ລຶບ GIE bit.
- ສອງ NOPs ຫຼືຂຽນໃສ່ NVMKEY.
- ເລີ່ມຕົ້ນວົງຈອນການຂຽນໂປຼແກຼມໂດຍການຕັ້ງຄ່າ WR bit (NVMCON[15]).
- ຟື້ນຟູສະຖານະ GIE ໂດຍ POP ຂອງ INTCON2.
ລົງທະບຽນທີ່ຢູ່ NVM
ທັງສອງ NVM Address ລົງທະບຽນ, NVMADRU ແລະ NVMADR, ເມື່ອປະສົມປະສານກັນ, ປະກອບເປັນ 24-bit EA ຂອງແຖວ ຫຼືຄໍາທີ່ເລືອກສໍາລັບການດໍາເນີນງານການຂຽນໂປຼແກຼມ. ທະບຽນ NVMADRU ຖືກນໍາໃຊ້ເພື່ອຖືແປດບິດເທິງຂອງ EA, ແລະທະບຽນ NVMADR ຖືກນໍາໃຊ້ເພື່ອຖື 16 bits ຕ່ໍາຂອງ EA. ບາງອຸປະກອນອາດຈະອ້າງອີງເຖິງການລົງທະບຽນດຽວກັນກັບ NVMADRL ແລະ NVMADRH. ການລົງທະບຽນທີ່ຢູ່ NVM ຄວນຊີ້ໃຫ້ເຫັນເຖິງຂອບເຂດຂອງຄໍາຄໍາແນະນໍາສອງເທົ່າໃນເວລາທີ່ປະຕິບັດການດໍາເນີນໂຄງການຄໍາທີ່ໃຊ້ຄໍາແນະນໍາຄູ່, ຂອບເຂດແຖວໃນເວລາທີ່ປະຕິບັດການດໍາເນີນໂຄງການແຖວຫຼືຂອບເຂດຫນ້າໃນເວລາທີ່ປະຕິບັດການລຶບຫນ້າ.
ລົງທະບຽນ 3-1: NVMCON: Flash Memory Control Register
ໝາຍເຫດ
- ບິດນີ້ສາມາດຖືກຣີເຊັດໄດ້ເທົ່ານັ້ນ (ເຊັ່ນ: ລຶບລ້າງ) ໃນການຣີເຊັດເປີດເຄື່ອງ (POR).
- ເມື່ອອອກຈາກໂໝດ Idle, ມີການຊັກຊ້າໃນການເປີດເຄື່ອງ (TVREG) ກ່ອນທີ່ໜ່ວຍຄວາມຈຳຂອງໂປຣແກຣມ Flash ຈະເຮັດວຽກໄດ້. ເບິ່ງບົດ “ຄຸນລັກສະນະທາງໄຟຟ້າ” ຂອງເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.
- ການປະສົມອື່ນໆທັງໝົດຂອງ NVMOP[3:0] ແມ່ນບໍ່ໄດ້ນຳໃຊ້.
- ຟັງຊັນນີ້ບໍ່ສາມາດໃຊ້ໄດ້ໃນທຸກອຸປະກອນ. ເບິ່ງບົດ “ຄວາມຊົງຈຳຂອງໂປຣແກຣມ Flash” ໃນເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບການປະຕິບັດງານທີ່ມີຢູ່.
- ການເຂົ້າໄປໃນຮູບແບບການປະຫຍັດພະລັງງານຫຼັງຈາກປະຕິບັດຄໍາແນະນໍາ PWRSAV ແມ່ນຂຶ້ນກັບການສໍາເລັດການດໍາເນີນການ NVM ທີ່ຍັງຄ້າງທັງຫມົດ.
- ບິດນີ້ສາມາດໃຊ້ໄດ້ໃນອຸປະກອນທີ່ຮອງຮັບ RAM buffed row programming ເທົ່ານັ້ນ. ອ້າງອີງໃສ່ແຜ່ນຂໍ້ມູນສະເພາະອຸປະກອນເພື່ອຄວາມພ້ອມ.
ໝາຍເຫດ
- ບິດນີ້ສາມາດຖືກຣີເຊັດໄດ້ເທົ່ານັ້ນ (ເຊັ່ນ: ລຶບລ້າງ) ໃນການຣີເຊັດເປີດເຄື່ອງ (POR).
- ເມື່ອອອກຈາກໂໝດ Idle, ມີການຊັກຊ້າໃນການເປີດເຄື່ອງ (TVREG) ກ່ອນທີ່ໜ່ວຍຄວາມຈຳຂອງໂປຣແກຣມ Flash ຈະເຮັດວຽກໄດ້. ເບິ່ງບົດ “ຄຸນລັກສະນະທາງໄຟຟ້າ” ຂອງເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.
- ການປະສົມອື່ນໆທັງໝົດຂອງ NVMOP[3:0] ແມ່ນບໍ່ໄດ້ນຳໃຊ້.
- ຟັງຊັນນີ້ບໍ່ສາມາດໃຊ້ໄດ້ໃນທຸກອຸປະກອນ. ເບິ່ງບົດ “ຄວາມຊົງຈຳຂອງໂປຣແກຣມ Flash” ໃນເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບການປະຕິບັດງານທີ່ມີຢູ່.
- ການເຂົ້າໄປໃນຮູບແບບການປະຫຍັດພະລັງງານຫຼັງຈາກປະຕິບັດຄໍາແນະນໍາ PWRSAV ແມ່ນຂຶ້ນກັບການສໍາເລັດການດໍາເນີນການ NVM ທີ່ຍັງຄ້າງທັງຫມົດ.
- ບິດນີ້ສາມາດໃຊ້ໄດ້ໃນອຸປະກອນທີ່ຮອງຮັບ RAM buffed row programming ເທົ່ານັ້ນ. ອ້າງອີງໃສ່ແຜ່ນຂໍ້ມູນສະເພາະອຸປະກອນເພື່ອຄວາມພ້ອມ.
ລົງທະບຽນ 3-2: NVMADRU: Nonvolatile Memory Upper Address Register
ລົງທະບຽນ 3-3: NVMADR: ລົງທະບຽນທີ່ຢູ່ Memory Nonvolatile
ລົງທະບຽນ 3-4: NVMKEY: Nonvolatile Memory Key Register
ດໍາເນີນໂຄງການດ້ວຍຕົນເອງ (RTSP)
RTSP ອະນຸຍາດໃຫ້ຄໍາຮ້ອງສະຫມັກຜູ້ໃຊ້ເພື່ອປັບປຸງແກ້ໄຂເນື້ອໃນຄວາມຊົງຈໍາຂອງໂຄງການ Flash. RTSP ແມ່ນສໍາເລັດໂດຍໃຊ້ຄໍາແນະນໍາ TBLRD (Table Read) ແລະ TBLWT (Table Write), ທະບຽນ TBLPAG, ແລະ NVM Control registers. ດ້ວຍ RTSP, ແອັບພລິເຄຊັນຜູ້ໃຊ້ສາມາດລຶບຫນ້າດຽວຂອງຫນ່ວຍຄວາມຈໍາ Flash ແລະໂຄງການທັງສອງຄໍາສອນຫຼືເຖິງ 128 ຄໍາສອນໃນອຸປະກອນບາງຢ່າງ.
ການດໍາເນີນງານ RTSP
Array ໜ່ວຍຄວາມຈຳໂປຣແກຣມ dsPIC33/PIC24 Flash ຖືກຈັດເປັນໜ້າລຶບທີ່ສາມາດບັນຈຸໄດ້ເຖິງ 1024 ຄຳແນະນຳ. ທາງເລືອກການຂຽນໂປຼແກຼມສອງຄໍາແມ່ນມີຢູ່ໃນທຸກອຸປະກອນໃນຄອບຄົວ dsPIC33/PIC24. ນອກຈາກນັ້ນ, ອຸປະກອນບາງຢ່າງມີຄວາມສາມາດຂຽນໂປລແກລມແຖວ, ເຊິ່ງຊ່ວຍໃຫ້ການຂຽນໂປລແກລມໄດ້ເຖິງ 128 ຄໍາສອນໃນເວລາດຽວ. ການດໍາເນີນງານການຂຽນໂປລແກລມແລະລົບສະເຫມີເກີດຂື້ນຢູ່ໃນຄໍາສັບການຂຽນໂປຼແກຼມຄູ່, ແຖວຫຼືຫນ້າ. ອ້າງເຖິງບົດ “ຄວາມຈຳໂປຣແກຣມ Flash” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບຄວາມພ້ອມ ແລະຂະໜາດຂອງແຖວການຂຽນໂປຣແກຣມ, ແລະຂະໜາດໜ້າສຳລັບການລຶບ. ໜ່ວຍຄວາມຈຳຂອງໂປຣແກມ Flash ປະຕິບັດການຖື buffers, ເອີ້ນວ່າ write latches, ທີ່ສາມາດບັນຈຸໄດ້ເຖິງ 128 ຄໍາແນະນໍາຂອງຂໍ້ມູນການຂຽນໂປຼແກຼມ ຂຶ້ນກັບອຸປະກອນ. ກ່ອນທີ່ຈະດໍາເນີນການຂຽນໂປລແກລມຕົວຈິງ, ຂໍ້ມູນການຂຽນຕ້ອງຖືກໂຫລດເຂົ້າໄປໃນຕົວຂຽນ. ລໍາດັບພື້ນຖານສໍາລັບ RTSP ແມ່ນເພື່ອຕັ້ງຄ່າຕົວຊີ້ຕາຕະລາງ, ລົງທະບຽນ TBLPAG, ແລະຫຼັງຈາກນັ້ນປະຕິບັດຊຸດຄໍາແນະນໍາຂອງ TBLWT ເພື່ອໂຫລດ latches ຂຽນ. ການຂຽນໂປລແກລມຖືກປະຕິບັດໂດຍການຕັ້ງຄ່າບິດຄວບຄຸມໃນທະບຽນ NVMCON. ຈໍານວນຄໍາແນະນໍາຂອງ TBLWTL ແລະ TBLWTH ທີ່ຈໍາເປັນເພື່ອໂຫລດ latches ຂຽນແມ່ນເທົ່າກັບຈໍານວນຄໍາສັບຂອງໂປຼແກຼມທີ່ຈະຂຽນ.
ໝາຍເຫດ: ແນະນຳໃຫ້ບັນທຶກການລົງທະບຽນ TBLPAG ກ່ອນການດັດແກ້ ແລະ ຟື້ນຟູຫຼັງການນຳໃຊ້.
ຂໍ້ຄວນລະວັງ
ໃນບາງອຸປະກອນ, ບິດການຕັ້ງຄ່າຈະຖືກເກັບໄວ້ໃນຫນ້າສຸດທ້າຍຂອງໂປລແກລມ ພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຜູ້ໃຊ້ Flash ໃນສ່ວນທີ່ເອີ້ນວ່າ, "Flash Configuration Bytes". ດ້ວຍອຸປະກອນເຫຼົ່ານີ້, ການປະຕິບັດການລຶບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມຈະລຶບ bytes ການຕັ້ງຄ່າ Flash, ເຊິ່ງເຮັດໃຫ້ການປົກປ້ອງລະຫັດ. ດັ່ງນັ້ນ, ຜູ້ໃຊ້ບໍ່ຄວນປະຕິບັດການລຶບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ. ນີ້ບໍ່ແມ່ນຄວາມກັງວົນໃນເວລາທີ່ບິດການຕັ້ງຄ່າຖືກເກັບໄວ້ໃນພື້ນທີ່ຫນ່ວຍຄວາມຈໍາການຕັ້ງຄ່າໃນສ່ວນທີ່ເອີ້ນວ່າ, "ການລົງທະບຽນອຸປະກອນການຕັ້ງຄ່າ". ເບິ່ງແຜນທີ່ຄວາມຊົງຈໍາຂອງໂປຣແກຣມໃນບົດ “ອົງການຄວາມຈຳ” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກໍານົດບ່ອນທີ່ບິດການຕັ້ງຄ່າຢູ່.
ການດໍາເນີນງານການຂຽນໂປຼແກຼມ Flash
ການປະຕິບັດໂຄງການຫຼືການລຶບແມ່ນມີຄວາມຈໍາເປັນສໍາລັບການຂຽນໂປລແກລມຫຼືລຶບຫນ່ວຍຄວາມຈໍາພາຍໃນໂຄງການ Flash ໃນໂຫມດ RTSP. ໂປຣແກມ ຫຼື ການດຳເນີນການລຶບຈະຖືກຕັ້ງເວລາໂດຍອັດຕະໂນມັດໂດຍອຸປະກອນ (ອ້າງອີງໃສ່ແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບຂໍ້ມູນເວລາ). ການຕັ້ງຄ່າ WR bit (NVMCON[15]) ເລີ່ມການເຮັດວຽກ. ບິດ WR ຈະຖືກລຶບອັດຕະໂນມັດເມື່ອການດຳເນີນການສຳເລັດ. CPU ຢຸດຈົນກ່ວາການດໍາເນີນໂຄງການສໍາເລັດ. CPU ຈະບໍ່ປະຕິບັດຄໍາແນະນໍາໃດໆຫຼືຕອບສະຫນອງຕໍ່ການຂັດຂວາງໃນລະຫວ່າງເວລານີ້. ຖ້າການຂັດຂວາງໃດໆເກີດຂື້ນໃນລະຫວ່າງຮອບການຂຽນໂປຼແກຼມ, ພວກມັນຍັງຄົງຄ້າງຢູ່ຈົນກ່ວາວົງຈອນສໍາເລັດ. ບາງອຸປະກອນ dsPIC33/PIC24 ອາດຈະສະຫນອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ເສີມ (ເບິ່ງ "ອົງການຫນ່ວຍຄວາມຈໍາ" ບົດຂອງເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະສໍາລັບລາຍລະອຽດ), ເຊິ່ງອະນຸຍາດໃຫ້ດໍາເນີນການຄໍາແນະນໍາໂດຍບໍ່ມີການ CPU Stalls ໃນຂະນະທີ່ຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ກໍາລັງຖືກລຶບລ້າງແລະ / ຫຼືໂຄງການ. ໃນທາງກັບກັນ, ໜ່ວຍຄວາມຈຳໂຄງການ Flash ເສີມສາມາດຖືກຕັ້ງໂປຣແກມໂດຍບໍ່ມີ CPU Stalls, ຕາບໃດທີ່ລະຫັດຖືກປະຕິບັດຈາກໜ່ວຍຄວາມຈຳໂປຣແກຣມ Flash. ການຂັດຂວາງ NVM ສາມາດຖືກນໍາໃຊ້ເພື່ອຊີ້ບອກວ່າການດໍາເນີນໂຄງການແມ່ນສໍາເລັດ.
ໝາຍເຫດ
- ຖ້າເຫດການ POR ຫຼື BOR ເກີດຂຶ້ນໃນຂະນະທີ່ການລຶບ RTSP ຫຼືການດໍາເນີນໂຄງການກໍາລັງດໍາເນີນຢູ່, ການດໍາເນີນງານ RTSP ຈະຖືກຍົກເລີກທັນທີ. ຜູ້ໃຊ້ຄວນປະຕິບັດການດໍາເນີນການ RTSP ອີກເທື່ອຫນຶ່ງຫຼັງຈາກທີ່ອຸປະກອນອອກມາຈາກ Reset.
- ຖ້າເຫດການຕັ້ງຄ່າ EXTR, SWR, WDTO, TRAPR, CM ຫຼື IOPUWR ເກີດຂຶ້ນໃນຂະນະທີ່ການລຶບ RTSP ຫຼືການດໍາເນີນໂຄງການກໍາລັງດໍາເນີນຢູ່, ອຸປະກອນຈະຖືກຣີເຊັດພຽງແຕ່ຫຼັງຈາກການດໍາເນີນງານ RTSP ສໍາເລັດ.
ຂັ້ນຕອນການດໍາເນີນໂຄງການ RTSP
ພາກນີ້ອະທິບາຍການຂຽນໂປລແກລມ RTSP, ເຊິ່ງປະກອບດ້ວຍສາມຂະບວນການໃຫຍ່.
ການສ້າງຮູບພາບ RAM ຂອງຫນ້າຂໍ້ມູນທີ່ຈະດັດແປງ
ປະຕິບັດສອງຂັ້ນຕອນນີ້ເພື່ອສ້າງຮູບພາບ RAM ຂອງຫນ້າຂໍ້ມູນທີ່ຈະດັດແປງ:
- ອ່ານຫນ້າຂອງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ Flash ແລະເກັບໄວ້ໃນ RAM ຂໍ້ມູນເປັນ "ຮູບພາບ". ຮູບພາບ RAM ຕ້ອງຖືກອ່ານເລີ່ມຕົ້ນຈາກຂອບເຂດທີ່ຢູ່ຂອງຫນ້າ.
- ແກ້ໄຂຮູບພາບຂໍ້ມູນ RAM ຕາມຄວາມຕ້ອງການ.
ການລຶບຄວາມຊົງຈໍາຂອງໂຄງການ Flash
ຫຼັງຈາກສໍາເລັດຂັ້ນຕອນທີ 1 ແລະ 2 ຂ້າງເທິງນີ້, ປະຕິບັດສີ່ຂັ້ນຕອນຕໍ່ໄປນີ້ເພື່ອລົບຫນ້າຄວາມຈໍາຂອງໂຄງການ Flash:
- ຕັ້ງ NVMOP[3:0] bits (NVMCON[3:0]) ເພື່ອລຶບຫນ້າຂອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash ທີ່ອ່ານຈາກຂັ້ນຕອນ 1.
- ຂຽນທີ່ຢູ່ເລີ່ມຕົ້ນຂອງຫນ້າທີ່ຈະລຶບເຂົ້າໄປໃນທະບຽນ NVMADRU ແລະ NMVADR.
- ດ້ວຍການຂັດຂວາງຖືກປິດໃຊ້ງານ:
- a) ຂຽນລໍາດັບທີ່ສໍາຄັນໃສ່ທະບຽນ NVMKEY ເພື່ອເປີດໃຊ້ການຕັ້ງຄ່າ WR bit (NVMCON[15]).
- b) ກໍານົດ WR bit; ນີ້ຈະເລີ່ມຕົ້ນວົງຈອນການລຶບ.
- c) ປະຕິບັດສອງຄໍາແນະນໍາ NOP.
- ບິດ WR ຈະຖືກລຶບລ້າງເມື່ອວົງຈອນການລຶບສຳເລັດແລ້ວ.
ການຂຽນໂປລແກລມຫນ້າຫນ່ວຍຄວາມຈໍາ Flash
ສ່ວນຕໍ່ໄປຂອງຂະບວນການແມ່ນເພື່ອດໍາເນີນໂຄງການຫນ້າຫນ່ວຍຄວາມຈໍາ Flash. ຫນ້າຫນ່ວຍຄວາມຈໍາ Flash ແມ່ນດໍາເນີນໂຄງການໂດຍນໍາໃຊ້ຂໍ້ມູນຈາກຮູບພາບທີ່ສ້າງຂຶ້ນໃນຂັ້ນຕອນທີ 1. ຂໍ້ມູນຖືກໂອນໄປໃສ່ເຄື່ອງສໍາຮອງການຂຽນເປັນເທື່ອລະກ້າວຂອງຄໍາຄໍາແນະນໍາສອງຫຼືແຖວ. ອຸປະກອນທັງໝົດມີຄວາມສາມາດໃນການຂຽນໂປຣແກຣມຄຳສອນສອງເທົ່າ. (ເບິ່ງ "ຄວາມຊົງຈໍາໂຄງການ Flash" ບົດໃນເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກໍານົດວ່າ, ແລະປະເພດໃດ, ການຂຽນໂປລແກລມແຖວມີຢູ່.) ຫຼັງຈາກບັນທຶກການຂຽນຖືກໂຫລດ, ການດໍາເນີນງານການຂຽນໂປລແກລມແມ່ນເລີ່ມຕົ້ນ, ເຊິ່ງໂອນຂໍ້ມູນຈາກແຖບຂໍ້ມູນ. ຂຽນ latches ເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາ Flash. ອັນນີ້ຖືກເຮັດຊ້ຳຈົນກ່ວາໜ້າທັງໝົດໄດ້ຖືກຕັ້ງໂຄງການ. ເຮັດຊ້ໍາສາມຂັ້ນຕອນຕໍ່ໄປນີ້, ເລີ່ມຕົ້ນຈາກຄໍາສອນທໍາອິດຂອງຫນ້າ Flash ແລະເພີ່ມຂຶ້ນໃນຂັ້ນຕອນຂອງຄໍາສັບໂຄງການຄູ່, ຫຼືແຖວຄໍາແນະນໍາ, ຈົນກ່ວາຫນ້າທັງຫມົດໄດ້ຖືກດໍາເນີນໂຄງການ:
- ໂຫລດສະຕິກຂຽນ:
- a) ກໍານົດການລົງທະບຽນ TBLPAG ເພື່ອຊີ້ໃຫ້ເຫັນສະຖານທີ່ຂອງ latches ຂຽນ.
- b) ໂຫຼດຕົວເລກທີ່ຕ້ອງການຂອງສະລັບໂດຍໃຊ້ຄູ່ຂອງຄໍາແນະນໍາ TBLWTL ແລະ TBLWTH:
- ສໍາລັບການຂຽນໂປລແກລມສອງຄໍາ, ສອງຄູ່ຂອງຄໍາແນະນໍາ TBLWTL ແລະ TBLWTH ແມ່ນຕ້ອງການ
- ສໍາລັບການຂຽນໂປລແກລມແຖວ, ຄູ່ຂອງຄໍາແນະນໍາ TBLWTL ແລະ TBLWTH ແມ່ນຈໍາເປັນສໍາລັບແຕ່ລະອົງປະກອບແຖວຂອງຄໍາຄໍາແນະນໍາ.
- ເລີ່ມຕົ້ນການດໍາເນີນໂຄງການ:
- ກ) ຕັ້ງ NVMOP[3:0] bits (NVMCON[3:0]) ເພື່ອຂຽນໂປຣແກຣມສອງຄຳສອນ ຫຼືແຖວຄຳແນະນຳຕາມຄວາມເໝາະສົມ.
b) ຂຽນທີ່ຢູ່ທໍາອິດຂອງຄໍາຄໍາແນະນໍາຄູ່ຫຼືແຖວຄໍາແນະນໍາທີ່ຈະດໍາເນີນໂຄງການເຂົ້າໃນທະບຽນ NVMADRU ແລະ NVMADR.
c) ມີການຂັດຂວາງປິດໃຊ້ງານ:
• ຂຽນລໍາດັບຫຼັກໃສ່ທະບຽນ NVMKEY ເພື່ອເປີດໃຊ້ການຕັ້ງຄ່າ WR bit (NVMCON[15])
•ກໍານົດ WR bit; ນີ້ຈະເລີ່ມຕົ້ນວົງຈອນການລຶບ
• ປະຕິບັດສອງຄໍາແນະນໍາ NOP
- ກ) ຕັ້ງ NVMOP[3:0] bits (NVMCON[3:0]) ເພື່ອຂຽນໂປຣແກຣມສອງຄຳສອນ ຫຼືແຖວຄຳແນະນຳຕາມຄວາມເໝາະສົມ.
- ບິດ WR ຈະຖືກລຶບລ້າງເມື່ອວົງຈອນການຂຽນໂປຼແກຼມສໍາເລັດ.
ເຮັດຊ້ໍາຂະບວນການທັງຫມົດຕາມຄວາມຈໍາເປັນເພື່ອດໍາເນີນໂຄງການຈໍານວນທີ່ຕ້ອງການຂອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash.
ໝາຍເຫດ
- ຜູ້ໃຊ້ຄວນຈື່ໄວ້ວ່າຈໍານວນຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມ Flash ຕໍາ່ສຸດທີ່ສາມາດໄດ້ຮັບການລຶບລ້າງໂດຍໃຊ້ RTSP ແມ່ນຫນ້າທີ່ຖືກລຶບຖິ້ມ. ດັ່ງນັ້ນ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຮູບພາບຂອງສະຖານທີ່ເຫຼົ່ານີ້ຖືກເກັບໄວ້ໃນ RAM ຈຸດປະສົງທົ່ວໄປກ່ອນທີ່ວົງຈອນການລຶບຈະຖືກເລີ່ມຕົ້ນ.
- ແຖວ ຫຼືຄຳສັບໃນໜ່ວຍຄວາມຈຳຂອງໂປຣແກຣມ Flash ບໍ່ຄວນຕັ້ງໂປຣແກຣມຫຼາຍກວ່າສອງເທື່ອກ່ອນທີ່ຈະຖືກລຶບ.
- ໃນອຸປະກອນທີ່ມີ Configuration bytes ທີ່ເກັບໄວ້ໃນຫນ້າສຸດທ້າຍຂອງ Flash, ການປະຕິບັດການລຶບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມຈະລ້າງ bytes ການຕັ້ງຄ່າ, ເຊິ່ງເຮັດໃຫ້ການປົກປ້ອງລະຫັດ. ໃນອຸປະກອນເຫຼົ່ານີ້, ໜ້າສຸດທ້າຍຂອງໜ່ວຍຄວາມຈຳ Flash ບໍ່ຄວນຖືກລຶບ.
ການລົບຫນຶ່ງຫນ້າຂອງ Flash
ລໍາດັບລະຫັດທີ່ສະແດງຢູ່ໃນ Example 4-1 ສາມາດຖືກນໍາໃຊ້ເພື່ອລົບຫນ້າຂອງຄວາມຈໍາຂອງໂຄງການ Flash. ການລົງທະບຽນ NVMCON ໄດ້ຖືກຕັ້ງຄ່າເພື່ອລຶບຫນຶ່ງຫນ້າຂອງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ. ການລົງທະບຽນ NVMADR ແລະ NMVADRU ໄດ້ຖືກໂຫລດດ້ວຍທີ່ຢູ່ເລີ່ມຕົ້ນຂອງຫນ້າທີ່ຈະຖືກລຶບອອກ. ຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມຕ້ອງຖືກລຶບຖິ້ມຢູ່ທີ່ "ແມ້ແຕ່" ຂອບເຂດທີ່ຢູ່ຫນ້າ. ເບິ່ງບົດ “ຄວາມຈຳໂຄງການ Flash” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກຳນົດຂະໜາດຂອງໜ້າ Flash.
ການປະຕິບັດການລຶບແມ່ນເລີ່ມຕົ້ນໂດຍການຂຽນການປົດລັອກພິເສດ, ຫຼືລໍາດັບທີ່ສໍາຄັນ, ໄປຫາທະບຽນ NVMKEY ກ່ອນທີ່ຈະກໍານົດ WR bit (NVMCON[15]). ລໍາດັບປົດລັອກຈໍາເປັນຕ້ອງຖືກປະຕິບັດໃນຄໍາສັ່ງທີ່ແນ່ນອນ, ດັ່ງທີ່ສະແດງຢູ່ໃນ Example 4-1, ໂດຍບໍ່ມີການຂັດຂວາງ; ດັ່ງນັ້ນ, ການຂັດຂວາງຕ້ອງຖືກປິດໃຊ້ງານ.
ສອງຄໍາແນະນໍາ NOP ຄວນຖືກໃສ່ໃນລະຫັດຫຼັງຈາກຮອບການລຶບ. ໃນບາງອຸປະກອນ, ບິດການຕັ້ງຄ່າຈະຖືກເກັບໄວ້ໃນໜ້າສຸດທ້າຍຂອງໂປຣແກຣມ Flash. ດ້ວຍອຸປະກອນເຫຼົ່ານີ້, ການປະຕິບັດການລຶບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມຈະລຶບ bytes ການຕັ້ງຄ່າ Flash, ເຮັດໃຫ້ການປົກປ້ອງລະຫັດເປັນຜົນໄດ້ຮັບ. ຜູ້ໃຊ້ບໍ່ຄວນດໍາເນີນການລົບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ.
Loading WRITE LATCHES
ແຜ່ນສະຕິກຖືກໃຊ້ເປັນກົນໄກການເກັບຮັກສາລະຫວ່າງຄໍາຮ້ອງສະຫມັກຂອງຜູ້ໃຊ້ Table Writes ແລະລໍາດັບການຂຽນໂປຼແກຼມຕົວຈິງ. ໃນລະຫວ່າງການດໍາເນີນງານການດໍາເນີນໂຄງການ, ອຸປະກອນຈະໂອນຂໍ້ມູນຈາກສະຕິກຂຽນເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາ Flash. ສຳລັບອຸປະກອນທີ່ຮອງຮັບການຂຽນໂປຣແກຣມແຖວ, Example 4-3 ສະແດງລໍາດັບຂອງຄໍາແນະນໍາທີ່ສາມາດນໍາໃຊ້ໃນການໂຫລດ 128 ຂຽນ latches (128 ຄໍາສອນ). 128 TBLWTL ແລະ 128 TBLWTH ຄໍາແນະນໍາແມ່ນຈໍາເປັນເພື່ອໂຫລດ latches ຂຽນສໍາລັບການຂຽນໂປລແກລມແຖວຂອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash. ອ້າງເຖິງບົດ “ຄວາມຊົງຈຳຂອງໂປຣແກຣມ Flash” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກຳນົດຈຳນວນຂອງສາຍຕັ້ງໂປຣແກຣມທີ່ມີຢູ່ໃນອຸປະກອນຂອງທ່ານ. ສຳລັບອຸປະກອນທີ່ບໍ່ຮອງຮັບການຂຽນໂປຣແກຣມແຖວ, Example 4-4 ສະແດງໃຫ້ເຫັນລໍາດັບຂອງຄໍາແນະນໍາທີ່ສາມາດນໍາໃຊ້ໃນການໂຫຼດສອງສະຕິກຂຽນ (ສອງຄໍາແນະນໍາ). ສອງ TBLWTL ແລະສອງຄໍາແນະນໍາ TBLWTH ແມ່ນຈໍາເປັນເພື່ອໂຫລດ latches ຂຽນ.
ໝາຍເຫດ
- ລະຫັດສໍາລັບ Load_Write_Latch_Row ແມ່ນສະແດງຢູ່ໃນ Example 4-3 ແລະລະຫັດສໍາລັບ Load_Write_Latch_Word ແມ່ນສະແດງຢູ່ໃນ Example 4-4. ລະຫັດໃນທັງສອງນີ້ examples ແມ່ນອ້າງອີງໃສ່ໃນ ex ຕໍ່ມາamples.
- ອ້າງອີງໃສ່ແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະສໍາລັບຈໍານວນຂອງສະລັບ.
ໂປຣແກມແບບແຖວດຽວ EXAMPLE
ການລົງທະບຽນ NVMCON ໄດ້ຖືກຕັ້ງຄ່າໃຫ້ຂຽນໂປລແກລມຫນຶ່ງແຖວຂອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash. ການດໍາເນີນງານຂອງໂປລແກລມແມ່ນເລີ່ມຕົ້ນໂດຍການຂຽນການປົດລັອກພິເສດ, ຫຼືລໍາດັບທີ່ສໍາຄັນ, ໄປຫາທະບຽນ NVMKEY ກ່ອນທີ່ຈະກໍານົດ WR bit (NVMCON[15]). ລໍາດັບປົດລັອກຕ້ອງໄດ້ຮັບການປະຕິບັດໂດຍບໍ່ມີການຂັດຂວາງ, ແລະໃນຄໍາສັ່ງທີ່ແນ່ນອນ, ດັ່ງທີ່ສະແດງຢູ່ໃນ Example 4-5. ດັ່ງນັ້ນ, ການຂັດຂວາງຕ້ອງຖືກປິດກ່ອນທີ່ຈະຂຽນລໍາດັບ.
ໝາຍເຫດ: ບໍ່ແມ່ນອຸປະກອນທັງໝົດມີຄວາມສາມາດໃນການຂຽນໂປຣແກຣມແຖວ. ອ້າງເຖິງບົດ “ຄວາມຊົງຈຳຂອງໂປຣແກຣມ Flash” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກຳນົດວ່າຕົວເລືອກນີ້ມີຢູ່ຫຼືບໍ່.
ສອງຄໍາແນະນໍາ NOP ຄວນຖືກໃສ່ໃນລະຫັດຫຼັງຈາກຮອບການຂຽນໂປຼແກຼມ.
ໂປຣແກມແຖວໂດຍໃຊ້ RAM BUFFER
ເລືອກອຸປະກອນ dsPIC33 ອະນຸຍາດໃຫ້ການຂຽນໂປລແກລມແຖວດໍາເນີນການໂດຍກົງຈາກພື້ນທີ່ buffer ໃນ RAM ຂໍ້ມູນ, ແທນທີ່ຈະຜ່ານສາຍຈັບເພື່ອໂອນຂໍ້ມູນດ້ວຍຄໍາແນະນໍາ TBLWT. ສະຖານທີ່ຂອງ RAM buffer ຖືກກໍານົດໂດຍການລົງທະບຽນ NVMSRCADR ເຊິ່ງຖືກໂຫລດດ້ວຍທີ່ຢູ່ RAM ຂໍ້ມູນທີ່ມີຄໍາທໍາອິດຂອງຂໍ້ມູນໂຄງການທີ່ຈະຂຽນ.
ກ່ອນທີ່ຈະດໍາເນີນການປະຕິບັດງານໂຄງການ, ພື້ນທີ່ buffer ໃນ RAM ຕ້ອງໄດ້ຮັບການໂຫຼດດ້ວຍແຖວຂໍ້ມູນທີ່ຈະດໍາເນີນໂຄງການ. RAM ສາມາດໂຫລດໄດ້ໃນຮູບແບບບີບອັດ (ບັນຈຸ) ຫຼືບໍ່ໄດ້ບີບອັດ. ການເກັບຮັກສາທີ່ຖືກບີບອັດໃຊ້ຄໍາຂໍ້ມູນຫນຶ່ງເພື່ອເກັບຮັກສາ Bytes ທີ່ສໍາຄັນທີ່ສຸດ (MSBs) ຂອງສອງຄໍາຂໍ້ມູນໂຄງການທີ່ຢູ່ຕິດກັນ. ຮູບແບບທີ່ບໍ່ໄດ້ບີບອັດໃຊ້ສອງຄໍາຂໍ້ມູນສໍາລັບແຕ່ລະຄໍາຂໍ້ມູນໂຄງການ, ໂດຍມີໄບຕ໌ເທິງຂອງຄໍາອື່ນແມ່ນ 00h. ຮູບແບບທີ່ຖືກບີບອັດໃຊ້ປະມານ 3/4 ຂອງພື້ນທີ່ໃນ RAM ຂໍ້ມູນເມື່ອປຽບທຽບກັບຮູບແບບທີ່ບໍ່ໄດ້ບີບອັດ. ຮູບແບບທີ່ບໍ່ໄດ້ຮັບການບີບອັດ, ໃນທາງກົງກັນຂ້າມ, ລອກແບບໂຄງສ້າງຂອງຄໍາສັບຂໍ້ມູນໂຄງການ 24-bit, ສໍາເລັດດ້ວຍ phantom byte ເທິງ. ຮູບແບບຂໍ້ມູນຖືກເລືອກໂດຍບິດ RPDF (NVMCON[9]). ສອງຮູບແບບນີ້ແມ່ນສະແດງຢູ່ໃນຮູບ 4-1.
ເມື່ອ RAM buffer ຖືກໂຫລດ, ຕົວຊີ້ທີ່ຢູ່ Flash, NVMADR ແລະ NVMADRU, ຈະຖືກໂຫລດດ້ວຍທີ່ຢູ່ເລີ່ມຕົ້ນ 24-bit ຂອງແຖວ Flash ທີ່ຈະຂຽນ. ເຊັ່ນດຽວກັນກັບການຂຽນໂປລແກລມບັນທຶກການຂຽນ, ຂະບວນການແມ່ນເລີ່ມຕົ້ນໂດຍການຂຽນລໍາດັບ NVM unlock, ຕິດຕາມດ້ວຍການຕັ້ງຄ່າ WR bit. ເມື່ອເລີ່ມຕົ້ນແລ້ວ, ອຸປະກອນຈະໂຫລດສະຕິກທີ່ຖືກຕ້ອງໂດຍອັດຕະໂນມັດ ແລະເພີ່ມການລົງທະບຽນທີ່ຢູ່ NVM ຈົນກ່ວາໄບຕ໌ທັງໝົດຖືກຕັ້ງໂຄງການ. ຕົວຢ່າງample 4-7 ສະແດງໃຫ້ເຫັນ example ຂອງຂະບວນການ. ຖ້າ NVMSRCADR ຖືກຕັ້ງເປັນຄ່າເຊັ່ນວ່າຂໍ້ມູນເກີດຄວາມຜິດພາດໃນເງື່ອນໄຂ, URERR bit (NVMCON[8]) ຈະຖືກຕັ້ງເພື່ອຊີ້ບອກເງື່ອນໄຂ.
ອຸປະກອນທີ່ປະຕິບັດການຂຽນໂປລແກລມແຖວ RAM buffer ຍັງປະຕິບັດຫນຶ່ງຫຼືສອງ latches ຂຽນ. ເຫຼົ່ານີ້ຖືກໂຫລດໂດຍໃຊ້ຄໍາແນະນໍາ TBLWT ແລະຖືກນໍາໃຊ້ເພື່ອປະຕິບັດການດໍາເນີນໂຄງການຄໍາ.
ໂປຣແກມຄຳສັບ
ການລົງທະບຽນ NVMCON ໄດ້ຖືກຕັ້ງຄ່າໃຫ້ຂຽນຄໍາສອນສອງຄໍາຂອງຫນ່ວຍຄວາມຈໍາໂຄງການ Flash. ການດໍາເນີນງານຂອງໂປລແກລມແມ່ນເລີ່ມຕົ້ນໂດຍການຂຽນການປົດລັອກພິເສດ, ຫຼືລໍາດັບທີ່ສໍາຄັນ, ໄປຫາທະບຽນ NVMKEY ກ່ອນທີ່ຈະກໍານົດ WR bit (NVMCON[15]). ລໍາດັບປົດລັອກຈໍາເປັນຕ້ອງຖືກປະຕິບັດໃນຄໍາສັ່ງທີ່ແນ່ນອນ, ດັ່ງທີ່ສະແດງຢູ່ໃນ Example 4-8, ໂດຍບໍ່ມີການຂັດຂວາງ. ດັ່ງນັ້ນ, ການຂັດຂວາງຄວນຈະຖືກປິດກ່ອນທີ່ຈະຂຽນລໍາດັບ.
ສອງຄໍາແນະນໍາ NOP ຄວນຖືກໃສ່ໃນລະຫັດຫຼັງຈາກຮອບການຂຽນໂປຼແກຼມ.
ການຂຽນລົງທະບຽນການຕັ້ງຄ່າອຸປະກອນ
ໃນບາງອຸປະກອນ, ບິດການຕັ້ງຄ່າຈະຖືກເກັບໄວ້ໃນພື້ນທີ່ຫນ່ວຍຄວາມຈໍາການຕັ້ງຄ່າໃນສ່ວນທີ່ເອີ້ນວ່າ, "ການລົງທະບຽນອຸປະກອນການຕັ້ງຄ່າ". ໃນອຸປະກອນອື່ນໆ, ບິດການຕັ້ງຄ່າຖືກເກັບໄວ້ໃນຫນ້າສຸດທ້າຍຂອງໂຄງການພື້ນທີ່ຫນ່ວຍຄວາມຈໍາຜູ້ໃຊ້ Flash ໃນສ່ວນທີ່ເອີ້ນວ່າ, "Flash Configuration Bytes". ດ້ວຍອຸປະກອນເຫຼົ່ານີ້, ການປະຕິບັດການລຶບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂປລແກລມຈະລຶບ bytes ການຕັ້ງຄ່າ Flash, ເຊິ່ງເຮັດໃຫ້ການປົກປ້ອງລະຫັດ. ດັ່ງນັ້ນ, ຜູ້ໃຊ້ບໍ່ຄວນປະຕິບັດການລຶບຫນ້າໃນຫນ້າສຸດທ້າຍຂອງຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ. ເບິ່ງແຜນທີ່ຄວາມຊົງຈໍາຂອງໂປຣແກຣມໃນບົດ “ອົງການຄວາມຈຳ” ຂອງແຜ່ນຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກໍານົດບ່ອນທີ່ບິດການຕັ້ງຄ່າຢູ່.
ເມື່ອບິດການຕັ້ງຄ່າຖືກເກັບໄວ້ໃນພື້ນທີ່ຫນ່ວຍຄວາມຈໍາການຕັ້ງຄ່າ, RTSP ສາມາດຖືກນໍາໃຊ້ເພື່ອຂຽນໃສ່ການລົງທະບຽນການຕັ້ງຄ່າອຸປະກອນ, ແລະ RTSP ອະນຸຍາດໃຫ້ແຕ່ລະທະບຽນການຕັ້ງຄ່າຖືກຂຽນຄືນໃຫມ່ໂດຍສ່ວນບຸກຄົນໂດຍບໍ່ມີການປະຕິບັດຮອບການລົບຄັ້ງທໍາອິດ. ຄວາມລະມັດລະວັງຕ້ອງຖືກປະຕິບັດໃນເວລາທີ່ຂຽນການລົງທະບຽນການຕັ້ງຄ່ານັບຕັ້ງແຕ່ພວກມັນຄວບຄຸມຕົວກໍານົດການປະຕິບັດງານຂອງອຸປະກອນທີ່ສໍາຄັນ, ເຊັ່ນ: ແຫຼ່ງໂມງຂອງລະບົບ, PLL ແລະ WDT ເປີດ.
ຂັ້ນຕອນການສໍາລັບການຂຽນໂຄງການການລົງທະບຽນການຕັ້ງຄ່າອຸປະກອນແມ່ນຄ້າຍຄືກັນກັບຂັ້ນຕອນສໍາລັບການດໍາເນີນໂຄງການຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ Flash, ຍົກເວັ້ນພຽງແຕ່ຄໍາແນະນໍາ TBLWTL ທີ່ຕ້ອງການ. ນີ້ແມ່ນຍ້ອນວ່າເທິງແປດ bits ໃນແຕ່ລະອຸປະກອນການລົງທະບຽນການຕັ້ງຄ່າແມ່ນບໍ່ໄດ້ນໍາໃຊ້. ນອກຈາກນັ້ນ, ບິດ 23 ຂອງ Table Write ທີ່ຢູ່ ຕ້ອງຖືກຕັ້ງຄ່າເພື່ອເຂົ້າເຖິງການລົງທະບຽນການຕັ້ງຄ່າ. ອ້າງອີງເຖິງ “ການກຳນົດຄ່າອຸປະກອນ” (DS70000618) ໃນ “ຄູ່ມືອ້າງອີງຄອບຄົວ dsPIC33/PIC24” ແລະ “ຄຸນສົມບັດພິເສດ” ໃນເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະສຳລັບລາຍລະອຽດເຕັມຂອງທະບຽນການກຳນົດຄ່າອຸປະກອນ.
ໝາຍເຫດ
- ການຂຽນໃສ່ການລົງທະບຽນການຕັ້ງຄ່າອຸປະກອນແມ່ນບໍ່ມີຢູ່ໃນອຸປະກອນທັງຫມົດ. ອ້າງເຖິງບົດ “ຄຸນສົມບັດພິເສດ” ໃນເອກະສານຂໍ້ມູນອຸປະກອນສະເພາະເພື່ອກຳນົດຮູບແບບຕ່າງໆ ທີ່ມີໃຫ້ອີງຕາມນິຍາມຂອງອຸປະກອນສະເພາະ NVMOP[3:0] bits.
- ໃນຂະນະທີ່ປະຕິບັດ RTSP ຢູ່ໃນການລົງທະບຽນອຸປະກອນການຕັ້ງຄ່າ, ອຸປະກອນຕ້ອງເຮັດວຽກໂດຍໃຊ້ FRC Oscillator ພາຍໃນ (ໂດຍບໍ່ມີ PLL). ຖ້າອຸປະກອນເຮັດວຽກຈາກແຫຼ່ງໂມງທີ່ແຕກຕ່າງກັນ, ການປ່ຽນໂມງໄປຫາ FRC Oscillator ພາຍໃນ (NOSC[2:0] = 000) ຈະຕ້ອງຖືກປະຕິບັດກ່ອນທີ່ຈະດໍາເນີນການ RTSP ໃນອຸປະກອນການລົງທະບຽນການຕັ້ງຄ່າ.
- ຖ້າໂຫມດ Oscillator ຫຼັກເລືອກ bits (POSCMD[1:0]) ໃນ Oscillator Configuration register (FOSC) ກໍາລັງຖືກ reprogrammed ເປັນຄ່າໃຫມ່, ຜູ້ໃຊ້ຕ້ອງຮັບປະກັນວ່າ Clock Switching Mode bits (FCKSM[1:0]) ໃນ ການລົງທະບຽນ FOSC ມີມູນຄ່າໂຄງການເບື້ອງຕົ້ນຂອງ '0', ກ່ອນທີ່ຈະດໍາເນີນການ RTSP ນີ້.
ການຕັ້ງຄ່າການລົງທະບຽນຂຽນ ALGORITHM
ຂັ້ນຕອນການທົ່ວໄປແມ່ນດັ່ງຕໍ່ໄປນີ້:
- ຂຽນຄ່າການຕັ້ງຄ່າໃຫມ່ໃສ່ຕົວຈັບຕາຕະລາງຂຽນໂດຍໃຊ້ຄໍາແນະນໍາ TBLWTL.
- ຕັ້ງຄ່າ NVMCON ສໍາລັບການຂຽນບັນທຶກການຕັ້ງຄ່າ (NVMCON = 0x4000).
- ຂຽນທີ່ຢູ່ຂອງທະບຽນ Configuration ທີ່ຈະດໍາເນີນໂຄງການເຂົ້າໄປໃນທະບຽນ NVMADRU ແລະ NVMADR.
- ປິດການຂັດຂວາງ, ຖ້າເປີດໃຊ້.
- ຂຽນລໍາດັບທີ່ສໍາຄັນໃສ່ທະບຽນ NVMKEY.
- ເລີ່ມລໍາດັບການຂຽນໂດຍການຕັ້ງຄ່າ WR bit (NVMCON[15]).
- ເປີດໃຊ້ການລົບກວນຄືນໃໝ່, ຖ້າຕ້ອງການ.
Example 4-10 ສະແດງໃຫ້ເຫັນລໍາດັບລະຫັດທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອປັບປຸງແກ້ໄຂບັນທຶກການຕັ້ງຄ່າອຸປະກອນ.
ແຜນທີ່ລົງທະບຽນ
ສະຫຼຸບສັງລວມຂອງການລົງທະບຽນທີ່ກ່ຽວຂ້ອງກັບ Flash Programming ແມ່ນສະຫນອງໃຫ້ຢູ່ໃນຕາຕະລາງ 5-1.
ພາກນີ້ສະແດງບັນທຶກຄໍາຮ້ອງສະຫມັກທີ່ກ່ຽວຂ້ອງກັບພາກນີ້ຂອງຄູ່ມື. ບັນທຶກຄໍາຮ້ອງສະຫມັກເຫຼົ່ານີ້ອາດຈະບໍ່ຖືກຂຽນໂດຍສະເພາະສໍາລັບຄອບຄົວຜະລິດຕະພັນ dsPIC33/PIC24, ແຕ່ແນວຄວາມຄິດແມ່ນກ່ຽວຂ້ອງແລະສາມາດນໍາໃຊ້ກັບການດັດແກ້ແລະຂໍ້ຈໍາກັດທີ່ເປັນໄປໄດ້. ບັນທຶກຄໍາຮ້ອງສະຫມັກໃນປະຈຸບັນທີ່ກ່ຽວຂ້ອງກັບ Flash Programming ແມ່ນ:
ໝາຍເຫດ: ກະລຸນາເຂົ້າໄປທີ່ Microchip webເວັບໄຊ (www.microchip.com) ສໍາລັບບັນທຶກຄໍາຮ້ອງສະຫມັກເພີ່ມເຕີມແລະລະຫັດ examples ສໍາລັບຄອບຄົວ dsPIC33/PIC24 ຂອງອຸປະກອນ.
ປະຫວັດການທົບທວນ
ສະບັບປັບປຸງ A (ເດືອນສິງຫາ 2009)
ນີ້ແມ່ນສະບັບທຳອິດຂອງເອກະສານສະບັບນີ້.
ສະບັບ B (ເດືອນກຸມພາ 2011)
ການປັບປຸງນີ້ປະກອບມີການປັບປຸງຕໍ່ໄປນີ້:
- Examples:
- ເອົາອອກ Example 5-3 ແລະ Example 5-4
- ອັບເດດ Example 4-1, Example 4-5 ແລະ Example 4-10
- ການອ້າງອີງໃດໆກ່ຽວກັບ #WR ໄດ້ຖືກປັບປຸງເປັນ #15 ໃນ Example 4-1, Example 4-5 ແລະ Example 4-8
- ອັບເດດຕໍ່ໄປນີ້ໃນ Example 4-3:
- ອັບເດດຫົວຂໍ້ “ການຂຽນໂປຣແກຣມຄຳສັບ” ເປັນ “ການໂຫຼດການຂຽນອັກສອນສຳລັບການຂຽນໂປຣແກຣມແຖວ”
- ການອ້າງອີງໃດໆກັບ #ram_image ໄດ້ຖືກອັບເດດເປັນ #0xFA
- ເພີ່ມ Example 4-4
- ອັບເດດຫົວຂໍ້ໃນ Example 4-8
- ໝາຍເຫດ:
- ເພີ່ມສອງບັນທຶກໃນພາກ 4.2 "ການດໍາເນີນໂຄງການ Flash"
- ອັບເດດບັນທຶກໃນພາກທີ 4.5.2 “ກຳລັງໂຫຼດບັນທຶກການຂຽນ”
- ເພີ່ມສາມບັນທຶກໃນພາກທີ 4.6 “ຂຽນໃສ່ການລົງທະບຽນການຕັ້ງຄ່າອຸປະກອນ”
- ເພີ່ມຫມາຍເຫດ 1 ໃນຕາຕະລາງ 5-1
- ລົງທະບຽນ:
- ອັບເດດຄ່າ bits ສໍາລັບ NVMOP[3:0]: NVM Operation ເລືອກ bits ໃນ Flash Memory Control (NVMCON) register (ເບິ່ງ Register 3-1)
- ພາກສ່ວນ:
- ພາກສ່ວນທີ່ຖືກລົບອອກ 5.2.1.4 “Write Word Mode” ແລະ 5.2.1.5 “Write Byte Mode”
- ອັບເດດພາກທີ 3.0 “ການລົງທະບຽນການຄວບຄຸມ”
- ປັບປຸງສິ່ງຕໍ່ໄປນີ້ໃນພາກທີ 4.5.5 “Word Programming”:
- ປ່ຽນຫົວຂໍ້ຫົວຂໍ້ "ການຂຽນໂປຼແກຼມຫນຶ່ງຄໍາຂອງຄວາມຈໍາ Flash" ເປັນ "ການຂຽນໂປຼແກຼມຄໍາ"
- ອັບເດດວັກທຳອິດ
- ປ່ຽນຄໍາສັບ "ຫນຶ່ງຄໍາ" ເປັນ "ຄູ່ຂອງຄໍາສັບຕ່າງໆ" ໃນວັກທີສອງ
- ເພີ່ມຂັ້ນຕອນ 1 ໃໝ່ໃສ່ພາກທີ 4.6.1 “ການກຳນົດຄ່າລົງທະບຽນການຂຽນສູດການຄິດໄລ່”
- ຕາຕະລາງ:
- ປັບປຸງຕາຕະລາງ 5-1
- ການອ້າງອີງຈໍານວນຫນ້ອຍກ່ຽວກັບຫນ່ວຍຄວາມຈໍາຂອງໂຄງການໄດ້ຖືກປັບປຸງເປັນຫນ່ວຍຄວາມຈໍາຂອງໂປຣແກຣມ Flash
- ການປັບປຸງເລັກນ້ອຍອື່ນໆ ເຊັ່ນ: ພາສາ ແລະການປັບປຸງຮູບແບບໄດ້ຖືກລວມເຂົ້າຢູ່ໃນເອກະສານ
ສະບັບປັບປຸງ C (ເດືອນມິຖຸນາ 2011)
ການປັບປຸງນີ້ປະກອບມີການປັບປຸງຕໍ່ໄປນີ້:
- Examples:
- ອັບເດດ Example 4-1
- ອັບເດດ Example 4-8
- ໝາຍເຫດ:
- ເພີ່ມບັນທຶກໃນພາກ 4.1 “ການດໍາເນີນການ RTSP”
- ເພີ່ມຫມາຍເຫດ 3 ໃນພາກ 4.2 "ການດໍາເນີນງານການຂຽນໂປຼແກຼມ Flash"
- ເພີ່ມໝາຍເຫດ 3 ໃນພາກ 4.2.1 “RTSP Programming Algorithm”
- ເພີ່ມບັນທຶກໃນພາກ 4.5.1 “ການລຶບຫນຶ່ງຫນ້າຂອງ Flash”
- ເພີ່ມໝາຍເຫດ 2 ໃນພາກທີ 4.5.2 “ກຳລັງໂຫຼດຕົວຂຽນໜັງສື”
- ລົງທະບຽນ:
- ອັບເດດລາຍລະອຽດຂອງບິດສໍາລັບ bits 15-0 ໃນທະບຽນທີ່ຢູ່ Memory Nonvolatile (ເບິ່ງ Register 3-3)
- ພາກສ່ວນ:
- ອັບເດດພາກທີ 4.1 “ການດຳເນີນການ RTSP”
- ອັບເດດພາກທີ 4.5.5 “ໂປຣແກຣມຄຳສັບ”
- ການປັບປຸງເລັກນ້ອຍອື່ນໆ ເຊັ່ນ: ພາສາ ແລະການປັບປຸງຮູບແບບໄດ້ຖືກລວມເຂົ້າຢູ່ໃນເອກະສານ
ສະບັບປັບປຸງ D (ເດືອນທັນວາ 2011)
ການປັບປຸງນີ້ປະກອບມີການປັບປຸງຕໍ່ໄປນີ້:
- ອັບເດດພາກທີ 2.1.3 “ຕົວຂຽນຕາຕະລາງ”
- ອັບເດດພາກທີ 3.2 “ການລົງທະບຽນ NVMKEY”
- ອັບເດດບັນທຶກໃນ NVMCON: Flash Memory Control Register (ເບິ່ງ Register 3-1)
- ມີການອັບເດດຢ່າງກວ້າງຂວາງໃນທົ່ວພາກ 4.0 “ການດໍາເນີນໂຄງການດ້ວຍຕົນເອງ (RTSP)”
- ການປັບປຸງເລັກນ້ອຍອື່ນໆ ເຊັ່ນ: ພາສາ ແລະການປັບປຸງຮູບແບບໄດ້ຖືກລວມເຂົ້າຢູ່ໃນເອກະສານ
ການແກ້ໄຂ E (ຕຸລາ 2018)
ການປັບປຸງນີ້ປະກອບມີການປັບປຸງຕໍ່ໄປນີ້:
- ເພີ່ມ Example 2-2, Example 4-2, Example 4-6 ແລະ Example 4-9
- ເພີ່ມພາກ 4.5.4 "ການຂຽນໂປລແກລມແຖວໂດຍໃຊ້ RAM Buffer"
- ອັບເດດພາກທີ 1.0 “ການແນະນຳ”, ພາກທີ 3.3 “ການລົງທະບຽນທີ່ຢູ່ NVM”, ພາກທີ 4.0 “ການດຳເນີນໂຄງການດ້ວຍຕົນເອງ (RTSP)” ແລະ ພາກທີ 4.5.3 “Exingle Row Programming Example”
- ອັບເດດລົງທະບຽນ 3-1
- ອັບເດດ Example 4-7
- ປັບປຸງຕາຕະລາງ 5-1
ການແກ້ໄຂ F (ເດືອນພະຈິກ 2021)
ເພີ່ມພາກ 3.2.1 “ການປິດການຂັດຂວາງ”.
ອັບເດດ Example 3-1, Example 4-1, Example 4-2, Example 4-5, Example 4-6, Example 4-7, Example 4-8, Example 4-9 ແລະ Example 4-10.
ອັບເດດພາກທີ 3.2 “ການລົງທະບຽນ NVMKEY”, ພາກທີ 4.5.1 “ການລຶບໜ້າໜຶ່ງຂອງ Flash”, ພາກທີ 4.5.3 “Single Row Programming Example” ແລະ ພາກທີ 4.6.1 “ການກຳນົດຄ່າລົງທະບຽນຂຽນສູດການຄິດໄລ່”.
ໃຫ້ສັງເກດລາຍລະອຽດຕໍ່ໄປນີ້ຂອງຄຸນສົມບັດປ້ອງກັນລະຫັດໃນຜະລິດຕະພັນໄມໂຄຊິບ:
- ຜະລິດຕະພັນ Microchip ຕອບສະໜອງໄດ້ສະເພາະໃນເອກະສານຂໍ້ມູນ Microchip ໂດຍສະເພາະ.
- ໄມໂຄຣຊິບເຊື່ອວ່າຜະລິດຕະພັນໃນຄອບຄົວຂອງມັນມີຄວາມປອດໄພເມື່ອໃຊ້ໃນລັກສະນະທີ່ຕັ້ງໃຈ, ພາຍໃນສະເພາະການໃຊ້ງານ ແລະພາຍໃຕ້ເງື່ອນໄຂປົກກະຕິ.
- ຄຸນຄ່າຂອງ Microchip ແລະປົກປ້ອງສິດຊັບສິນທາງປັນຍາຂອງຕົນຢ່າງແຮງ. ຄວາມພະຍາຍາມທີ່ຈະລະເມີດຄຸນສົມບັດການປົກປ້ອງລະຫັດຂອງຜະລິດຕະພັນໄມໂຄຊິບແມ່ນຖືກຫ້າມຢ່າງເຂັ້ມງວດ ແລະອາດລະເມີດກົດໝາຍ Digital Millennium Copyright Act.
- ທັງ Microchip ຫຼືຜູ້ຜະລິດ semiconductor ອື່ນໆບໍ່ສາມາດຮັບປະກັນຄວາມປອດໄພຂອງລະຫັດຂອງມັນ. ການປົກປ້ອງລະຫັດບໍ່ໄດ້ຫມາຍຄວາມວ່າພວກເຮົາກໍາລັງຮັບປະກັນວ່າຜະລິດຕະພັນແມ່ນ "ບໍ່ສາມາດທໍາລາຍໄດ້". ການປົກປ້ອງລະຫັດແມ່ນພັດທະນາຢ່າງຕໍ່ເນື່ອງ. Microchip ມຸ່ງຫມັ້ນທີ່ຈະປັບປຸງຄຸນສົມບັດການປົກປ້ອງລະຫັດຂອງຜະລິດຕະພັນຂອງພວກເຮົາຢ່າງຕໍ່ເນື່ອງ
ສິ່ງພິມນີ້ ແລະຂໍ້ມູນໃນນີ້ອາດຈະຖືກໃຊ້ກັບຜະລິດຕະພັນໄມໂຄຊິບເທົ່ານັ້ນ, ລວມທັງການອອກແບບ, ທົດສອບ ແລະລວມຜະລິດຕະພັນໄມໂຄຊິບກັບແອັບພລິເຄຊັນຂອງເຈົ້າ. ການນໍາໃຊ້ຂໍ້ມູນນີ້ໃນລັກສະນະອື່ນໃດກໍ່ລະເມີດຂໍ້ກໍານົດເຫຼົ່ານີ້. ຂໍ້ມູນກ່ຽວກັບການນໍາໃຊ້ອຸປະກອນແມ່ນສະຫນອງໃຫ້ພຽງແຕ່ເພື່ອຄວາມສະດວກຂອງທ່ານແລະອາດຈະຖືກແທນທີ່ໂດຍການປັບປຸງ. ມັນເປັນຄວາມຮັບຜິດຊອບຂອງທ່ານເພື່ອຮັບປະກັນວ່າຄໍາຮ້ອງສະຫມັກຂອງທ່ານຕອບສະຫນອງກັບສະເພາະຂອງທ່ານ. ຕິດຕໍ່ຫ້ອງການຂາຍ Microchip ທ້ອງຖິ່ນຂອງທ່ານສໍາລັບການສະຫນັບສະຫນູນເພີ່ມເຕີມຫຼື, ໄດ້ຮັບການສະຫນັບສະຫນູນເພີ່ມເຕີມທີ່ https://www.microchip.com/en-us/support/design-help/client-supportservices.
ຂໍ້ມູນນີ້ແມ່ນສະໜອງໃຫ້ໂດຍໄມໂຄຣຊິບ “ຄື”. ໄມໂຄຣຊິບບໍ່ໄດ້ເປັນຕົວແທນ ຫຼືການຮັບປະກັນໃດໆ ບໍ່ວ່າຈະເປັນການສະແດງອອກ ຫຼືໂດຍຫຍໍ້, ເປັນລາຍລັກອັກສອນ ຫຼືທາງປາກປາກ, ລັດຖະບັນຍັດ ຫຼືໃນທາງກົງກັນຂ້າມ, ກ່ຽວຂ້ອງກັບຂໍ້ມູນລວມທັງຂໍ້ມູນ, ບໍ່ໄດ້ຈຳກັດຂອບເຂດ, ຈຳກັດໃຫ້ໝົດໄປ. ຄວາມສອດຄ່ອງ, ແລະຄວາມສອດຄ່ອງເພື່ອຈຸດປະສົງສະເພາະ, ຫຼືການຮັບປະກັນທີ່ກ່ຽວຂ້ອງກັບ ເງື່ອນໄຂ, ຄຸນນະພາບ, ຫຼືປະສິດທິພາບຂອງມັນ. ໃນກໍລະນີໃດກໍ່ຕາມ, ໄມໂຄຣຊິບຈະຮັບຜິດຊອບຕໍ່ຄວາມຜິດທາງອ້ອມ, ພິເສດ, ການລົງໂທດ, ເຫດການບັງເອີນ, ຫຼືຜົນສະທ້ອນຕໍ່ການສູນເສຍ, ຄວາມເສຍຫາຍ, ຄ່າໃຊ້ຈ່າຍ, ຫຼືຄ່າໃຊ້ຈ່າຍໃດໆກໍຕາມທີ່ກ່ຽວຂ້ອງກັບສະພາບການປ່ຽນແປງ, ການປ່ຽນແປງໃນກໍລະນີໃດກໍ່ຕາມ. ໄດ້ຮັບການແນະນໍາຂອງ ຄວາມເປັນໄປໄດ້ ຫຼືຄວາມເສຍຫາຍແມ່ນເປັນໄປໄດ້. ໃນຂອບເຂດສູງສຸດທີ່ກົດໝາຍອະນຸຍາດ, ຄວາມຮັບຜິດ ຊອບທັງໝົດຂອງໄມໂຄຣຊິບ ຕໍ່ການຮຽກຮ້ອງທັງໝົດ ໃນທາງໃດກໍຕາມ ທີ່ກ່ຽວຂ້ອງກັບຂໍ້ມູນ ຫຼື ການນຳໃຊ້ຂອງມັນຈະບໍ່ມີເກີນຈຳນວນຂອງຄ່າທຳນຽມ, ຖ້າມີ, ຂໍ້ມູນໃນລາຍການທີ່ເຈົ້າມີຢູ່.
ການນໍາໃຊ້ອຸປະກອນ Microchip ໃນການຊ່ວຍເຫຼືອຊີວິດແລະ / ຫຼືຄໍາຮ້ອງສະຫມັກຄວາມປອດໄພແມ່ນມີຄວາມສ່ຽງຂອງຜູ້ຊື້ທັງຫມົດ, ແລະຜູ້ຊື້ຕົກລົງທີ່ຈະປົກປ້ອງ, ຊົດເຊີຍແລະຖື Microchip ທີ່ບໍ່ມີອັນຕະລາຍຈາກຄວາມເສຍຫາຍ, ການຮຽກຮ້ອງ, ຟ້ອງ, ຫຼືຄ່າໃຊ້ຈ່າຍທີ່ເກີດຈາກການນໍາໃຊ້ດັ່ງກ່າວ. ບໍ່ມີໃບອະນຸຍາດຖືກຖ່າຍທອດ, ໂດຍທາງອ້ອມ ຫຼື ອື່ນໆ, ພາຍໃຕ້ສິດຊັບສິນທາງປັນຍາຂອງ Microchip ເວັ້ນເສຍແຕ່ໄດ້ລະບຸໄວ້ເປັນຢ່າງອື່ນ.
ສໍາລັບຂໍ້ມູນກ່ຽວກັບລະບົບການຄຸ້ມຄອງຄຸນນະພາບຂອງ Microchip, ກະລຸນາເຂົ້າໄປເບິ່ງ www.microchip.com/quality.
ເຄື່ອງໝາຍການຄ້າ
ຊື່ ແລະໂລໂກ້ຂອງ Microchip, ໂລໂກ້ Microchip, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANXeckylus, Link, MD, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SuperFlash Logo , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, ແລະ XMEGA ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Microchip Technology Incorporated ໃນອາເມລິກາ ແລະປະເທດອື່ນໆ. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath, ແລະ ZL ແມ່ນເຄື່ອງໝາຍການຄ້າຈົດທະບຽນຂອງ Microchip Technology Incorporated in the USA
ການສະກັດກັ້ນກະແຈທີ່ຕິດກັນ, AKS, ອະນາລັອກສຳລັບຍຸກດິຈິຕອລ, ຕົວເກັບປະຈຸໃດໆ, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDnamic, DSM. , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, maxCrypto, ສູງສຸດView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, 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 ແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Microchip Technology Incorporated ໃນສະຫະລັດອາເມລິກາ ແລະປະເທດອື່ນໆ.
SQTP ເປັນເຄື່ອງໝາຍການບໍລິການຂອງ Microchip Technology Incorporated in USA
ໂລໂກ້ Adaptec, ຄວາມຖີ່ຕາມຄວາມຕ້ອງການ, Silicon Storage Technology, Symmcom, ແລະ Trusted Time ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Microchip Technology Inc. ໃນປະເທດອື່ນໆ.
GestIC ເປັນເຄື່ອງໝາຍການຄ້າຈົດທະບຽນຂອງ Microchip Technology Germany II GmbH & Co. KG, ເຊິ່ງເປັນບໍລິສັດຍ່ອຍຂອງ Microchip Technology Inc., ໃນປະເທດອື່ນໆ.
ເຄື່ອງໝາຍການຄ້າອື່ນໆທັງໝົດທີ່ກ່າວມານີ້ແມ່ນຊັບສິນຂອງບໍລິສັດທີ່ກ່ຽວຂ້ອງ.
© 2009-2021, Microchip Technology Incorporated ແລະບໍລິສັດຍ່ອຍຂອງມັນ.
ສະຫງວນລິຂະສິດທັງໝົດ.
ISBN: 978-1-5224-9314-3
ການຂາຍ ແລະການບໍລິການທົ່ວໂລກ
ອາເມຣິກາ
- ຫ້ອງການບໍລິສັດ
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
ໂທ: 480-792-7200
ແຟັກ: 480-792-7277
ສະຫນັບສະຫນູນດ້ານວິຊາການ: http://www.microchip.com/
ສະຫນັບສະຫນູນ Web ທີ່ຢູ່: www.microchip.com - ແອດແລນຕາ
Duluth, GA
ໂທ: 678-957-9614
ແຟັກ: 678-957-1455 - Austin, TX
ໂທ: 512-257-3370 - ບອສຕັນ
Westborough, MA
ໂທ: 774-760-0087
ແຟັກ: 774-760-0088 - ຊິຄາໂກ
Itasca, IL
ໂທ: 630-285-0071
ແຟັກ: 630-285-0075 - ດາລາສ
ແອດດິສັນ, TX
ໂທ: 972-818-7423
ແຟັກ: 972-818-2924 - ດີທຣອຍ
Novi, MI
ໂທ: 248-848-4000 - Houston, TX
ໂທ: 281-894-5983 - Indianapolis
Noblesville, IN
ໂທ: 317-773-8323
ແຟັກ: 317-773-5453
ໂທ: 317-536-2380 - Los Angeles
ພາລະກິດ Viejo, CA
ໂທ: 949-462-9523
ແຟັກ: 949-462-9608
ໂທ: 951-273-7800 - Raleigh, NC
ໂທ: 919-844-7510 - ນິວຢອກ, NY
ໂທ: 631-435-6000 - San Jose, CA
ໂທ: 408-735-9110
ໂທ: 408-436-4270 - ການາດາ – Toronto
ໂທ: 905-695-1980
ແຟັກ: 905-695-2078
ອາຊີ/ປາຊີຟິກ
- ອົດສະຕາລີ - Sydney
ໂທ: 61-2-9868-6733 - ຈີນ-ປັກກິ່ງ
ໂທ: 86-10-8569-7000 - ຈີນ – Chengdu
ໂທ: 86-28-8665-5511 - ຈີນ - ຈົງຊິງ
ໂທ: 86-23-8980-9588 - ຈີນ - Dongguan
ໂທ: 86-769-8702-9880 - ຈີນ - ກວາງໂຈ່ວ
ໂທ: 86-20-8755-8029 - ຈີນ - Hangzhou
ໂທ: 86-571-8792-8115 - ຈີນ - ຮົງກົງ SAR
ໂທ: 852-2943-5100 - ຈີນ - Nanjing
ໂທ: 86-25-8473-2460 - ຈີນ - Qingdao
ໂທ: 86-532-8502-7355 - ຈີນ - ຊຽງໄຮ້
ໂທ: 86-21-3326-8000 - ຈີນ - Shenyang
ໂທ: 86-24-2334-2829 - ຈີນ - Shenzhen
ໂທ: 86-755-8864-2200 - ຈີນ - ຊູໂຈວ
ໂທ: 86-186-6233-1526 - ຈີນ - Wuhan
ໂທ: 86-27-5980-5300 - ຈີນ - Xian
ໂທ: 86-29-8833-7252 - ຈີນ - Xiamen
ໂທ: 86-592-2388138 - ຈີນ - ຈູໄຫ່
ໂທ: 86-756-3210040 - ປະເທດອິນເດຍ - Bangalore
ໂທ: 91-80-3090-4444 - ອິນເດຍ - ນິວເດລີ
ໂທ: 91-11-4160-8631 - ອິນເດຍ - Pune
ໂທ: 91-20-4121-0141 - ຍີ່ປຸ່ນ – Osaka
ໂທ: 81-6-6152-7160 - ຍີ່ປຸ່ນ – ໂຕກຽວ
ໂທ: 81-3-6880- 3770 - ເກົາຫຼີ - Daegu
ໂທ: 82-53-744-4301 - ເກົາຫຼີ – ເຊອຸນ
ໂທ: 82-2-554-7200 - ມາເລເຊຍ - Kuala Lumpur
ໂທ: 60-3-7651-7906 - ມາເລເຊຍ - Penang
ໂທ: 60-4-227-8870 - ຟີລິບປິນ – ມະນີລາ
ໂທ: 63-2-634-9065 - ສິງກະໂປ
ໂທ: 65-6334-8870 - ໄຕ້ຫວັນ - Hsin Chu
ໂທ: 886-3-577-8366 - ໄຕ້ຫວັນ - Kaohsiung
ໂທ: 886-7-213-7830 - ໄຕ້ຫວັນ - Taipei
ໂທ: 886-2-2508-8600 - ໄທ - ບາງກອກ
ໂທ: 66-2-694-1351 - ຫວຽດນາມ - ໂຮ່ຈີມິນ
ໂທ: 84-28-5448-2100
ເອີຣົບ
- ອອສເຕຣຍ - ເວນ
ໂທ: 43-7242-2244-39
ແຟັກ: 43-7242-2244-393 - ເດນມາກ - ໂຄເປນເຮເກນ
ໂທ: 45-4485-5910
ແຟັກ: 45-4485-2829 - ຟິນແລນ – Espoo
ໂທ: 358-9-4520-820 - ຝຣັ່ງ - ປາຣີ
ໂທ: 33-1-69-53-63-20
ແຟັກ: 33-1-69-30-90-79 - ເຢຍລະມັນ - Garching
ໂທ: 49-8931-9700 - ເຢຍລະມັນ - Haan
ໂທ: 49-2129-3766400 - ເຢຍລະມັນ - Heilbronn
ໂທ: 49-7131-72400 - ເຢຍລະມັນ - Karlsruhe
ໂທ: 49-721-625370 - ເຢຍລະມັນ - Munich
ໂທ: 49-89-627-144-0
ແຟັກ: 49-89-627-144-44 - ເຢຍລະມັນ - Rosenheim
ໂທ: 49-8031-354-560 - ອີຕາລີ – Milan
ໂທ: 39-0331-742611
ແຟັກ: 39-0331-466781 - ອິຕາລີ - Padova
ໂທ: 39-049-7625286 - ເນເທີແລນ - Drunen
ໂທ: 31-416-690399
ແຟັກ: 31-416-690340 - ນໍເວ - Trondheim
ໂທ: 47-7288-4388 - ໂປແລນ - ວໍຊໍ
ໂທ: 48-22-3325737 - ໂຣມາເນຍ - Bucharest
ໂທ: 40-21-407-87-50 - ສະເປນ – Madrid
ໂທ: 34-91-708-08-90
ແຟັກ: 34-91-708-08-91 - ສວີເດນ – Gothenberg
ໂທ: 46-31-704-60-40 - ສວີເດນ – ສະຕັອກໂຮມ
ໂທ: 46-8-5090-4654 - ອັງກິດ - Wokingham
ໂທ: 44-118-921-5800
ແຟັກ: 44-118-921-5820
ໝາຍເຫດ:
ພາກສ່ວນຄູ່ມືການອ້າງອິງຂອງຄອບຄົວນີ້ມີຈຸດປະສົງເພື່ອເຮັດໜ້າທີ່ເສີມໃຫ້ກັບແຜ່ນຂໍ້ມູນອຸປະກອນ. ຂຶ້ນກັບຕົວແປຂອງອຸປະກອນ, ພາກສ່ວນຄູ່ມືນີ້ອາດຈະບໍ່ນຳໃຊ້ກັບອຸປະກອນ dsPIC33/PIC24 ທັງໝົດ. ກະລຸນາປຶກສາກັບບັນທຶກໃນຕອນຕົ້ນຂອງບົດ “ຄວາມຊົງຈຳຂອງໂປຣແກຣມ Flash” ໃນເອກະສານຂໍ້ມູນອຸປະກອນປັດຈຸບັນ ເພື່ອກວດເບິ່ງວ່າເອກະສານນີ້ຮອງຮັບອຸປະກອນທີ່ທ່ານກຳລັງໃຊ້ຫຼືບໍ່.
ແຜ່ນຂໍ້ມູນອຸປະກອນ ແລະພາກສ່ວນຄູ່ມືການອ້າງອີງຄອບຄົວແມ່ນມີໃຫ້ດາວໂຫຼດຈາກ Microchip Worldwide Webເວັບໄຊຢູ່: http://www.microchip.com.
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
MICROCHIP PIC24 ການຂຽນໂປລແກລມ Flash [pdf] ຄູ່ມືຜູ້ໃຊ້ PIC24 Flash Programming, PIC24, ການຂຽນໂປລແກລມ Flash, ການຂຽນໂປລແກລມ |
![]() |
MICROCHIP PIC24 ການຂຽນໂປລແກລມ Flash [pdf] ຄູ່ມືຜູ້ໃຊ້ PIC24 Flash Programming, PIC24, ການຂຽນໂປລແກລມ Flash |