ควรใช้เอกสาร Rocketboards.org เป็นข้อมูลอ้างอิง แต่ไม่ครอบคลุมขั้นตอนการบูตภายในที่มีการปรับแต่งเฉพาะบอร์ด
เอกสารนี้ออกแบบมาเพื่อเป็นคู่มือระดับสูงเพื่อแสดงให้คุณเห็นถึงตําแหน่งที่ต้องการ และไฟล์ที่คุณอาจต้องการคัดลอกและปรับใช้
สําหรับข้อมูลอ้างอิง Rocketboards.org เกี่ยวกับวิธีการสร้างตัวโหลดการบูตสําหรับโครงการ SoC Intel® Arria® 10 FPGA ดูหน้าเว็บ Arria 10 SoC - Boot from SD Card ของ Building Bootloader สําหรับหน้าเว็บ Cyclone® V และ Arria 10
รายการต่างๆ ใน BOLD อ้างอิงถึงส่วนต่างๆ ของคู่มือบน Building Bootloader สําหรับหน้าเว็บ Cyclone V และ Arria 10
การปรับแต่ง U-boot และ U-boot-SPL สําหรับบอร์ดของคุณ
การตั้งค่า HPS จากโครงการ Platform Designer ของคุณจะถูกนําเข้าสู่ u-boot ผ่านมือปิดไฟล์โดยใช้สคริปต์ ซึ่งจัดส่งเป็นส่วนหนึ่งของ u-boot-socfpga:
ดู: แปลงไฟล์ hps.xml handoff เพื่อรวมไฟล์ที่จะใช้โดยโครงสร้างอุปกรณ์
CD u-boot-socfpga
./arch/arm/mach-socfpga/qts-filter-a10.sh \
ตําแหน่งโครงการ /hps_isw_handoff/hps.xml
arch/arm/dts/socfpga_arria10_socdk_sdmmc_handoff.h
ซึ่งจะเป็นการสร้างไฟล์ socfpga_arria10_socdk_sdmmc_handoff.h ซึ่งจะถูกดึงเข้ามาในระหว่างการคอมไพล์
รายการกําหนดค่าเฉพาะบอร์ดอื่นๆ (Ethernet, Uart, ขนาดหน่วยความจํา ฯลฯ)
- ไฟล์กําหนดค่า u-boot: u-boot-socfpga/การกําหนดค่า/ socfpga_arria10_defconfig
ตอนนี้รายการส่วนใหญ่จะถูกกําหนดไว้ในโครงสร้างอุปกรณ์ u-boot แต่เราขอแนะนําให้สร้างไฟล์ defconfig u-boot ที่กําหนดเองสําหรับบอร์ดของคุณ:
ไฟล์กําหนดค่าจะระบุ:
- สิ่งที่เปิดใช้งานใน u-boot build
- คําสั่งเริ่มต้นการบู๊ต
- แผนผังอุปกรณ์เริ่มต้น
- ค่าเริ่มต้นของสภาพแวดล้อมบางอย่าง
- การกําหนดค่าประกอบด้วยไฟล์: รวม/กําหนดค่า/socfpga_arria10.h
- ขนาดหน่วยความจํา
- รายการกําหนดค่าและที่อยู่ที่ตั้งไว้ล่วงหน้า
- ชื่อไฟล์ Device Tree
- สภาพแวดล้อม u-boot run time ตั้งต้น
- ค่าเริ่มต้น UART
- มีการใช้การตั้งค่าบางอย่างร่วมกัน โปรดดูที่ #include
- u-boot device trees: arch/arm/dts/_.dts
มีชุดไฟล์ตามลําดับชั้นหลายชุดสําหรับแต่ละเป้าหมายการบูต (NAND, SDMMC, QSPI) มีไฟล์ระดับสูงสุดซึ่งรวมถึงข้อมูลทั่วไปและการแทนที่เฉพาะบอร์ด บางไฟล์มีรายการให้คุณบูต และบางไฟล์ก็เหมาะสําหรับคุณบูต spl
ตัวอย่าง Arria 10 SoC DK SDMMC:
อุปกรณ์ socfpga___.dts: ไฟล์ระดับสูงสุดสําหรับเป้าหมายแฟลชบอร์ดและบูต
แฟลชใดที่จะเปิดใช้งาน ฯลฯ
socfpga__.dtsi : ไฟล์เฉพาะของบอร์ด: ควบคุมหรือขยายไฟล์ทั่วไป
การตั้งค่า IP ที่แน่นอน: UART, EMAC , หน่วยความจํา
socfpga_.dtsi: ไฟล์ทั่วไปสําหรับอุปกรณ์
หมาย เหตุ:
- socfpga_arria10_socdk_sdmmc-u-boot.dtsi
- มีชื่อของไฟล์ .itb เพื่อใช้สําหรับการปรับตั้งค่าFPGAและโหลดที่เหมาะสม uboot
- ดูไฟล์ .its ที่เกี่ยวข้อง
- บอร์ด/altera/arria10socdk/*
&fpga_mgr {
u-boot, dm-pre-reloc;
altr,bitstream = "fit_spl_fpga.itb";
};
- ไฟล์.it: สําหรับการสร้างไฟล์ .itb u-boot จะพยายามโหลด: board/altera/arria10-socdk
บอร์ด/altera/arria10-socdk/fit_uboot.its
ไฟล์ควบคุม U-boot SPL : U-boot Proper ตัวใดที่จะโหลด
บอร์ด/altera/arria10-socdk/fit_spl_fpga.its
การกําหนดค่าFPGAจาก SPL : พาธไปยังไฟล์ .rbf เพื่อการกําหนดค่าFPGA
บอร์ด/altera/arria10-socdk/fit_kernel_qspi.its
โหลดเคอร์เนล Linux จาก QSPI
บอร์ด/altera/arria10-socdk/fit_kernel_nand.its
โหลดเคอร์เนล Linux จาก NAND
หมายเหตุ: ยังไม่ได้โหลดไฟล์ SDMMC สําหรับบูตไฟล์ .itb ไปยัง sdmmc ในเวอร์ชันที่ใหม่กว่า ไฟล์ที่เกี่ยวข้องจะถูกโหลดไปยังพาร์ติชัน FAT และโหลดโดยตรง
สําหรับข้อมูลเพิ่มเติม โปรดดูที่ส่วน C. Build SD Card Image ของ Building Bootloader สําหรับหน้าเว็บ Cyclone® V และ Arria 10
สําหรับ Linux
- ตอนนี้การกําหนดค่าเคอร์เนลที่ใช้เป็นค่าเริ่มต้น และสามารถเพิ่มเข้าในลักษณะปกติได้
- โหลดเริ่มต้น : สร้างการกําหนดค่า
- แก้ไขโดยใช้ : ทําให้ manuconfig
- บันทึกไฟล์กําหนดค่าใหม่เป็น defconfig : ทําให้ saveefconfig
- คัดลอกไปยังไดเรกทอรีการกําหนดค่า เพื่อใช้ในภายหลัง :
- การกําหนดค่า cp arch/arm/configs/socfpga_myName
- ควรสร้าง Device Tree สําหรับบอร์ดแบบกําหนดเองโดยการคัดลอกและแก้ไขเวอร์ชันของชุดพัฒนา การตั้งชื่อและโครงสร้างจะคล้ายกับ uboot โดยมีไฟล์เฉพาะบอร์ด (.dts) ซึ่งควบคุมการตั้งค่าทั่วไป (.dtsi)