ไมโครเซมิ-LGOO

การบูตและการกำหนดค่า FPGA ของ Microchip UG0881 PolarFire SoC

ผลิตภัณฑ์ Microchip-UG0881-PolarFire-SoC-FPGA-Booting และการกำหนดค่า

การรับประกัน

Microsemi ไม่รับประกัน รับรอง หรือรับรองใดๆ เกี่ยวกับข้อมูลที่มีอยู่ในเอกสารนี้หรือความเหมาะสมของผลิตภัณฑ์และบริการสำหรับวัตถุประสงค์ใดๆ โดยเฉพาะ และ Microsemi จะไม่รับผิดชอบใดๆ ทั้งสิ้นที่เกิดจากการใช้งานผลิตภัณฑ์หรือวงจรใดๆ ผลิตภัณฑ์ที่จำหน่ายภายใต้เอกสารนี้และผลิตภัณฑ์อื่นๆ ที่จำหน่ายโดย Microsemi ได้รับการทดสอบอย่างจำกัดและไม่ควรใช้ร่วมกับอุปกรณ์หรือแอปพลิเคชันที่สำคัญต่อภารกิจ ข้อมูลจำเพาะด้านประสิทธิภาพใดๆ ถือว่าเชื่อถือได้แต่ไม่ได้รับการตรวจสอบ และผู้ซื้อจะต้องดำเนินการและดำเนินการทดสอบประสิทธิภาพและการทดสอบอื่นๆ ทั้งหมดของผลิตภัณฑ์ ไม่ว่าจะเพียงลำพังหรือร่วมกับหรือติดตั้งในผลิตภัณฑ์ขั้นสุดท้าย ผู้ซื้อจะต้องไม่พึ่งพาข้อมูลจำเพาะหรือพารามิเตอร์ด้านประสิทธิภาพใดๆ ที่ Microsemi จัดเตรียมไว้ เป็นความรับผิดชอบของผู้ซื้อในการพิจารณาความเหมาะสมของผลิตภัณฑ์ใดๆ และทดสอบและยืนยันข้อมูลดังกล่าวด้วยตนเอง ข้อมูลที่ Microsemi จัดเตรียมไว้ภายใต้เอกสารนี้ให้ไว้ "ตามที่เป็น ณ ที่นั้น" และพร้อมข้อบกพร่องทั้งหมด และความเสี่ยงทั้งหมดที่เกี่ยวข้องกับข้อมูลดังกล่าวอยู่ที่ผู้ซื้อทั้งหมด Microsemi ไม่ให้สิทธิ์ในสิทธิบัตร ใบอนุญาต หรือสิทธิ์ในทรัพย์สินทางปัญญาอื่นใดแก่บุคคลใดๆ ไม่ว่าโดยชัดแจ้งหรือโดยปริยาย ไม่ว่าจะเป็นข้อมูลดังกล่าวหรือสิ่งที่อธิบายไว้ในข้อมูลดังกล่าว ข้อมูลที่ให้ไว้ในเอกสารนี้เป็นกรรมสิทธิ์ของ Microsemi และ Microsemi ขอสงวนสิทธิ์ในการเปลี่ยนแปลงข้อมูลในเอกสารนี้หรือผลิตภัณฑ์และบริการใดๆ ในเวลาใดก็ได้โดยไม่ต้องแจ้งให้ทราบล่วงหน้า

เกี่ยวกับไมโครเซมิ

Microsemi ซึ่งเป็นบริษัทในเครือของ Microchip Technology Inc. (Nasdaq: MCHP) ที่ถือหุ้นทั้งหมด ให้บริการโซลูชั่นเซมิคอนดักเตอร์และระบบที่ครอบคลุมสำหรับตลาดการบินและอวกาศและการป้องกันประเทศ การสื่อสาร ศูนย์ข้อมูล และตลาดอุตสาหกรรม ผลิตภัณฑ์ประกอบด้วยวงจรรวมสัญญาณผสมอนาล็อกประสิทธิภาพสูงและชุบแข็งด้วยรังสี, FPGA, SoC และ ASIC; ผลิตภัณฑ์การจัดการพลังงาน อุปกรณ์จับเวลาและซิงโครไนซ์และการแก้ปัญหาเวลาที่แม่นยำ กำหนดมาตรฐานโลกสำหรับเวลา อุปกรณ์ประมวลผลเสียง โซลูชั่น RF; ส่วนประกอบที่ไม่ต่อเนื่อง โซลูชันการจัดเก็บข้อมูลและการสื่อสารระดับองค์กร เทคโนโลยีการรักษาความปลอดภัย และ anti-t . ที่ปรับขนาดได้ampเอ้อผลิตภัณฑ์; โซลูชั่นอีเทอร์เน็ต Power-over-Ethernet ICs และมิดสแปน; ตลอดจนความสามารถในการออกแบบและบริการที่กำหนดเอง เรียนรู้เพิ่มเติมที่ www.microsemi.com.

การบูตและการกำหนดค่า

FPGA PolarFire SoC ใช้วงจรจ่ายไฟขั้นสูงเพื่อให้แน่ใจว่าสามารถจ่ายไฟได้อย่างน่าเชื่อถือเมื่อจ่ายไฟและรีเซ็ต เมื่อจ่ายไฟและรีเซ็ต ลำดับการบูต FPGA PolarFire SoC จะเป็นไปตามการรีเซ็ตเมื่อเปิดเครื่อง (POR) การบูตอุปกรณ์ การเริ่มต้นระบบออกแบบ การบูตระบบย่อยไมโครคอนโทรลเลอร์ (MSS) ก่อน และการบูตผู้ใช้ MSS เอกสารนี้จะอธิบายเกี่ยวกับ MSS ก่อนการบูตและการบูตผู้ใช้ MSS สำหรับข้อมูลเกี่ยวกับ POR การบูตอุปกรณ์ และการเริ่มต้นระบบออกแบบ โปรดดู UG0890: คู่มือผู้ใช้การจ่ายไฟและการรีเซ็ต PolarFire SoC FPGA
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะ MSS โปรดดู UG0880: คู่มือผู้ใช้ PolarFire SoC MSS

ลำดับการบูต
ลำดับการบูตจะเริ่มต้นเมื่อเปิดเครื่องหรือรีเซ็ต PolarFire SoC FPGA และจะสิ้นสุดเมื่อโปรเซสเซอร์พร้อมที่จะรันโปรแกรมแอปพลิเคชัน ลำดับการบูตนี้จะดำเนินไปหลายขั้นตอนtagก่อนที่จะเริ่มดำเนินการโปรแกรม
มีการดำเนินการชุดหนึ่งเกิดขึ้นในระหว่างกระบวนการบูตเครื่อง ซึ่งได้แก่ การรีเซ็ตฮาร์ดแวร์เมื่อเปิดเครื่อง การเริ่มต้นอุปกรณ์ต่อพ่วง การเริ่มต้นหน่วยความจำ และการโหลดแอปพลิเคชันที่ผู้ใช้กำหนดจากหน่วยความจำที่ไม่ลบเลือนไปยังหน่วยความจำลบเลือนเพื่อดำเนินการ

รูปต่อไปนี้แสดงเฟสต่างๆ ของลำดับการบูต

รูปที่ 1  ลำดับการบูตการบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 1

MSS ก่อนการบูต

เมื่อเสร็จสิ้นกระบวนการ Design Initialization สำเร็จ MSS Pre-boot จะเริ่มทำงาน โดย MSS จะถูกปลดจากการรีเซ็ตหลังจากเสร็จสิ้นขั้นตอนการเริ่มต้นระบบตามปกติทั้งหมด ตัวควบคุมระบบจะจัดการการเขียนโปรแกรม การเริ่มต้นระบบ และการกำหนดค่าอุปกรณ์ MSS Pre-boot จะไม่เกิดขึ้นหากอุปกรณ์ที่เขียนโปรแกรมได้รับการกำหนดค่าสำหรับโหมดพักการทำงานของตัวควบคุมระบบ
เฟสการเริ่มต้นระบบก่อนบูตของ MSS ได้รับการประสานงานโดยเฟิร์มแวร์ตัวควบคุมระบบ แม้ว่าอาจใช้ E51 ใน MSS Core Complex เพื่อดำเนินการส่วนต่างๆ ของลำดับการก่อนบูตก็ตาม
เหตุการณ์ต่อไปนี้เกิดขึ้นในระหว่าง MSS ก่อนบูตtage:

  • การเพิ่มพลังให้กับหน่วยความจำแบบไม่ลบเลือนที่ฝังอยู่ใน MSS (eNVM)
  • การเริ่มต้นการซ่อมแซมซ้ำซ้อนที่เกี่ยวข้องกับแคช L2 ของ MSS Core Complex
  • การตรวจสอบรหัสบูตของผู้ใช้ (หากเปิดใช้งานตัวเลือกการบูตแบบปลอดภัยของผู้ใช้)
  • ส่งมอบ MSS ปฏิบัติการให้กับรหัสการบูตของผู้ใช้

MSS Core Complex สามารถบูตได้ 1 ใน 0 โหมด ตารางต่อไปนี้แสดงตัวเลือก MSS ก่อนบูต ซึ่งสามารถกำหนดค่าและตั้งโปรแกรมใน sNVM ได้ โหมดบูตถูกกำหนดโดยพารามิเตอร์ผู้ใช้ U_MSS_BOOTMODE[3:4] ข้อมูลการกำหนดค่าการบูตเพิ่มเติมจะขึ้นอยู่กับโหมดและถูกกำหนดโดยพารามิเตอร์ผู้ใช้ U_MSS_BOOTCFG (ดูตาราง 5 หน้า 6 และตาราง XNUMX หน้า XNUMX)

ตารางที่ 1 • โหมดการบูตที่ซับซ้อนของ MSS Core

โหมดบูต U_MSS[1:0] โหมด คำอธิบาย
0 การบูตแบบไม่ได้ใช้งาน MSS Core Complex บูตจาก ROM บูตหากไม่ได้กำหนดค่า MSS
1 การบูตแบบไม่ปลอดภัย MSS Core Complex บูตโดยตรงจากที่อยู่ที่กำหนดโดย U_MSS_BOOTADDR
2 การบูตที่ปลอดภัยสำหรับผู้ใช้ รองเท้าบูท MSS Core Complex จาก sNVM
3 บูตปลอดภัยจากโรงงาน MSS Core Complex บูตโดยใช้โปรโตคอลการบูตแบบปลอดภัยจากโรงงาน

ตัวเลือกการบูตถูกเลือกเป็นส่วนหนึ่งของขั้นตอนการออกแบบ Libero การเปลี่ยนโหมดสามารถทำได้โดยการสร้างโปรแกรม FPGA ใหม่เท่านั้น file.

รูปที่ 2 • กระแส MSS ก่อนบูต การบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 2

การบูตแบบไม่ได้ใช้งาน

หากไม่ได้กำหนดค่า MSS (เช่นample อุปกรณ์ว่าง) จากนั้น MSS Core Complex จะดำเนินการโปรแกรม boot ROM ซึ่งเก็บโปรเซสเซอร์ทั้งหมดไว้ในลูปไม่สิ้นสุดจนกว่าดีบักเกอร์จะเชื่อมต่อกับเป้าหมาย รีจิสเตอร์เวกเตอร์การบูตจะรักษาค่าไว้จนกว่าจะรีเซ็ตอุปกรณ์หรือตั้งโปรแกรมการกำหนดค่าโหมดการบูตใหม่ สำหรับอุปกรณ์ที่กำหนดค่าแล้ว โหมดนี้สามารถใช้งานได้โดยใช้
U_MSS_BOOTMODE=0 ตัวเลือกการบูตในตัวกำหนดค่า Libero

บันทึก: ในโหมดนี้ U_MSS_BOOTCFG จะไม่ถูกใช้

รูปต่อไปนี้แสดงขั้นตอนการบูตแบบไม่ได้ใช้งาน
รูปที่ 3 • การไหลของการบูตแบบไม่ได้ใช้งานการบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 3

การบูตแบบไม่ปลอดภัย

ในโหมดนี้ MSS Core Complex จะดำเนินการจากที่อยู่ eNVM ที่ระบุโดยไม่ต้องมีการรับรองความถูกต้อง โดยจะให้ตัวเลือกการบูตที่เร็วที่สุด แต่ไม่มีการรับรองความถูกต้องของอิมเมจโค้ด สามารถระบุที่อยู่ได้โดยตั้งค่า U_MSS_BOOTADDR ใน Libero Configurator โหมดนี้ยังใช้ในการบูตจากทรัพยากรหน่วยความจำ Fabric ของ FPGA ใดๆ ผ่าน FIC โหมดนี้ใช้การนำไปใช้งานโดยใช้
U_MSS_BOOTMODE=ตัวเลือกการบูต 1
MSS Core Complex จะถูกปล่อยจากการรีเซ็ตด้วยเวกเตอร์การบูตที่กำหนดโดย U_MSS_BOOTCFG (ตามที่ระบุไว้ในตารางต่อไปนี้)

