Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Booting ແລະການຕັ້ງຄ່າ

Microchip-UG0881-PolarFire-SoC-FPGA-booting-and-configuration-product

ຮັບປະກັນ

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-upMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 1

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 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 2

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 FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 3

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 ທີ່ບໍ່ປອດໄພMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 4

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 FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 5

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 FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 7

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 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 8

ແອັບພລິເຄຊັນ 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 FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-fig 9

ລາຍລະອຽດຂອງ 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

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *