Microchip UG0881 PolarFire SoC FPGA Booting ແລະການຕັ້ງຄ່າ
ຮັບປະກັນ
Microsemi ບໍ່ມີການຮັບປະກັນ, ການເປັນຕົວແທນ, ຫຼືການຄໍ້າປະກັນກ່ຽວກັບຂໍ້ມູນທີ່ມີຢູ່ໃນນີ້ຫຼືຄວາມເຫມາະສົມຂອງຜະລິດຕະພັນແລະການບໍລິການຂອງມັນສໍາລັບຈຸດປະສົງສະເພາະໃດຫນຶ່ງ, ແລະ Microsemi ບໍ່ຮັບຜິດຊອບໃດໆທີ່ເກີດຂື້ນຈາກການສະຫມັກຫຼືການນໍາໃຊ້ຜະລິດຕະພັນຫຼືວົງຈອນໃດໆ. ຜະລິດຕະພັນທີ່ຂາຍຢູ່ລຸ່ມນີ້ ແລະ ຜະລິດຕະພັນອື່ນໆທີ່ຂາຍໂດຍ Microsemi ແມ່ນຂຶ້ນກັບການທົດສອບທີ່ຈຳກັດ ແລະ ບໍ່ຄວນໃຊ້ຮ່ວມກັບອຸປະກອນ ຫຼື ແອັບພລິເຄຊັນທີ່ສຳຄັນ. ຂໍ້ມູນຈໍາເພາະການປະຕິບັດແມ່ນເຊື່ອວ່າມີຄວາມຫນ້າເຊື່ອຖືແຕ່ບໍ່ໄດ້ຮັບການຢັ້ງຢືນ, ແລະຜູ້ຊື້ຕ້ອງດໍາເນີນການແລະເຮັດສໍາເລັດການປະຕິບັດທັງຫມົດແລະການທົດສອບອື່ນໆຂອງຜະລິດຕະພັນ, ດຽວແລະຮ່ວມກັນ, ຫຼືຕິດຕັ້ງໃນ, ຜະລິດຕະພັນສຸດທ້າຍ. ຜູ້ຊື້ຈະບໍ່ອີງໃສ່ຂໍ້ມູນແລະຂໍ້ກໍາຫນົດການປະຕິບັດຫຼືຕົວກໍານົດການສະຫນອງໃຫ້ໂດຍ Microsemi. ມັນເປັນຄວາມຮັບຜິດຊອບຂອງຜູ້ຊື້ໃນການກໍານົດຄວາມເຫມາະສົມຂອງຜະລິດຕະພັນໃດຫນຶ່ງຢ່າງເປັນເອກະລາດແລະການທົດສອບແລະກວດສອບດຽວກັນ. ຂໍ້ມູນທີ່ສະຫນອງໃຫ້ໂດຍ Microsemi ໃນທີ່ນີ້ແມ່ນໄດ້ສະຫນອງໃຫ້ "ເປັນ, ບ່ອນທີ່ເປັນ" ແລະມີຄວາມຜິດພາດທັງຫມົດ, ແລະຄວາມສ່ຽງທັງຫມົດທີ່ກ່ຽວຂ້ອງກັບຂໍ້ມູນຂ່າວສານດັ່ງກ່າວແມ່ນທັງຫມົດຂອງຜູ້ຊື້. Microsemi ບໍ່ໄດ້ໃຫ້ສິດ, ຢ່າງຊັດເຈນ ຫຼື implicitly, ໃຫ້ຝ່າຍໃດຝ່າຍຫນຶ່ງສິດທິສິດທິບັດ, ໃບອະນຸຍາດ, ຫຼືສິດທິ IP ອື່ນໆ, ບໍ່ວ່າຈະກ່ຽວກັບຂໍ້ມູນດັ່ງກ່າວເອງຫຼືສິ່ງທີ່ອະທິບາຍໂດຍຂໍ້ມູນດັ່ງກ່າວ. ຂໍ້ມູນທີ່ສະໜອງໃຫ້ຢູ່ໃນເອກະສານນີ້ແມ່ນເປັນເຈົ້າຂອງຂອງ Microsemi, ແລະ Microsemi ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຂໍ້ມູນໃນເອກະສານນີ້ ຫຼືຕໍ່ກັບຜະລິດຕະພັນ ແລະການບໍລິການຕ່າງໆໄດ້ທຸກເວລາໂດຍບໍ່ຕ້ອງແຈ້ງໃຫ້ຮູ້.
ກ່ຽວກັບ Microsemi
Microsemi, ບໍລິສັດຍ່ອຍທີ່ເປັນເຈົ້າຂອງທັງໝົດຂອງ Microchip Technology Inc. (Nasdaq: MCHP), ສະຫນອງການປະກອບເອກະສານຄົບວົງຈອນຂອງ semiconductor ແລະລະບົບການແກ້ໄຂສໍາລັບອາວະກາດ & ການປ້ອງກັນ, ການສື່ສານ, ສູນຂໍ້ມູນ ແລະຕະຫຼາດອຸດສາຫະກໍາ. ຜະລິດຕະພັນປະກອບມີວົງຈອນປະສົມປະສານສັນຍານອະນາລັອກທີ່ມີປະສິດທິພາບສູງແລະທົນທານຕໍ່ລັງສີ, FPGAs, SoCs ແລະ ASICs; ຜະລິດຕະພັນການຄຸ້ມຄອງພະລັງງານ; ອຸປະກອນກໍານົດເວລາແລະ synchronization ແລະການແກ້ໄຂທີ່ໃຊ້ເວລາທີ່ຊັດເຈນ, ກໍານົດມາດຕະຖານຂອງໂລກສໍາລັບເວລາ; ອຸປະກອນປະມວນຜົນສຽງ; ການແກ້ໄຂ RF; ອົງປະກອບແຍກ; ການເກັບຮັກສາວິສາຫະກິດແລະການແກ້ໄຂການສື່ສານ, ເຕັກໂນໂລຊີຄວາມປອດໄພແລະການຕ້ານການ t ຂະຫນາດamper ຜະລິດຕະພັນ; ການແກ້ໄຂອີເທີເນັດ; Power-over-Ethernet ICs ແລະ midspans; ເຊັ່ນດຽວກັນກັບຄວາມສາມາດໃນການອອກແບບແລະການບໍລິການທີ່ກໍາຫນົດເອງ. ສຶກສາເພີ່ມເຕີມໄດ້ທີ່ www.microsemi.com.
Booting ແລະການຕັ້ງຄ່າ
PolarFire SoC FPGAs ໃຊ້ວົງຈອນການເພີ່ມພະລັງງານແບບພິເສດເພື່ອຮັບປະກັນການເປີດໄຟທີ່ເຊື່ອຖືໄດ້ໃນເວລາເປີດເຄື່ອງ ແລະຣີເຊັດ. ເມື່ອເປີດເຄື່ອງ ແລະຣີເຊັດ, ລຳດັບການບູດເຄື່ອງ PolarFire SoC FPGA ປະຕິບັດຕາມການຣີເຊັດການເປີດເຄື່ອງໃໝ່ (POR), ການບູດອຸປະກອນ, ການເລີ່ມຕົ້ນການອອກແບບ, ລະບົບຍ່ອຍໄມໂຄຄອນໂທລເລີ (MSS) ກ່ອນບູດ, ແລະບູດຜູ້ໃຊ້ MSS. ເອກະສານນີ້ອະທິບາຍ MSS pre-boot ແລະ MSS User Boot. ສໍາລັບຂໍ້ມູນກ່ຽວກັບ POR, Device Boot ແລະການອອກແບບເບື້ອງຕົ້ນ, ເບິ່ງ UG0890: PolarFire SoC FPGA Power-Up ແລະ Resets User Guide.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຄຸນສົມບັດຂອງ MSS, ເບິ່ງ UG0880: PolarFire SoC MSS User Guide.
ລໍາດັບ Boot-up
ລຳດັບການເປີດເຄື່ອງເລີ່ມຕົ້ນເມື່ອ PolarFire SoC FPGA ຖືກເປີດ ຫຼືຣີເຊັດ. ມັນສິ້ນສຸດເມື່ອໂປເຊດເຊີພ້ອມແລ້ວທີ່ຈະດໍາເນີນໂຄງການແອັບພລິເຄຊັນ. ລໍາດັບ booting ນີ້ແລ່ນຜ່ານຫຼາຍ stages ກ່ອນທີ່ມັນຈະເລີ່ມຕົ້ນການປະຕິບັດໂຄງການ.
ຊຸດຂອງການດໍາເນີນງານແມ່ນດໍາເນີນໃນລະຫວ່າງຂະບວນການ Boot-up ເຊິ່ງປະກອບມີການເປີດປິດຂອງຮາດແວໃຫມ່, ການເລີ່ມຕົ້ນອຸປະກອນຕໍ່ພ່ວງ, ການເລີ່ມຕົ້ນຫນ່ວຍຄວາມຈໍາ, ແລະການໂຫຼດຄໍາຮ້ອງສະຫມັກທີ່ຜູ້ໃຊ້ກໍານົດຈາກຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ມີການລະເຫີຍໄປສູ່ຫນ່ວຍຄວາມຈໍາທີ່ປ່ຽນແປງໄດ້ສໍາລັບການປະຕິບັດ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນໄລຍະທີ່ແຕກຕ່າງກັນຂອງລໍາດັບ Boot-up.
ຮູບ 1 ລໍາດັບ Boot-up
MSS Pre-Boot
ເມື່ອສຳເລັດການເລີ່ມຕົ້ນການອອກແບບສຳເລັດແລ້ວ, MSS Pre-boot ຈະເລີ່ມປະຕິບັດ. MSS ຖືກປ່ອຍອອກມາຈາກການຕັ້ງຄ່າໃຫມ່ຫຼັງຈາກສໍາເລັດຂັ້ນຕອນການເລີ່ມຕົ້ນປົກກະຕິທັງຫມົດ. ຕົວຄວບຄຸມລະບົບຈັດການການຂຽນໂປລແກລມ, ການເລີ່ມຕົ້ນ, ແລະການຕັ້ງຄ່າຂອງອຸປະກອນ. MSS Pre-boot ບໍ່ເກີດຂຶ້ນຖ້າອຸປະກອນທີ່ມີໂຄງການຖືກຕັ້ງຄ່າສໍາລັບຮູບແບບການລະງັບຕົວຄວບຄຸມລະບົບ.
ໄລຍະເບື້ອງຕົ້ນຂອງ MSS pre-boot ແມ່ນການປະສານງານໂດຍເຟີມແວຄວບຄຸມລະບົບ, ເຖິງແມ່ນວ່າມັນອາດຈະເຮັດໃຫ້ການນໍາໃຊ້ E51 ໃນ MSS Core Complex ເພື່ອປະຕິບັດບາງສ່ວນຂອງລໍາດັບກ່ອນບູດ.
ເຫດການຕໍ່ໄປນີ້ເກີດຂຶ້ນໃນລະຫວ່າງ MSS pre-boot stage:
- ການເພີ່ມພະລັງງານຂອງ MSS ທີ່ຝັງຢູ່ໃນໜ່ວຍຄວາມຈຳທີ່ບໍ່ປ່ຽນແປງ (eNVM)
- ການເລີ່ມຕົ້ນຂອງການສ້ອມແປງຊໍ້າຊ້ອນທີ່ກ່ຽວຂ້ອງກັບ cache MSS Core Complex L2
- ການກວດສອບລະຫັດ Boot ຜູ້ໃຊ້ (ຖ້າຫາກວ່າ User Secure boot ທາງເລືອກແມ່ນເປີດໃຊ້ງານ)
- ມອບ MSS ການດໍາເນີນງານໃຫ້ກັບລະຫັດ Boot ຜູ້ໃຊ້
MSS Core Complex ສາມາດຖືກບູດຢູ່ໃນຫນຶ່ງໃນສີ່ໂຫມດ. ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງຕົວເລືອກ MSS pre-boot, ເຊິ່ງສາມາດຕັ້ງຄ່າແລະຂຽນໂປຼແກຼມເຂົ້າໄປໃນ sNVM. ໂຫມດບູດແມ່ນຖືກກໍານົດໂດຍພາລາມິເຕີຜູ້ໃຊ້ U_MSS_BOOTMODE[1:0]. ຂໍ້ມູນການຕັ້ງຄ່າ boot ເພີ່ມເຕີມແມ່ນຂຶ້ນກັບຮູບແບບແລະຖືກກໍານົດໂດຍພາລາມິເຕີຜູ້ໃຊ້ U_MSS_BOOTCFG (ເບິ່ງຕາຕະລາງ 3, ຫນ້າ 4 ແລະຕາຕະລາງ 5, ຫນ້າ 6).
ຕາຕະລາງ 1 • MSS Core Complex Boot Modes
U_MSS_BOOTMODE[1:0] | ໂໝດ | ລາຍລະອຽດ |
0 | boot idle | MSS Core Complex boots ຈາກ boot ROM ຖ້າ MSS ບໍ່ຖືກຕັ້ງຄ່າ |
1 | boot ບໍ່ປອດໄພ | MSS Core Complex boots ໂດຍກົງຈາກທີ່ຢູ່ທີ່ກໍານົດໂດຍ U_MSS_BOOTADDR |
2 | boot ທີ່ປອດໄພຂອງຜູ້ໃຊ້ | ເກີບ MSS Core Complex ຈາກ sNVM |
3 | ເກີບທີ່ປອດໄພຈາກໂຮງງານ | MSS Core Complex boots ໂດຍໃຊ້ໂປໂຕຄອນ boot ທີ່ປອດໄພຈາກໂຮງງານ |
ທາງເລືອກໃນການບູດແມ່ນເລືອກເປັນສ່ວນຫນຶ່ງຂອງການໄຫຼອອກແບບ Libero. ການປ່ຽນໂຫມດສາມາດເຮັດໄດ້ພຽງແຕ່ຜ່ານການສ້າງໂຄງການ FPGA ໃຫມ່ file.
ຮູບທີ 2 • MSS Pre-boot Flow
Idle Boot
ຖ້າ MSS ບໍ່ໄດ້ຖືກຕັ້ງຄ່າ (ສໍາລັບຕົວຢ່າງample, ອຸປະກອນເປົ່າ), ຫຼັງຈາກນັ້ນ MSS Core Complex ດໍາເນີນໂຄງການ ROM boot ທີ່ຖືໂປເຊດເຊີທັງຫມົດໃນ loop infinite ຈົນກ່ວາ debugger ເຊື່ອມຕໍ່ກັບເປົ້າຫມາຍ. ການລົງທະບຽນ boot vector ຮັກສາມູນຄ່າຂອງມັນຈົນກ່ວາອຸປະກອນຈະຖືກຕັ້ງໃຫມ່ຫຼືການຕັ້ງຄ່າໂຫມດບູດໃຫມ່ຖືກຕັ້ງໂຄງການ. ສໍາລັບອຸປະກອນການຕັ້ງຄ່າ, ຮູບແບບນີ້ສາມາດໄດ້ຮັບການປະຕິບັດໂດຍການນໍາໃຊ້
U_MSS_BOOTMODE=0 ທາງເລືອກການເປີດເຄື່ອງໃນ Libero configurator.
ໝາຍເຫດ: ໃນໂໝດນີ້, U_MSS_BOOTCFG ບໍ່ໄດ້ໃຊ້.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການໄຫຼເຂົ້າຂອງ Idle boot.
ຮູບທີ 3 • Idle Boot Flow
Boot ບໍ່ປອດໄພ
ໃນໂຫມດນີ້, MSS Core Complex ດໍາເນີນການຈາກທີ່ຢູ່ eNVM ທີ່ລະບຸໄວ້ໂດຍບໍ່ມີການພິສູດຢືນຢັນ. ມັນສະຫນອງທາງເລືອກ boot ທີ່ໄວທີ່ສຸດ, ແຕ່ບໍ່ມີການຢືນຢັນຮູບພາບລະຫັດ. ທີ່ຢູ່ສາມາດລະບຸໄດ້ໂດຍການຕັ້ງຄ່າ U_MSS_BOOTADDR ໃນ Libero Configurator. ໂຫມດນີ້ຍັງສາມາດຖືກໃຊ້ເພື່ອບູດຈາກຊັບພະຍາກອນຫນ່ວຍຄວາມຈໍາ FPGA Fabric ໃດໆໂດຍຜ່ານ FIC. ຮູບແບບນີ້ແມ່ນປະຕິບັດໂດຍການນໍາໃຊ້
U_MSS_BOOTMODE=1 ທາງເລືອກໃນການເປີດເຄື່ອງ.
MSS Core Complex ຖືກປ່ອຍອອກມາຈາກການຕັ້ງຄ່າຄືນໃໝ່ດ້ວຍ boot vectors ທີ່ກຳນົດໂດຍ U_MSS_BOOTCFG (ຕາມຕາຕະລາງຕໍ່ໄປນີ້).
ຕາຕະລາງ 2 • ການນຳໃຊ້ U_MSS_BOOTCFG ໃນໂໝດການບູດທີ່ບໍ່ປອດໄພ 1
ຊົດເຊີຍ (ໄບຕ໌) |
ຂະຫນາດ (bytes) |
ຊື່ |
ລາຍລະອຽດ |
0 | 4 | BOOTVEC0 | Boot vector ສໍາລັບ E51 |
4 | 4 | BOOTVEC1 | Boot vector ສໍາລັບ U540 |
8 | 4 | BOOTVEC2 | Boot vector ສໍາລັບ U541 |
16 | 4 | BOOTVEC3 | Boot vector ສໍາລັບ U542 |
20 | 4 | BOOTVEC4 | Boot vector ສໍາລັບ U543 |
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການໄຫຼເຂົ້າເກີບທີ່ບໍ່ປອດໄພ.
ຮູບທີ 4 • Boot Flow ທີ່ບໍ່ປອດໄພ
User Secure Boot
ໂຫມດນີ້ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດປະຕິບັດການບູດທີ່ປອດໄພທີ່ກໍາຫນົດເອງຂອງເຂົາເຈົ້າເອງແລະລະຫັດບູດທີ່ປອດໄພຂອງຜູ້ໃຊ້ແມ່ນຖືກຈັດໃສ່ໃນ sNVM. sNVM ເປັນຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ມີການລະເຫີຍ 56 KB ທີ່ສາມາດປ້ອງກັນໄດ້ໂດຍຫນ້າທີ່ສ້າງໃນ Physically Unclonable Function (PUF). ວິທີການ boot ນີ້ຖືວ່າປອດໄພ ເພາະວ່າໜ້າ sNVM ທີ່ໝາຍເປັນ ROM ແມ່ນບໍ່ສາມາດປ່ຽນແປງໄດ້. ເມື່ອເປີດເຄື່ອງແລ້ວ, ຕົວຄວບຄຸມລະບົບຈະສຳເນົາລະຫັດບູດທີ່ປອດໄພຂອງຜູ້ໃຊ້ຈາກ sNVM ໄປຫາ Data Tightly Integrated Memory (DTIM) ຂອງຫຼັກ E51 Monitor. E51 ເລີ່ມປະຕິບັດລະຫັດ boot ທີ່ປອດໄພຂອງຜູ້ໃຊ້.
ຖ້າຂະຫນາດຂອງລະຫັດບູດທີ່ປອດໄພຂອງຜູ້ໃຊ້ແມ່ນຫຼາຍກ່ວາຂະຫນາດຂອງ DTIM, ຜູ້ໃຊ້ຈໍາເປັນຕ້ອງແຍກລະຫັດບູດອອກເປັນສອງ s.tages. sNVM ອາດມີ s ຕໍ່ໄປtage ຂອງລໍາດັບ boot ຜູ້ໃຊ້, ເຊິ່ງອາດຈະປະຕິບັດການກວດສອບການ boot ຕໍ່ໄປtage ການນໍາໃຊ້ລະບົບການກວດສອບຜູ້ໃຊ້ / ການຖອດລະຫັດວິທີການ.
ຖ້າຫາກວ່າຫນ້າທີ່ຖືກຮັບຮອງຫຼືເຂົ້າລະຫັດໄດ້ຖືກນໍາໃຊ້, ກະແຈ USK ດຽວກັນ (ນັ້ນແມ່ນ,
U_MSS_BOOT_SNVM_USK) ຈະຕ້ອງຖືກໃຊ້ສໍາລັບທຸກຫນ້າທີ່ກວດສອບຄວາມຖືກຕ້ອງ/ເຂົ້າລະຫັດໄວ້.
ຖ້າການພິສູດຢືນຢັນລົ້ມເຫລວ, MSS Core Complex ສາມາດຖືກຕັ້ງໄວ້ໃນການຕັ້ງຄ່າໃຫມ່ແລະ BOOT_FAIL t.amper ທຸງສາມາດໄດ້ຮັບການຍົກຂຶ້ນມາ. ໂໝດນີ້ຖືກປະຕິບັດໂດຍໃຊ້ U_MSS_BOOTMODE=2 ທາງເລືອກໃນການບູດ.
ຕາຕະລາງ 3 • ການນຳໃຊ້ U_MSS_BOOTCFG ໃນ User Secure Boot
ຊົດເຊີຍ (ໄບຕ໌) | ຂະຫນາດ (bytes) | ຊື່ | ລາຍລະອຽດ |
0 | 1 | U_MSS_BOOT_SNVM_PAGE | ຫນ້າເລີ່ມຕົ້ນໃນ SNVM |
1 | 3 | ສະຫງວນໄວ້ | ສໍາລັບການສອດຄ່ອງ |
4 | 12 | U_MSS_BOOT_SNVM_USK | ສໍາລັບຫນ້າທີ່ຮັບຮອງ / ເຂົ້າລະຫັດ |
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການໄຫຼເຂົ້າເກີບທີ່ປອດໄພຂອງຜູ້ໃຊ້.
ຮູບທີ 5 • User Secure Boot Flow
Factory Secure Boot
ໃນໂຫມດນີ້, ຕົວຄວບຄຸມລະບົບອ່ານໃບຢັ້ງຢືນຮູບພາບ Boot ທີ່ປອດໄພ (SBIC) ຈາກ eNVM ແລະກວດສອບ SBIC. ເມື່ອການກວດສອບສຳເລັດແລ້ວ, System Controller ຈະສຳເນົາລະຫັດບູດທີ່ປອດໄພຈາກໂຮງງານຈາກພື້ນທີ່ໜ່ວຍຄວາມຈຳທີ່ປອດໄພ ແລະໂຫຼດມັນໃສ່ DTIM ຂອງຫຼັກ E51 Monitor. ຄ່າເລີ່ມຕົ້ນທີ່ປອດໄພ boot ດໍາເນີນການກວດສອບລາຍເຊັນຢູ່ໃນຮູບພາບ eNVM ໂດຍໃຊ້ SBIC ທີ່ເກັບໄວ້ໃນ eNVM. ຖ້າບໍ່ມີລາຍງານຂໍ້ຜິດພາດ, ຣີເຊັດຈະຖືກປ່ອຍໄປທີ່ MSS Core Complex. ຖ້າຫາກວ່າຄວາມຜິດພາດໄດ້ຖືກລາຍງານ, MSS Core Complex ຖືກຈັດໃສ່ໃນການປັບແລະ BOOT_FAIL tamper ທຸງຖືກຍົກຂຶ້ນມາ. ຈາກນັ້ນ, ຕົວຄວບຄຸມລະບົບຈະເປີດໃຊ້ງານຢູ່amper flag ທີ່ຢືນຢັນສັນຍານກັບ fabric FPGA ສໍາລັບການປະຕິບັດຂອງຜູ້ໃຊ້. ໂໝດນີ້ຖືກປະຕິບັດໂດຍໃຊ້ U_MSS_BOOTMODE=3 ທາງເລືອກໃນການບູດ.
SBIC ມີທີ່ຢູ່, ຂະໜາດ, hash, ແລະ Elliptic Curve Digital Signature Algorithm (ECDSA) ລາຍເຊັນຂອງ blob binary ທີ່ຖືກປ້ອງກັນ. ECDSA ສະເໜີຕົວປ່ຽນຂອງລະບົບ Digital Signature Algorithm ເຊິ່ງໃຊ້ການເຂົ້າລະຫັດໂຄ້ງຮູບສ້ວຍ. ມັນຍັງປະກອບດ້ວຍ vector ປັບສໍາລັບແຕ່ລະ Hardware
thread/core/core processor (Hart) ໃນລະບົບ.
ຕາຕະລາງ 4 • Secure Boot Image Certificate (SBIC)
ຊົດເຊີຍ | ຂະຫນາດ (bytes) | ມູນຄ່າ | ລາຍລະອຽດ |
0 | 4 | IMAGEADDR | ທີ່ຢູ່ຂອງ UBL ໃນແຜນທີ່ຄວາມຊົງຈໍາ MSS |
4 | 4 | ຮູບພາບ | ຂະຫນາດຂອງ UBL ໃນ bytes |
8 | 4 | BOOTVEC0 | Boot vector ໃນ UBL ສໍາລັບ E51 |
12 | 4 | BOOTVEC1 | Boot vector ໃນ UBL ສໍາລັບ U540 |
16 | 4 | BOOTVEC2 | Boot vector ໃນ UBL ສໍາລັບ U541 |
20 | 4 | BOOTVEC3 | Boot vector ໃນ UBL ສໍາລັບ U542 |
24 | 4 | BOOTVEC4 | Boot vector ໃນ UBL ສໍາລັບ U543 |
28 | 1 | ຕົວເລືອກ[7:0] | ທາງເລືອກ SBIC |
28 | 3 | ສະຫງວນໄວ້ | |
32 | 8 | ເວີຊັ່ນ | ສະບັບ SBIC/ຮູບພາບ |
40 | 16 | DSN | ການຜູກມັດ DSN ທາງເລືອກ |
56 | 48 | H | UBL ຮູບພາບ SHA-384 hash |
104 | 104 | CODESIG | ລາຍເຊັນ ECDSA ທີ່ເຂົ້າລະຫັດ DER |
ທັງໝົດ | 208 | ໄບຕ໌ |
DSN
ຖ້າຊ່ອງຂໍ້ມູນ DSN ບໍ່ແມ່ນສູນ, ມັນຖືກປຽບທຽບກັບເລກລໍາດັບຂອງອຸປະກອນ. ຖ້າການປຽບທຽບລົ້ມເຫລວ, ຫຼັງຈາກນັ້ນ boot_fail tamper ທຸງຖືກຕັ້ງແລະການກວດສອບຄວາມຖືກຕ້ອງຖືກຍົກເລີກ.
ເວີຊັ່ນ
ຖ້າການຍົກເລີກ SBIC ຖືກເປີດໃຊ້ໂດຍ U_MSS_REVOCATION_ENABLE, SBIC ຈະຖືກປະຕິເສດ ເວັ້ນເສຍແຕ່ວ່າຄ່າຂອງ VERSION ຈະໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບເກນການຖອນ.
ທາງເລືອກການຖອນ SBIC
ຖ້າການຖອດຖອນ SBIC ຖືກເປີດໃຊ້ໂດຍ U_MSS_REVOCATION_ENABLE ແລະ OPTIONS[0] ແມ່ນ '1', ທຸກລຸ້ນ SBIC ທີ່ນ້ອຍກວ່າ VERSION ຈະຖືກຖອນຄືນເມື່ອມີການກວດສອບຄວາມຖືກຕ້ອງສົມບູນຂອງ SBIC. ເກນການຖອນຄືນຍັງຄົງຢູ່ທີ່ຄ່າໃໝ່ຈົນກວ່າມັນຈະເພີ່ມຂຶ້ນອີກຄັ້ງໂດຍ SBIC ໃນອະນາຄົດທີ່ມີ OPTIONS[0] = '1' ແລະຊ່ອງຂໍ້ມູນ VERSION ທີ່ສູງກວ່າ. ເກນການຖອດຖອນອາດຈະຖືກເພີ່ມຂຶ້ນໂດຍໃຊ້ກົນໄກນີ້ເທົ່ານັ້ນ ແລະສາມາດຣີເຊັດໄດ້ໂດຍບິດສະຕຣີມເທົ່ານັ້ນ.
ເມື່ອເກນການຖອນຄືນໄດ້ຖືກປັບປຸງແບບໄດນາມິກ, ເກນຈະຖືກເກັບໄວ້ໂດຍໃຊ້ຮູບແບບການເກັບຮັກສາທີ່ຊໍ້າຊ້ອນທີ່ໃຊ້ສໍາລັບລະຫັດຜ່ານເຊັ່ນວ່າໄຟຂັດຂ້ອງໃນລະຫວ່າງການບູດອຸປະກອນບໍ່ເຮັດໃຫ້ການບູດອຸປະກອນຕໍ່ມາລົ້ມເຫລວ. ຖ້າການອັບເດດເກນການຖອນຄືນລົ້ມເຫລວ, ມັນຮັບປະກັນວ່າຄ່າເກນແມ່ນຄ່າໃໝ່ ຫຼືຄ່າກ່ອນໜ້າ.
ຕາຕະລາງ 5 • ການນຳໃຊ້ U_MSS_BOOTCFG ໃນໂໝດ Factory Boot Loader
ຊົດເຊີຍ (ໄບຕ໌) |
ຂະຫນາດ (bytes) |
ຊື່ |
ລາຍລະອຽດ |
0 | 4 | U_MSS_SBIC_ADDR | ທີ່ຢູ່ຂອງ SBIC ໃນພື້ນທີ່ທີ່ຢູ່ MSS |
4 | 4 | U_MSS_REVOCATION_ENABLE | ເປີດໃຊ້ການຖອນ SBIC ຖ້າບໍ່ແມ່ນສູນ |
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການໄຫຼເຂົ້າເກີບທີ່ປອດໄພຂອງໂຮງງານ.
ຮູບທີ 6 • Factory Secure Boot Flow
MSS User Boot
boot ຜູ້ໃຊ້ MSS ເກີດຂຶ້ນເມື່ອການຄວບຄຸມຖືກມອບໃຫ້ຈາກ System Controller ໄປຫາ MSS Core Complex. ເມື່ອ MSS pre-boot ປະສົບຜົນສໍາເລັດ, ຕົວຄວບຄຸມລະບົບຈະປ່ອຍການຣີເຊັດເປັນ MSS Core Complex. MSS ສາມາດຖືກບູດຂຶ້ນດ້ວຍວິທີໜຶ່ງຕໍ່ໄປນີ້:
- ຄໍາຮ້ອງສະຫມັກໂລຫະເປົ່າ
- ແອັບພລິເຄຊັນ Linux
- AMP ຄໍາຮ້ອງສະຫມັກ
ຄໍາຮ້ອງສະຫມັກໂລຫະເປົ່າ
ຄໍາຮ້ອງສະຫມັກໂລຫະເປົ່າສໍາລັບ PolarFire SoC ສາມາດຖືກພັດທະນາໂດຍໃຊ້ເຄື່ອງມື SoftConsole. ເຄື່ອງມືນີ້ສະຫນອງຜົນຜະລິດ files ໃນຮູບແບບຂອງ .hex ທີ່ສາມາດຖືກນໍາໃຊ້ໃນການໄຫຼ Libero ເພື່ອລວມເຂົ້າໄປໃນ bitstream ການດໍາເນີນໂຄງການ file. ເຄື່ອງມືດຽວກັນສາມາດຖືກນໍາໃຊ້ເພື່ອ debug ຄໍາຮ້ອງສະຫມັກ Bare Metal ການນໍາໃຊ້ JTAG
ການໂຕ້ຕອບ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຄໍາຮ້ອງສະຫມັກ SoftConsole Bare Metal ທີ່ມີຫ້າ harts (cores) ລວມທັງ E51 Monitor core.
ຮູບທີ 7 • ໂຄງການ SoftConsole
ແອັບພລິເຄຊັນ Linux
ພາກນີ້ອະທິບາຍລໍາດັບການບູດສໍາລັບ Linux ທີ່ແລ່ນຢູ່ໃນທຸກແກນ U54.
ຂະບວນການ boot ປົກກະຕິປະກອບດ້ວຍສາມ stages. ທໍາອິດ stage boot loader (FSBL) ໄດ້ຮັບການປະຕິບັດຈາກ on-chip Boot flash (eNVM). FSBL ໂຫລດ s ທີສອງtage boot loader (SSBL) ຈາກອຸປະກອນ boot ກັບ RAM ພາຍນອກຫຼື Cache. ອຸປະກອນ boot ສາມາດເປັນ eNVM ຫຼື embedded memory microcontroller (eMMC) ຫຼື SPI Flash ພາຍນອກ. SSBL ໂຫຼດລະບົບປະຕິບັດການ Linux ຈາກອຸປະກອນ boot ໄປໃສ່ RAM ພາຍນອກ. ໃນທີສາມ stage, Linux ຖືກປະຕິບັດຈາກ RAM ພາຍນອກ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການໄຫລຂອງ Linux Boot Process.
ຮູບທີ 8 • ປົກກະຕິ Linux Boot Process Flow
ລາຍລະອຽດຂອງ FSBL, Device tree, Linux, ແລະ YOCTO build, ວິທີການສ້າງ ແລະ configure Linux ຈະຖືກສະໜອງໃຫ້ໃນການປ່ອຍເອກະສານນີ້ໃນອະນາຄົດ.
AMP ຄໍາຮ້ອງສະຫມັກ
ລາຍລະອຽດຂອງ Libero MSS Configurator ແລະວິທີການແກ້ໄຂບັນຫາການນໍາໃຊ້ multi-processor ນໍາໃຊ້ SoftConsole ຈະໄດ້ຮັບການສະຫນອງໃຫ້ໃນການປ່ອຍເອກະສານໃນອະນາຄົດ.
ແຫຼ່ງຂໍ້ມູນທີ່ແຕກຕ່າງກັນຂອງ Booting
ເພື່ອໄດ້ຮັບການປັບປຸງໃນສະບັບໃນອະນາຄົດຂອງເອກະສານນີ້.
ການຕັ້ງຄ່າ Boot
ເພື່ອໄດ້ຮັບການປັບປຸງໃນສະບັບໃນອະນາຄົດຂອງເອກະສານນີ້.
ຕົວຫຍໍ້
ຕົວຫຍໍ້ຕໍ່ໄປນີ້ຖືກໃຊ້ໃນເອກະສານນີ້.
ຕາຕະລາງ 1 • ບັນຊີລາຍຊື່ຂອງຕົວຫຍໍ້
ຕົວຫຍໍ້ຂະຫຍາຍ
- AMP Asymmetric Multi-processing
- DTIM ຫນ່ວຍຄວາມຈໍາປະສົມປະສານແຫນ້ນແຫນ້ນຂໍ້ມູນ (ຍັງເອີ້ນວ່າ SRAM)
- ECDSA ສູດການຄິດໄລ່ລາຍເຊັນດິຈິຕອນເສັ້ນໂຄ້ງຮູບຮີ
- eNVM ຝັງໜ່ວຍຄວາມຈຳທີ່ບໍ່ປ່ຽນແປງ
- FSBL ທໍາອິດ Stage Boot Loader
- ຮາດ ຮາດແວ thread/core/core processor
- MSS ລະບົບຍ່ອຍຂອງ Microprocessor
- ປອ ເປີດຣີເຊັດ
- PUF ການທໍາງານຂອງ unclonable ທາງຮ່າງກາຍ
- ROM ໜ່ວຍຄວາມຈຳແບບອ່ານເທົ່ານັ້ນ
- ສສ ຂົວຄວບຄຸມລະບົບ
- sNVM ຮັບປະກັນຄວາມຊົງຈໍາທີ່ບໍ່ລະເຫີຍ
ປະຫວັດການແກ້ໄຂ
ປະຫວັດການດັດແກ້ອະທິບາຍການປ່ຽນແປງທີ່ໄດ້ປະຕິບັດໃນເອກະສານ. ການປ່ຽນແປງແມ່ນໄດ້ລະບຸໄວ້ໂດຍການປັບປຸງ, ເລີ່ມຕົ້ນຈາກການພິມເຜີຍແຜ່ໃນປັດຈຸບັນ.
ການທົບທວນ 2.0
ຕໍ່ໄປນີ້ແມ່ນສະຫຼຸບສັງລວມຂອງການປ່ຽນແປງທີ່ເຮັດໄດ້ໃນການແກ້ໄຂນີ້.
- ຂໍ້ມູນກ່ຽວກັບ Factory Secure Boot ໄດ້ຖືກອັບເດດແລ້ວ.
- ຂໍ້ມູນກ່ຽວກັບຄໍາຮ້ອງສະຫມັກໂລຫະເປົ່າໄດ້ຖືກປັບປຸງ.
ການທົບທວນ 1.0
ການພິມເຜີຍແຜ່ຄັ້ງທໍາອິດຂອງເອກະສານນີ້.
ສໍານັກງານໃຫຍ່ Microsemi
ບໍລິສັດໜຶ່ງ, Aliso Viejo,
CA 92656 ສະຫະລັດ
ພາຍໃນສະຫະລັດ: +1 800-713-4113
ນອກອາເມລິກາ: +1 949-380-6100
ການຂາຍ: +1 949-380-6136
ແຟັກ: +1 949-215-4996
ອີເມວ: sales.support@microsemi.com
www.microsemi.com
©2020 Microsemi, ບໍລິສັດຍ່ອຍທີ່ເປັນເຈົ້າຂອງທັງໝົດຂອງ Microchip Technology Inc. ສະຫງວນລິຂະສິດທັງໝົດ. Microsemi ແລະ ໂລໂກ້ Microsemi ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງບໍລິສັດ Microsemi. ເຄື່ອງໝາຍການຄ້າ ແລະເຄື່ອງໝາຍການບໍລິການອື່ນໆທັງໝົດແມ່ນເປັນຊັບສິນຂອງເຈົ້າຂອງຂອງຕົນ.
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
Microchip UG0881 PolarFire SoC FPGA Booting ແລະການຕັ້ງຄ່າ [pdf] ຄູ່ມືຜູ້ໃຊ້ UG0881 PolarFire SoC FPGA Booting and Configuration, UG0881, PolarFire SoC FPGA Booting and Configuration, Booting and Configuration |