ตารางที่ 2 • การใช้งาน U_MSS_BOOTCFG ในโหมดการบูตแบบไม่ปลอดภัย 1

ออฟเซ็ต (ไบต์)  

ขนาด (ไบต์)

 

ชื่อ

 

คำอธิบาย

0 4 บู๊ทเวค0 เวกเตอร์บูทสำหรับ E51
4 4 บู๊ทเวค1 เวกเตอร์การบูตสำหรับ U540
8 4 บู๊ทเวค2 เวกเตอร์การบูตสำหรับ U541
16 4 บู๊ทเวค3 เวกเตอร์การบูตสำหรับ U542
20 4 บู๊ทเวค4 เวกเตอร์การบูตสำหรับ U543

รูปต่อไปนี้แสดงขั้นตอนการบูตที่ไม่ปลอดภัย
รูปที่ 4 • ขั้นตอนการบูตที่ไม่ปลอดภัยการบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 4

การบูตที่ปลอดภัยสำหรับผู้ใช้
โหมดนี้ช่วยให้ผู้ใช้สามารถกำหนดการใช้งานระบบบูตที่ปลอดภัยได้เอง และรหัสระบบบูตที่ปลอดภัยของผู้ใช้จะถูกวางไว้ใน sNVM โดยที่ sNVM คือหน่วยความจำถาวรขนาด 56 KB ที่สามารถป้องกันได้ด้วยฟังก์ชัน Physically Unclonable Function (PUF) ในตัว วิธีการบูตนี้ถือว่าปลอดภัยเนื่องจากหน้า sNVM ที่ทำเครื่องหมายเป็น ROM นั้นไม่เปลี่ยนแปลง เมื่อเปิดเครื่อง ตัวควบคุมระบบจะคัดลอกรหัสระบบบูตที่ปลอดภัยของผู้ใช้จาก sNVM ไปยัง Data Tightly Integrated Memory (DTIM) ของคอร์ E51 Monitor จากนั้น E51 จะเริ่มดำเนินการรหัสระบบบูตที่ปลอดภัยของผู้ใช้
หากขนาดของรหัสการบูตที่ปลอดภัยของผู้ใช้มีขนาดใหญ่กว่าขนาดของ DTIM ผู้ใช้จะต้องแบ่งรหัสการบูตออกเป็นสองส่วนtages. sNVM อาจประกอบด้วย s ถัดไปtage ของลำดับการบูตของผู้ใช้ ซึ่งอาจดำเนินการตรวจสอบสิทธิ์ของการบูตครั้งต่อไปtage โดยใช้อัลกอริธึมการยืนยันตัวตน/ถอดรหัสของผู้ใช้
หากใช้หน้าที่ผ่านการตรวจสอบหรือเข้ารหัสแล้ว จะใช้คีย์ USK เดียวกัน (นั่นคือ
ต้องใช้ U_MSS_BOOT_SNVM_USK) สำหรับเพจที่ผ่านการตรวจสอบสิทธิ์/เข้ารหัสทั้งหมด
หากการตรวจสอบสิทธิ์ล้มเหลว สามารถวาง MSS Core Complex ไว้ในตำแหน่งรีเซ็ตและ BOOT_FAILampสามารถตั้งค่าแฟล็ก er ได้ โหมดนี้ใช้งานโดยใช้ตัวเลือกการบูต U_MSS_BOOTMODE=2

ตารางที่ 3 •  การใช้งาน U_MSS_BOOTCFG ในการบูตแบบปลอดภัยของผู้ใช้

ออฟเซ็ต (ไบต์) ขนาด (ไบต์) ชื่อ คำอธิบาย
0 1 หน้า U_MSS_BOOT_SNVM หน้าเริ่มต้นใน SNVM
1 3 ที่สงวนไว้ สำหรับการจัดตำแหน่ง
4 12 บูตยูเอส ... สำหรับหน้าที่ผ่านการตรวจสอบ/เข้ารหัส

รูปต่อไปนี้แสดงขั้นตอนการบูตอย่างปลอดภัยของผู้ใช้
รูปที่ 5 • ขั้นตอนการบูตที่ปลอดภัยสำหรับผู้ใช้การบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 5

บูทนิรภัยจากโรงงาน
ในโหมดนี้ ตัวควบคุมระบบจะอ่านใบรับรอง Secure Boot Image Certificate (SBIC) จาก eNVM และตรวจสอบ SBIC เมื่อตรวจสอบสำเร็จ ตัวควบคุมระบบจะคัดลอกรหัสการบูตที่ปลอดภัยจากโรงงานจากพื้นที่หน่วยความจำที่ปลอดภัยส่วนตัวและโหลดลงใน DTIM ของแกน E51 Monitor การบูตที่ปลอดภัยเริ่มต้นจะดำเนินการตรวจสอบลายเซ็นบนอิมเมจ eNVM โดยใช้ SBIC ซึ่งจัดเก็บอยู่ใน eNVM หากไม่มีการรายงานข้อผิดพลาด การรีเซ็ตจะถูกปล่อยไปยัง MSS Core Complex หากมีการรายงานข้อผิดพลาด MSS Core Complex จะถูกวางไว้ในการรีเซ็ตและ BOOT_FAIL จะถูกลบออกampแฟล็ก er จะถูกยกขึ้น จากนั้นตัวควบคุมระบบจะเปิดใช้งานเมื่อampแฟล็ก er ซึ่งยืนยันสัญญาณไปยังโครงสร้าง FPGA สำหรับการดำเนินการของผู้ใช้ โหมดนี้ใช้งานโดยใช้ตัวเลือกการบูต U_MSS_BOOTMODE=3

SBIC ประกอบด้วยที่อยู่ ขนาด แฮช และลายเซ็นดิจิทัลอัลกอริธึมลายเซ็นดิจิทัลแบบเส้นโค้งวงรี (ECDSA) ของบล็อบไบนารีที่ได้รับการป้องกัน ECDSA นำเสนออัลกอริธึมลายเซ็นดิจิทัลแบบแปรผันที่ใช้การเข้ารหัสแบบเส้นโค้งวงรี นอกจากนี้ยังมีเวกเตอร์รีเซ็ตสำหรับฮาร์ดแวร์แต่ละตัว
เธรด/คอร์/คอร์โปรเซสเซอร์ (ฮาร์ท) ในระบบ

ตารางที่ 4 •  ใบรับรองการบูตภาพที่ปลอดภัย (SBIC)

ออฟเซ็ต ขนาด (ไบต์) ค่า คำอธิบาย
0 4 รูปภาพADDR ที่อยู่ของ UBL ในแผนที่หน่วยความจำ MSS
4 4 อิมาเจเลน ขนาดของ UBL เป็นไบต์
8 4 บู๊ทเวค0 เวกเตอร์การบูตใน UBL สำหรับ E51
12 4 บู๊ทเวค1 เวกเตอร์การบูตใน UBL สำหรับ U540
16 4 บู๊ทเวค2 เวกเตอร์การบูตใน UBL สำหรับ U541
20 4 บู๊ทเวค3 เวกเตอร์การบูตใน UBL สำหรับ U542
24 4 บู๊ทเวค4 เวกเตอร์การบูตใน UBL สำหรับ U543
28 1 ตัวเลือก[7:0] ตัวเลือก SBIC
28 3 ที่สงวนไว้  
32 8 เวอร์ชัน SBIC/เวอร์ชั่นภาพ
40 16 ดีเอสเอ็น การเชื่อมโยง DSN ที่เลือกได้
56 48 H แฮช SHA-384 ของภาพ UBL
104 104 โคเดซิก ลายเซ็น ECDSA ที่เข้ารหัส DER
ทั้งหมด 208 ไบต์  

ดีเอสเอ็น
หากฟิลด์ DSN ไม่ใช่ศูนย์ ฟิลด์ดังกล่าวจะถูกเปรียบเทียบกับหมายเลขซีเรียลของอุปกรณ์ หากการเปรียบเทียบล้มเหลว แสดงว่า boot_fail tampมีการตั้งค่าแฟล็ก er และการตรวจสอบสิทธิ์ถูกยกเลิก

เวอร์ชัน
ถ้าการเพิกถอน SBIC เปิดใช้งานโดย U_MSS_REVOCATION_ENABLE ระบบจะปฏิเสธ SBIC เว้นแต่ค่า VERSION จะมากกว่าหรือเท่ากับเกณฑ์การเพิกถอน

