ตัวโหลดบูต SoC

Intel® SoC FPGAs ใช้ตัวโหลดบูตเพื่อโหลดและเรียกใช้แอปพลิเคชันผู้ใช้ในระบบโปรเซสเซอร์แข็ง (HPS) แอปพลิเคชันผู้ใช้อาจเป็นแอปพลิเคชันโลหะเปลือยที่เรียบง่ายหรือระบบปฏิบัติการที่ซับซ้อนเช่นระบบปฏิบัติการ Linux *

หน้านี้อธิบายถึงสิ่งที่ bootloader เป็นรายการตัวโหลดบูตที่มีอยู่และลักษณะหลักของพวกเขาอธิบายวิธีการเริ่มต้นใช้งาน bootloaders และแสดงรายการทรัพยากรเพิ่มเติม

1. Bootloader คืออะไร

ข้อกําหนดของตัวโหลดบูต

เมื่ออุปกรณ์ SoC บู๊ตขึ้นซอฟต์แวร์ที่เรียกว่า BootROM จะทํางานครั้งแรก ด้วยเหตุผลหลายประการ BootROM มีฟังก์ชันการทํางานที่ จํากัด ดังต่อไปนี้:

  • มันจะต้องพอดีกับรอมบนชิปดังนั้นจึงต้องมีขนาดเล็ก
  • มันมีราคาแพงมากที่จะเปลี่ยนดังนั้นจึงต้องแข็งแกร่งมากซึ่งหมายถึงคุณสมบัติที่น้อยลง
  • ไม่ทราบว่าระบบได้รับการกําหนดค่าอย่างไรดังนั้นจึงไม่สามารถนําทุกอย่างขึ้นมาได้

แอปพลิเคชันผู้ใช้ในอีกด้านหนึ่งมักจะมีขนาดใหญ่และต้องการให้ระบบได้รับการกําหนดค่าตามที่ผู้ใช้ปลายทางต้องการก่อนที่จะสามารถรันได้

งานของ bootloader คือการเชื่อมต่อช่องว่างระหว่าง BootROM และแอปพลิเคชันผู้ใช้ปลายทาง

ตัวโหลดบูตแบบหลายขั้นตอน

บางครั้งกระบวนการ bootloader สามารถแบ่งออกเป็นหลายขั้นตอนโดยทั่วไปเป็นสองขั้นตอน

2. การส่งมอบฮาร์ดแวร์

ภาพรวมการแจก

โครงการ Intel SoC FPGA ทั้งหมดเริ่มต้นด้วยโครงการฮาร์ดแวร์ที่ผู้ใช้ป้อนการตั้งค่าระบบต่าง ๆ ที่ส่งผลกระทบต่อ HPS เหล่านี้รวมถึง:

  • พินมัลติเพล็กซ์
  • การตั้งค่าพิน
  • การตั้งค่า SDRAM
  • การตั้งค่านาฬิกา

มันเป็นหน้าที่ของ bootloader ที่จะใช้การตั้งค่าเหล่านี้และกระบวนการของ bootloader ที่ได้รับการตั้งค่าเหล่านี้เรียกว่าการส่งมอบฮาร์ดแวร์กับซอฟต์แวร์

ขึ้นอยู่กับ bootloader ที่แน่นอนและตระกูลอุปกรณ์ SoC การส่งมอบสามารถใช้รูปแบบต่างๆ อย่างเป็นแบบฉบับ:

  • สําหรับ Cyclone V และ Arria V SoCs การส่งมอบเป็นการรวมกันของไฟล์ XML ไฟล์ไบนารีและไฟล์ซอร์สโค้ดซึ่งจะถูกแปลงเป็นซอร์สโค้ดแล้วรวบรวมลงใน preloader
  • สําหรับ Intel Arria 10 SoCs การมอบจะอยู่ในไฟล์ XML เดียวที่แปลงเป็นไฟล์ทรีอุปกรณ์และใช้โดย bootloader
  • สําหรับ Intel Stratix 10 SoCs ข้อมูลการส่งมอบเป็นส่วนหนึ่งของบิตสตรีมการกําหนดค่า FPGA

วิธีการหลักในการป้อนหรือเปลี่ยนแปลงข้อมูลการส่งมอบคือการแก้ไขใน Qsys

นอกเหนือจากข้อมูลการส่งมอบแล้ว bootloaders ยังมีการตั้งค่าต่าง ๆ ที่ผู้ใช้สามารถเลือกได้ผ่านวิธีการต่อไปนี้:

  • การเปลี่ยนแปลงการตั้งค่าในตัวแก้ไข BSP
  • การแก้ไขซอร์สโค้ดของโปรแกรมโหลดบูต
  • การแก้ไขทรีอุปกรณ์ bootloader เมื่อมีการใช้งานทรีอุปกรณ์

พายุไซโคลน V Soc และ Arria V SoC แฮนด์ออฟ

อินเทล อาร์เรีย 10 ซอค แฮนด์ออฟ

อินเทล สแตรทเท็กซ์ 10 โซซี แฮนด์ออฟ

3. บู๊ตโหลดที่มีอยู่

ภาพรวมของตัวโหลดบูตที่มีอยู่

ตารางต่อไปนี้แสดงรายการโปรแกรมโหลดบูตประเภทใบอนุญาต SoCs ที่สนับสนุนและความพร้อมของการสนับสนุนสองขั้นตอนที่มีอยู่:

Bootloader

ชนิดใบอนุญาต

ไซโคลน V Soc

อาเรีย V ซอค

อินเทล อาร์เรีย 10 โซค

อินเทล สแตรทิกซ์ 10 โซซี

การสนับสนุนสองขั้นตอน

ยูบูต

จีพีแอล

ใช่

ใช่

ใช่

ใช่

ใช่

เอ็มพีแอล

บีSดี

ใช่

ใช่

ใช่

-

-

ยูฟ่า

บีSดี

-

-

ใช่

ใช่

ใช่

เอทีเอฟ

บีSดี

-

-

-

ใช่

-

ยูบูต

U-Boot เป็นโปรแกรมโหลดบูตที่ใช้กันอย่างแพร่หลายในอุตสาหกรรมและมีความสามารถมากมาย:

  • ขั้นตอนแรกที่เป็นตัวเลือกที่เรียกว่า "SPL" สําหรับระบบที่มี RAM บนชิป จํากัด (ตัวอย่างเช่นพายุไซโคลน V SoC และ Arria V SoC)
  • ความสามารถในการเชื่อมต่อเครือข่าย
  • รองรับหน่วยความจําแฟลช
  • อินเทอร์เฟสบรรทัดคําสั่ง
  • เขียน สคริปต์
  • แอปพลิเคชัน U-Boot แบบกําหนดเอง

U-Boot ได้รับการพัฒนาภายใต้ใบอนุญาตสาธารณะทั่วไป (GPL) ดังนั้นการมีส่วนร่วมใด ๆ ที่ทํากับผลิตภัณฑ์ที่จะส่งมอบให้กับสาธารณชนจะต้องเผยแพร่สู่สาธารณะด้วย

ซอร์สโค้ด U-Boot มีให้บริการที่ หน้า U-Boot SoC FPGA บนเว็บไซต์ GitHub

สําหรับ Intel Arria 10 SoC, Arria V SoC และพายุไซโคลน V SoC ซอร์สโค้ด U-Boot จะรวมอยู่ในชุดพัฒนาแบบฝังตัว Intel SoC FPGA (SoC EDS) ซึ่งอํานวยความสะดวกในกระบวนการพัฒนาที่ง่ายและสะดวก

โปรดทราบว่าการสนับสนุนพายุไซโคลน V และ Arria V SoCs เป็นหลักในต้น Git U-Boot อย่างเป็นทางการบนเว็บไซต์ GitHub งานกําลังดําเนินการเพื่อสนับสนุน Intel Arria 10 SoCs หลัก

หน้าแรกหลักของ U-Boot ตั้งอยู่ที่ Das U-Boot - หน้าเว็บตัวโหลดบูตสากล.

เอ็มพีแอล

มินิมอลพรีโหลดเกอร์ (MPL) เป็นบู๊ตโหลดที่พัฒนาขึ้นโดยใช้ไลบรารีนามธรรมฮาร์ดแวร์โลหะเปลือย Intel SoC FPGA (HWLIBs) มันเป็นบูลโหลดขั้นตอนเดียวที่ออกแบบมาสําหรับรอยเท้าน้อยที่สุด

MPL พร้อมใช้งานสําหรับอุปกรณ์ต่อไปนี้:

  • ไซโคลน V Soc
  • อาเรีย V ซอค
  • อินเทล อาร์เรีย 10 โซค

MPL มีให้ด้วยใบอนุญาตการกระจายซอฟต์แวร์เบิร์กลีย์ (BSD) ซึ่งช่วยให้การพัฒนาและการปรับใช้สะดวกยิ่งขึ้น

MPL ถูกส่งเป็นส่วนหนึ่งของ SoC EDS และเป็นที่เก็บโครงการในโฟลเดอร์การติดตั้ง SoC EDS <> / ฝังตัว / ตัวอย่าง / ซอฟต์แวร์ / Intel® FPGA-SoCFPGA-HardwareLib-MPL.tar.gz ไฟล์ ที่เก็บถาวรมีแฟ้มที่ชื่อ README.txtซึ่งมีคําอธิบาย MPL โดยละเอียดและข้อมูลการใช้งาน

ยูฟ่า

อินเทอร์เฟซเฟิร์มแวร์แบบขยายได้แบบครบวงจร (UEFI) เป็นข้อกําหนดเฟิร์มแวร์มาตรฐานที่ช่วยลดความยุ่งยากในการเริ่มต้นแพลตฟอร์มและการบูตเฟิร์มแวร์

ตัวโหลดบูต UEFI พร้อมใช้งานสําหรับอุปกรณ์ต่อไปนี้:

  • อินเทล อาร์เรีย 10 โซค
  • อินเทล สแตรทิกซ์ 10 โซซี

เนื่องจาก UEFI ได้รับการระบุเป็นอย่างดีและใช้โดย บริษัท เทคโนโลยีหลายร้อยแห่งจึงสามารถนํารหัสจํานวนมากกลับมาใช้ใหม่ได้ทําให้วงจรการพัฒนาเร็วขึ้น

UEFI ที่นํามาใช้ใน Intel SoC FPGAs ประกอบด้วยสองขั้นตอนที่แตกต่างกัน:

  • ระยะการเริ่มต้นก่อน Efi (PEI) ขั้นตอนนี้กําหนดค่าแพลตฟอร์มและโหลดแอปพลิเคชันผู้ใช้หรือ DXE
  • สภาพแวดล้อม eXecution ของโปรแกรมควบคุม (DXE) ขั้นตอนนี้โหลดไดรเวอร์ UEFI เพิ่มเติมและช่วยให้มีความสามารถเพิ่มเติมเช่นเครือข่ายและอินเตอร์เฟซบรรทัดคําสั่ง

ตัวโหลดบูต UEFI ยังมีความสามารถในการเรียกใช้แอปพลิเคชันพิเศษที่กําหนดเป้าหมายสภาพแวดล้อม DXE แอปพลิเคชันดังกล่าวสามารถดําเนินการได้เมื่อการควบคุมการออกจากกลับไปที่ DXE

UEFI มีใบอนุญาต BSD ซึ่งช่วยให้การพัฒนาและการปรับใช้สะดวกยิ่งขึ้น

ซอร์สโค้ด UEFI สามารถดูได้ที่ หน้า UEFI SoC FPGA บนเว็บไซต์ GitHub

สําหรับ Intel Arria 10 SoCs ยูฟ่ายังมาพร้อมกับ SoC EDS ทําให้สามารถพัฒนาได้เช่นเดียวกับ U-Boot

เอทีเอฟ

ARM Trusted Firmware (ATF) เป็นข้อมูลอ้างอิงการใช้งานซอฟต์แวร์โลกที่ปลอดภัยสําหรับ ARMv8-a โดยใช้มาตรฐานอินเทอร์เฟซ ARM ต่างๆเช่นข้อกําหนดการบูตบอร์ดที่เชื่อถือได้ (TBBR) และการโทรการตรวจสอบความปลอดภัย

ATF ได้รับการพัฒนาร่วมกันภายใต้ใบอนุญาต BSD ซึ่งช่วยให้การพัฒนาและการปรับใช้สะดวก

ATF มีรอยขนาดเล็กและได้รับการออกแบบให้เป็น Bootloader ขั้นแรก (FSBL) มันถูกใช้กับ UEFI เพื่อโหลด PXE แล้ว DXE แต่ก็สามารถใช้ในการโหลดแอปพลิเคชันโลหะเปลือยอย่างง่าย

ซอร์สโค้ดสําหรับพอร์ต Intel SoC FPGA ของ ATF สามารถเข้าถึงได้ที่ https://github.com/Intel FPGA-opensource / แขนที่เชื่อถือได้เฟิร์มแวร์.

4. การเริ่มต้นใช้งาน

การเริ่มต้นใช้งาน U-Boot

แหล่งข้อมูลต่อไปนี้พร้อมให้คุณเริ่มต้นใช้งาน U-Boot:

  • การสร้างและการรวบรวมพายุไซโคลน V Preloader
  • การสร้างและการรวบรวม Arria 10 U-Boot

การเริ่มต้นใช้งาน MPL

MPL ถูกส่งเป็นส่วนหนึ่งของ SoC EDS และเป็นที่เก็บโครงการในโฟลเดอร์ การติดตั้ง <SoC EDS> / ฝังตัว / ตัวอย่าง / ซอฟต์แวร์ / Intel FPGA-SoCFPGA-HardwareLib-MPL.tar.gz ไฟล์ ที่เก็บถาวรมีไฟล์ชื่อ README.txt พร้อมข้อมูลการใช้งานโดยละเอียดสําหรับ Intel Arria 10 SoCs, Arria V SoCs และไซโคลน V SoCs

การเริ่มต้นใช้งาน UEFI

แหล่งข้อมูลต่อไปนี้พร้อมให้คุณเริ่มต้นใช้งาน UEFI:

รหัสแหล่งที่มา

ซอร์สโค้ดสามารถรับได้จากเว็บไซต์ต่อไปนี้:

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