ตัวเลือกการเพิกถอน SBIC
หาก U_MSS_REVOCATION_ENABLE เปิดใช้งานการเพิกถอน SBIC และ OPTIONS[0] เป็น '1' เวอร์ชัน SBIC ทั้งหมดที่น้อยกว่า VERSION จะถูกเพิกถอนเมื่อตรวจสอบสิทธิ์ SBIC เสร็จสมบูรณ์แล้ว เกณฑ์การเพิกถอนจะคงอยู่ที่ค่าใหม่จนกว่าจะเพิ่มขึ้นอีกครั้งด้วย SBIC ในอนาคตด้วย OPTIONS[0] = '1' และฟิลด์ VERSION ที่สูงกว่า เกณฑ์การเพิกถอนอาจเพิ่มขึ้นได้โดยใช้กลไกนี้เท่านั้น และสามารถรีเซ็ตได้โดยใช้สตรีมบิตเท่านั้น
เมื่อเกณฑ์การเพิกถอนได้รับการอัปเดตแบบไดนามิก เกณฑ์ดังกล่าวจะถูกจัดเก็บโดยใช้รูปแบบการจัดเก็บซ้ำซ้อนที่ใช้สำหรับรหัสผ่าน เพื่อไม่ให้ไฟฟ้าดับระหว่างการบูตอุปกรณ์ทำให้การบูตอุปกรณ์ครั้งถัดไปล้มเหลว หากการอัปเดตเกณฑ์การเพิกถอนล้มเหลว จะรับประกันได้ว่าค่าเกณฑ์ดังกล่าวจะเป็นค่าใหม่หรือค่าก่อนหน้า

ตารางที่ 5 • การใช้งาน U_MSS_BOOTCFG ในโหมด Boot Loader จากโรงงาน

ออฟเซ็ต (ไบต์)  

ขนาด (ไบต์)

 

ชื่อ

 

คำอธิบาย

0 4 U_MSS_SBIC_ADDR ที่อยู่ของ SBIC ในพื้นที่ที่อยู่ MSS
4 4 U_MSS_REVOCATION_เปิดใช้งาน เปิดใช้งานการเพิกถอน SBIC หากไม่ใช่ศูนย์

รูปภาพต่อไปนี้แสดงขั้นตอนการบูตอย่างปลอดภัยจากโรงงาน
รูปที่ 6 • การบูตแบบปลอดภัยจากโรงงานการบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 6 การบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 7

การบูตผู้ใช้ MSS 

การบูตผู้ใช้ MSS จะเกิดขึ้นเมื่อมีการมอบการควบคุมจาก System Controller ไปยัง MSS Core Complex เมื่อทำการบูต MSS สำเร็จแล้ว ตัวควบคุมระบบจะปล่อยการรีเซ็ตไปยัง MSS Core Complex สามารถบูต MSS ได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้:

  • การใช้งานโลหะเปลือย
  • แอปพลิเคชัน Linux
  • AMP แอปพลิเคชัน

การใช้งานโลหะเปลือย

แอปพลิเคชันโลหะเปล่าสำหรับ PolarFire SoC สามารถพัฒนาได้โดยใช้เครื่องมือ SoftConsole เครื่องมือนี้ให้ผลลัพธ์ files ในรูปแบบ .hex ซึ่งสามารถใช้ในกระแส Libero เพื่อรวมเข้าในบิตสตรีมการเขียนโปรแกรม fileเครื่องมือเดียวกันนี้สามารถใช้เพื่อดีบักแอปพลิเคชัน Bare Metal โดยใช้ JTAG
อินเทอร์เฟซ
ภาพต่อไปนี้แสดงแอปพลิเคชัน SoftConsole Bare Metal ที่มี 51 คอร์ รวมถึงคอร์ EXNUMX Monitor

รูปที่ 7 • โครงการซอฟท์คอนโซล การบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 8

แอปพลิเคชัน Linux

หัวข้อนี้จะอธิบายลำดับการบูตสำหรับ Linux ที่ทำงานบนคอร์ U54 ทั้งหมด
กระบวนการบูตทั่วไปประกอบด้วยสามขั้นตอนtagอี ครั้งแรก stage boot loader (FSBL) จะถูกเรียกใช้จากแฟลช Boot บนชิป (eNVM) FSBL โหลดวินาทีที่สองtage boot loader (SSBL) จากอุปกรณ์บูตไปยัง RAM หรือแคชภายนอก อุปกรณ์บูตอาจเป็น eNVM หรือไมโครคอนโทรลเลอร์หน่วยความจำฝังตัว (eMMC) หรือแฟลช SPI ภายนอก SSBL โหลดระบบปฏิบัติการ Linux จากอุปกรณ์บูตไปยัง RAM ภายนอก ในส่วนที่สามtage, Linux จะถูกดำเนินการจาก RAM ภายนอก

รูปต่อไปนี้แสดงกระบวนการบูต Linux
รูปที่ 8 • ขั้นตอนการบูต Linux ทั่วไปการบูตและกำหนดค่า Microchip-UG0881-PolarFire-SoC-FPGA-รูปที่ 9

รายละเอียดของ FSBL, Device tree, Linux และ YOCTO build รวมถึงวิธีสร้างและกำหนดค่า Linux จะมีให้ในเอกสารฉบับนี้ฉบับต่อไป

AMP แอปพลิเคชัน
คำอธิบายโดยละเอียดของ Libero MSS Configurator และวิธีการดีบักแอปพลิเคชันหลายโปรเซสเซอร์โดยใช้ SoftConsole จะมีการระบุไว้ในเอกสารฉบับต่อไป

แหล่งที่มาของการบูตที่แตกต่างกัน
จะได้รับการอัปเดตในเอกสารเวอร์ชันถัดไป

การกำหนดค่าการบูต
จะได้รับการอัปเดตในเอกสารเวอร์ชันถัดไป

คำย่อ

เอกสารนี้ใช้ตัวย่อต่อไปนี้

ตารางที่ 1 •  รายชื่อคำย่อ

ตัวย่อขยาย

  • AMP การประมวลผลหลายแบบแบบไม่สมมาตร
  • ดีทีไอเอ็ม หน่วยความจำที่ผสานข้อมูลอย่างแน่นหนา (เรียกอีกอย่างว่า SRAM)
  • อีซีดีเอสเอ อัลกอริธึมลายเซ็นดิจิตอล Elliptic Curve
  • อีเอ็นวีเอ็ม หน่วยความจำแบบไม่ลบเลือนแบบฝัง
  • เอฟเอสบีแอล เอสตัวแรกtagอี บูตโหลดเดอร์
  • ฮาร์ต ฮาร์ดแวร์เธรด/คอร์/คอร์โปรเซสเซอร์
  • เอ็มเอสเอส ระบบย่อยไมโครโปรเซสเซอร์
  • พอร์ เปิดเครื่อง รีเซ็ต
  • พฟ ฟังก์ชั่นที่ไม่สามารถโคลนได้ทางกายภาพ
  • รอม หน่วยความจำแบบอ่านอย่างเดียว
  • ธนาคารไทยพาณิชย์ สะพานควบคุมระบบ
  • สเอ็นวีเอ็ม หน่วยความจำที่ไม่ลบเลือนที่ปลอดภัย

ประวัติการแก้ไข

ประวัติการแก้ไขจะอธิบายการเปลี่ยนแปลงที่เกิดขึ้นในเอกสาร การเปลี่ยนแปลงจะแสดงตามการแก้ไข โดยเริ่มจากสิ่งพิมพ์ปัจจุบัน

การแก้ไขครั้งที่ 2.0
ต่อไปนี้เป็นบทสรุปของการเปลี่ยนแปลงที่เกิดขึ้นในการแก้ไขนี้

  • ข้อมูลเกี่ยวกับ Factory Secure Boot ได้รับการอัปเดตแล้ว
  • ข้อมูลเกี่ยวกับแอปพลิเคชั่น Bare Metal ได้รับการอัปเดตแล้ว

การแก้ไขครั้งที่ 1.0
การตีพิมพ์ครั้งแรกของเอกสารนี้

สำนักงานใหญ่ไมโครเซมิ
One Enterprise, อลิโซ วีโจ,
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 Corporation เครื่องหมายการค้าและเครื่องหมายบริการอื่นๆ ทั้งหมดเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง

เอกสาร / แหล่งข้อมูล

การบูตและการกำหนดค่า FPGA ของ Microchip UG0881 PolarFire SoC [พีดีเอฟ] คู่มือการใช้งาน
UG0881 PolarFire SoC FPGA การบูตและการกำหนดค่า, UG0881, การบูตและการกำหนดค่า PolarFire SoC FPGA, การบูตและการกำหนดค่า

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *