MICROCHIP-โลโก้

MICROCHIP PIC64GX ไมโครโปรเซสเซอร์ RISC-V Quad-Core 64 บิต

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-ผลิตภัณฑ์

ข้อมูลสินค้า

ข้อมูลจำเพาะ:

  • ชื่อสินค้า : ไมโครชิพ PIC64GX
  • กระบวนการบูต: เอสเอ็มพีและ AMP รองรับปริมาณงาน
  • คุณสมบัติพิเศษ: รองรับ Watchdog, โหมด Lockdown

คำแนะนำการใช้ผลิตภัณฑ์

  1. กระบวนการบูต
    1. ส่วนประกอบซอฟต์แวร์ที่เกี่ยวข้องกับการบูท
      กระบวนการบูตระบบเกี่ยวข้องกับส่วนประกอบซอฟต์แวร์ต่อไปนี้:
      • Hart Software Services (HSS): ค่าศูนย์tage boot loader, การตรวจสอบระบบ และผู้ให้บริการรันไทม์สำหรับแอปพลิเคชัน
    2. บูตโฟลว์
      ลำดับของโฟลว์การบูตระบบเป็นดังนี้:
      1. การเริ่มต้นบริการซอฟต์แวร์ Hart (HSS)
      2. การดำเนินการบูตโหลดเดอร์
      3. การเริ่มต้นแอปพลิเคชัน
  2. สุนัขเฝ้าบ้าน
    1. สุนัขเฝ้าบ้าน PIC64GX
      PIC64GX มีฟังก์ชันเฝ้าระวังเพื่อตรวจสอบการทำงานของระบบและกระตุ้นการดำเนินการในกรณีที่ระบบล้มเหลว
  3. โหมดล็อกดาวน์
    โหมดล็อคดาวน์ได้รับการออกแบบมาสำหรับลูกค้าที่ต้องการควบคุมการทำงานของระบบอย่างสมบูรณ์หลังการบู๊ต มันจำกัดฟังก์ชันการทำงานของมอนิเตอร์ระบบ E51

คำถามที่พบบ่อย

  • ถาม: Hart Software Services (HSS) มีวัตถุประสงค์อะไร
    ตอบ: HSS ทำหน้าที่เป็นศูนย์-stage boot loader, การตรวจสอบระบบ และผู้ให้บริการรันไทม์สำหรับแอปพลิเคชันในระหว่างกระบวนการบูต
  • ถาม: ฟังก์ชั่น Watchdog ของ PIC64GX ทำงานอย่างไร
    ตอบ: PIC64GX Watchdog จะตรวจสอบการทำงานของระบบและสามารถดำเนินการที่กำหนดไว้ล่วงหน้าในกรณีที่ระบบล้มเหลว เพื่อให้มั่นใจถึงความน่าเชื่อถือของระบบ

การแนะนำ

เอกสารไวท์เปเปอร์นี้จะอธิบายวิธีที่ Microchip PIC64GX บูทปริมาณงานของแอปพลิเคชัน และอธิบายกระบวนการบูทระบบ ซึ่งทำงานเหมือนกันสำหรับ SMP และ AMP ปริมาณงาน นอกจากนี้ยังครอบคลุมถึงวิธีการรีบูตสำหรับ SMP และ AMP ปริมาณงาน การเฝ้าระวังบน PIC64GX และโหมดล็อคพิเศษสำหรับระบบที่ลูกค้าต้องการควบคุมอย่างสมบูรณ์เพื่อจำกัดการทำงานของการตรวจสอบระบบ E51 หลังจากบูตระบบ

กระบวนการบูต

ให้เราดูที่ส่วนประกอบซอฟต์แวร์ต่างๆ ที่เกี่ยวข้องกับการบูทระบบ ตามด้วยการดูรายละเอียดเพิ่มเติมเกี่ยวกับลำดับของโฟลว์การบูตระบบ

ส่วนประกอบซอฟต์แวร์ที่เกี่ยวข้องกับการบูท
ส่วนประกอบต่อไปนี้เกี่ยวข้องกับกระบวนการบูตระบบ:

รูปที่ 1.1. ส่วนประกอบการบูตเครื่อง

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (1)

  • บริการซอฟต์แวร์ฮาร์ต (HSS)
    Hart Software Services (HSS) มีค่าเท่ากับศูนย์tage boot loader การตรวจสอบระบบ และผู้ให้บริการรันไทม์สำหรับแอปพลิเคชัน HSS รองรับการตั้งค่าระบบตั้งแต่เนิ่นๆ การฝึกอบรม DDR และการเริ่มต้น/การกำหนดค่าฮาร์ดแวร์ ส่วนใหญ่จะทำงานบน E51 โดยมีฟังก์ชันระดับโหมดเครื่องจักรจำนวนเล็กน้อยที่ทำงานบน U54 แต่ละตัว โดยจะบู๊ตบริบทตั้งแต่หนึ่งบริบทขึ้นไปโดยการโหลดแอปพลิเคชัน “เพย์โหลด” จากสื่อสำหรับบู๊ต และจัดเตรียม Platform Runtime Services/Supervisor Execution Environment (SEE) สำหรับเคอร์เนลของระบบปฏิบัติการ รองรับการบูตอย่างปลอดภัยและเป็นองค์ประกอบสำคัญในการรับประกันการแบ่งพาร์ติชัน/การแยกฮาร์ดแวร์ AMP บริบท
  • ดาส ยู-บูท (U-Boot)
    Das U-Boot (U-Boot) เป็นบูตโหลดเดอร์สากลแบบโอเพ่นซอร์ส รองรับ CLI แบบง่ายที่สามารถดึงข้อมูลอิมเมจสำหรับบูตจากแหล่งต่างๆ (รวมถึงการ์ด SD และเครือข่าย) U-Boot โหลด Linux สามารถจัดเตรียมสภาพแวดล้อม UEFI ได้หากจำเป็น โดยทั่วไปแล้วจะเสร็จสิ้นและจะไม่อยู่ในแนวทางใดเมื่อ Linux บูทแล้ว - กล่าวอีกนัยหนึ่งก็คือ มันไม่ได้คงอยู่หลังการบูต
  • เคอร์เนล Linux
    เคอร์เนล Linux เป็นเคอร์เนลระบบปฏิบัติการที่ได้รับความนิยมมากที่สุดในโลก เมื่อรวมกับพื้นที่ผู้ใช้แอปพลิเคชัน จะก่อให้เกิดสิ่งที่เรียกกันทั่วไปว่าระบบปฏิบัติการ Linux ระบบปฏิบัติการ Linux มี POSIX API และสภาพแวดล้อมสำหรับนักพัฒนาที่หลากหลาย เช่นampไฟล์ ภาษาและเครื่องมือ เช่น Python, Perl, Tcl, Rust, C/C++ และ Tcl; ไลบรารีเช่น OpenSSL, OpenCV, OpenMP, OPC/UA และ OpenAMP (RPmsg และ RemoteProc)
    Yocto และ Buildroot เป็นนักสร้างระบบ Linux กล่าวคือ สามารถใช้เพื่อสร้างระบบ Linux ที่ปรับแต่งตามความต้องการได้ Yocto ส่งออกการกระจาย Linux ด้วยความสมบูรณ์
    ชุดแอปพลิเคชัน เครื่องมือ และไลบรารี และการจัดการแพ็คเกจเสริม Buildroot จะให้เอาท์พุตการรูทที่น้อยที่สุด fileและสามารถกำหนดเป้าหมายระบบที่ไม่ต้องการพื้นที่เก็บข้อมูลถาวร แต่ทำงานโดยใช้ RAM ทั้งหมด (โดยใช้การสนับสนุนชื่อย่อของ Linux เป็นต้นample)
  • เซเฟอร์
    Zephyr เป็นระบบปฏิบัติการแบบเรียลไทม์ (RTOS) แบบโอเพ่นซอร์สขนาดเล็ก มีเฟรมเวิร์กค่าใช้จ่ายต่ำแบบเรียลไทม์พร้อมช่องทางการสื่อสาร RPMsg-lite ไปยัง Linux ประกอบด้วยเคอร์เนล ไลบรารี ไดรเวอร์อุปกรณ์ สแต็กโปรโตคอล fileระบบ กลไกในการอัพเดตเฟิร์มแวร์ และอื่นๆ เหมาะสำหรับลูกค้าที่ต้องการประสบการณ์แบบ Bare Metal บน PIC64GX

บูตโฟลว์
PIC64GX มีคอร์เพล็กซ์ RISC-V พร้อมด้วย Hart มอนิเตอร์ระบบ E64 51 บิต และ Hart แอปพลิเคชัน U4 64 บิต 54 ตัว ในคำศัพท์เฉพาะทางของ RISC-V hart คือบริบทการดำเนินการ RISC-V ที่มีชุดรีจิสเตอร์ครบชุดและรันโค้ดอย่างอิสระ คุณอาจคิดว่ามันเป็นเธรดฮาร์ดแวร์หรือ CPU ตัวเดียว กลุ่มฮาร์ตภายในแกนเดียวมักเรียกว่าคอมเพล็กซ์ หัวข้อนี้จะอธิบายขั้นตอนในการเริ่มต้น PIC64GX coreplex รวมถึงระบบ E51 ที่จะตรวจสอบหัวใจและการทำงานของแอพพลิเคชั่น U54

  1. เปิด PIC64GX coreplex
    เมื่อเปิดเครื่อง ฮาร์ตทั้งหมดใน RISC-V coreplex จะถูกปล่อยจากการรีเซ็ตโดยตัวควบคุมความปลอดภัย
  2. เรียกใช้โค้ด HSS จากหน่วยความจำแฟลช eNVM บนชิป
    ในตอนแรก หัวใจแต่ละดวงจะเริ่มรันโค้ด HSS จากหน่วยความจำแฟลช eNVM บนชิป รหัสนี้ทำให้ Hart แอปพลิเคชัน U54 ทั้งหมดหมุน รอคำแนะนำ และปล่อยให้ Hart มอนิเตอร์ E51 เริ่มรันโค้ดเพื่อเริ่มต้นและเรียกระบบขึ้นมา
  3. ขยายรหัส HSS จาก eNVM ไปยังหน่วยความจำ L2-Scratch
    โดยปกติ HSS จะมีขนาดใหญ่กว่าความจุของหน่วยความจำแฟลช eNVM เอง ทั้งนี้ขึ้นอยู่กับการกำหนดค่าเวลาประกอบ ดังนั้นสิ่งแรกที่โค้ด HSS ที่ทำงานบน E51 ทำคือขยายขนาดตัวเองจากหน่วยความจำ eNVM ไปเป็นหน่วยความจำ L2-Scratch ดังแสดงในรูป 1.2 และรูปที่ 1.3
    รูปที่ 1.2. HSS ขยายขนาดจาก eNVM เป็น L2 ScratchMICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (2)
    รูปที่ 1.3. แผนที่หน่วยความจำ HSS ระหว่างการบีบอัดMICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (3)
  4. ข้ามจาก eNVM ไปยัง L2-Scratch ไปยังไฟล์ปฏิบัติการดังแสดงในรูปต่อไปนี้
    รูปที่ 1.4. HSS กระโดดจาก eNVM ไปสู่โค้ดทันทีใน L2Scratch หลังการบีบอัดMICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (4)
    ไฟล์ปฏิบัติการประกอบด้วยสามองค์ประกอบ:
    • Hardware Abstraction Layer (HAL), โค้ดระดับต่ำ และไดรเวอร์ Bare Metal
    • ทางแยก HSS ท้องถิ่นของ RISC-V OpenSBI (แก้ไขเล็กน้อยจากอัปสตรีมบน PIC64GX สำหรับ AMP วัตถุประสงค์)
    • บริการรันไทม์ HSS (เครื่องสถานะทำงานในซูเปอร์ลูป)
  5. เริ่มต้นโครงสร้างฮาร์ดแวร์และข้อมูลที่ใช้โดย OpenSBI
    บริการ HSS “Startup” มีหน้าที่รับผิดชอบในการเริ่มต้นนี้
  6. ดึงข้อมูลอิมเมจปริมาณงานของแอปพลิเคชัน (payload.bin) จากที่จัดเก็บข้อมูลภายนอก ดังแสดงในรูปที่ 1.5 และรูปที่ 1.6
    ข้อสำคัญ: ในกรณีของ PIC64GX Curiosity Kit ข้อมูลนี้จะมาจากการ์ด SD
    รูปที่ 1.5. กำลังดึงอิมเมจปริมาณงานของ payload.bin จากที่จัดเก็บข้อมูลภายนอกMICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (5)
    รูปที่ 1.6. HSS Memory Map หลังจากดึงข้อมูล payload.binMICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (6)
  7. คัดลอกส่วนต่างๆ จาก payload.bin ไปยังปลายทางเวลาดำเนินการ payload.bin เป็นรูปภาพที่จัดรูปแบบแล้ว ซึ่งรวมรูปภาพแอปพลิเคชันต่างๆ สำหรับ SMP หรือ AMP ปริมาณงาน ประกอบด้วยตารางโค้ด ข้อมูล และคำอธิบายซึ่งช่วยให้ HSS สามารถวางโค้ดและข้อมูลได้อย่างเหมาะสม ซึ่งจำเป็นต่อการรันปริมาณงานแอปพลิเคชันต่างๆ
    รูปที่ 1.7. payload.bin ถูกคัดลอกไปยังที่อยู่ปลายทางMICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (7)
  8. สั่งให้ U54 ที่เกี่ยวข้องข้ามไปยังที่อยู่เริ่มต้นการดำเนินการ ข้อมูลที่อยู่เริ่มต้นนี้มีอยู่ใน payload.bin
  9. เริ่มแอปพลิเคชั่น U54 harts และวินาทีใด ๆtagอีบูทโหลดเดอร์ สำหรับเช่นampตอนนี้ U-Boot จะเปิด Linux

รีบูต

ที่เกี่ยวข้องกับแนวคิดของการบูทระบบคือจำเป็นต้องรีบูต เมื่อคำนึงถึงปริมาณงานของแอปพลิเคชัน PIC64GX การรีบูตจำเป็นต้องพิจารณาทั้งการประมวลผลหลายตัวแบบสมมาตร (SMP) และการประมวลผลหลายตัวแบบอสมมาตร (AMP) สถานการณ์:

  1. ในกรณีของระบบ SMP การรีบูตสามารถรีบูตทั้งระบบขณะเย็นได้อย่างปลอดภัย เนื่องจากไม่มีเวิร์กโหลดเพิ่มเติมในบริบทอื่นที่ต้องพิจารณา
  2. ในกรณีที่มีการ AMP เวิร์กโหลดอาจได้รับอนุญาตให้รีบูตตัวเองเท่านั้น (และไม่รบกวนบริบทอื่นใด) หรืออาจได้รับสิทธิพิเศษให้สามารถรีบูตระบบโดยสมบูรณ์ได้

รีบูทและ AMP
เพื่อเปิดใช้งาน SMP และ AMP สถานการณ์การรีบูต HSS รองรับแนวคิดของสิทธิ์การรีบูตแบบวอร์มและแบบเย็น ซึ่งสามารถกำหนดให้กับบริบทได้ บริบทที่มีสิทธิ์รีบูตแบบวอร์มสามารถรีบูตตัวเองได้เท่านั้น และบริบทที่มีสิทธิ์รีบูตแบบเย็นสามารถทำการรีบูตระบบแบบเต็มได้ สำหรับเช่นampพิจารณาชุดสถานการณ์จำลองต่อไปนี้

  • เวิร์กโหลด SMP บริบทเดียว ซึ่งได้รับอนุญาตให้ร้องขอการรีบูตระบบทั้งหมด
  • ในสถานการณ์สมมตินี้ บริบทได้รับอนุญาตสิทธิ์การรีบูตแบบเย็น
  • สองบริบท AMP เวิร์กโหลด โดยที่บริบท A ได้รับอนุญาตให้ร้องขอการรีบูตระบบโดยสมบูรณ์ (ส่งผลกระทบต่อบริบททั้งหมด) และบริบท B ได้รับอนุญาตให้รีบูตตัวเองเท่านั้น
  • ในสถานการณ์สมมตินี้ บริบท A ได้รับอนุญาตสิทธิ์การรีบูตแบบเย็น และบริบท B ได้รับอนุญาตสิทธิ์การรีบูตแบบวอร์ม
  • สองบริบท AMP เวิร์กโหลด โดยที่บริบท A และ B ได้รับอนุญาตให้รีบูตตัวเองเท่านั้น (และไม่ส่งผลกระทบต่อบริบทอื่น)
  • ในสถานการณ์สมมตินี้ ทั้งสองบริบทได้รับอนุญาตเฉพาะสิทธิ์การรีบูตแบบวอร์มเท่านั้น
  • สองบริบท AMP เวิร์กโหลด โดยที่บริบท A และ B ได้รับอนุญาตให้ร้องขอการรีบูตระบบทั้งหมด
  • ในสถานการณ์สมมตินี้ บริบททั้งสองจะได้รับอนุญาตสิทธิ์ในการรีบูตแบบเย็น
  • นอกจากนี้ เป็นไปได้ที่ HSS ณ เวลาสร้างจะอนุญาตสิทธิ์การรีบูตแบบเย็นเสมอ และไม่อนุญาตให้สิทธิ์การรีบูตแบบเย็นเลย

ตัวเลือก HSS Kconfig ที่เกี่ยวข้อง
Kconfig คือระบบการกำหนดค่าการสร้างซอฟต์แวร์ โดยทั่วไปจะใช้เพื่อเลือกตัวเลือกเวลาในการสร้าง และเพื่อเปิดหรือปิดใช้งานคุณลักษณะต่างๆ มีต้นกำเนิดมาจากเคอร์เนล Linux แต่ปัจจุบันพบการใช้งานในโครงการอื่นนอกเหนือจากเคอร์เนล Linux รวมถึง U-Boot, Zephyr และ PIC64GX HSS

HSS มีตัวเลือก Kconfig สองตัวที่ควบคุมฟังก์ชันการรีบูตจากมุมมองของ HSS:

  • CONFIG_ALLOW_COLD รีบูต
    หากเปิดใช้งานสิ่งนี้ จะอนุญาตให้บริบทส่ง ecall การรีบูตแบบเย็นได้ทั่วโลก หากปิดใช้งาน จะอนุญาตเฉพาะการรีบูตแบบวอร์มเท่านั้น นอกเหนือจากการเปิดใช้งานตัวเลือกนี้แล้ว ต้องให้สิทธิ์ในการรีบูตแบบเย็นแก่บริบทผ่านตัวสร้างเพย์โหลด YAML file หรือตัวเลือก Kconfig ต่อไปนี้
  • CONFIG_ALLOW_COLD รีบูต_เสมอ
    • หากเปิดใช้งาน คุณลักษณะนี้จะอนุญาตให้บริบททั้งหมดออกการรีบูตแบบเย็น ECAA โดยไม่คำนึงถึงการให้สิทธิ์แฟล็ก payload.bin
    • นอกจากนี้ payload.bin เองยังสามารถมีแฟล็กตามบริบท ซึ่งบ่งชี้ว่าบริบทเฉพาะมีสิทธิ์ที่จะออกการรีบูตแบบเย็น:
      • หากต้องการอนุญาตให้บริบท warm รีบูตบริบทอื่น เราสามารถเพิ่มตัวเลือก Allow-reboot: warm ในคำอธิบาย YAML file ใช้เพื่อสร้าง payload.bin
      • หากต้องการอนุญาตการรีบูตแบบเย็นตามบริบทของทั้งระบบ เราสามารถเพิ่มตัวเลือกได้ อนุญาตให้รีบูต: เย็น ตามค่าเริ่มต้น โดยไม่ต้องระบุอนุญาตให้รีบูต บริบทจะอนุญาตเฉพาะการรีบูตแบบวอร์มเท่านั้น โดยไม่คำนึงถึงการตั้งค่าของแฟล็กนี้ หากไม่ได้เปิดใช้งาน CONFIG_ALLOW_COLDREBOOT ใน HSS HSS จะดำเนินการใหม่ตามคำขอรีบูตแบบเย็นทั้งหมดเพื่อรีบูตแบบอุ่น (ต่อบริบท) .

รีบูตโดยละเอียด
ส่วนนี้อธิบายวิธีการทำงานของการรีบูตโดยละเอียด โดยเริ่มจากเลเยอร์ OpenSBI (เลเยอร์โหมด M ที่ต่ำที่สุด) จากนั้นอภิปรายว่าฟังก์ชันการทำงานของเลเยอร์ OpenSBI นี้ถูกทริกเกอร์จากแอปพลิเคชัน RTOS หรือระบบปฏิบัติการที่สมบูรณ์ เช่น Linux ได้อย่างไร

OpenSBI รีบูต ecall

  • ข้อมูลจำเพาะ RISC-V Supervisor Binary Interface (SBI) อธิบายเลเยอร์นามธรรมของฮาร์ดแวร์ที่เป็นมาตรฐานสำหรับการเริ่มต้นแพลตฟอร์มและบริการรันไทม์ของเฟิร์มแวร์ วัตถุประสงค์หลักของ SBI คือการเปิดใช้งานการพกพาและความเข้ากันได้ในการใช้งาน RISC-V ที่แตกต่างกัน
  • OpenSBI (Open Source Supervisor Binary Interface) เป็นโปรเจ็กต์โอเพ่นซอร์สที่ให้การใช้งานอ้างอิงของข้อกำหนด SBI OpenSBI ยังให้บริการรันไทม์ รวมถึงการจัดการการขัดจังหวะ การจัดการตัวจับเวลา และ I/O คอนโซล ซึ่งสามารถใช้งานได้โดยเลเยอร์ซอฟต์แวร์ระดับสูงกว่า
  • OpenSBI รวมเป็นส่วนหนึ่งของ HSS และทำงานที่ระดับโหมดเครื่องจักร เมื่อระบบปฏิบัติการหรือแอพพลิเคชั่นทำให้เกิดกับดัก มันจะถูกส่งไปยัง OpenSBI เพื่อจัดการมัน OpenSBI เปิดเผยฟังก์ชันการทำงานประเภทการเรียกระบบบางอย่างไปยังชั้นบนของซอฟต์แวร์ผ่านกลไกกับดักเฉพาะที่เรียกว่า ecall
  • การรีเซ็ตระบบ (EID 0x53525354) มีฟังก์ชันการเรียกระบบที่ครอบคลุมซึ่งช่วยให้ซอฟต์แวร์ชั้นบนสามารถขอรีบูตหรือปิดระบบระดับระบบได้ เมื่อ U54 เรียกใช้ ecall นี้ มันจะถูกดักจับโดยซอฟต์แวร์ HSS ที่ทำงานในโหมดเครื่องจักรบน U54 นั้น และคำขอรีบูตที่เกี่ยวข้องจะถูกส่งไปยัง E51 เพื่อรีบูตบริบทหรือทั้งระบบ ขึ้นอยู่กับสิทธิ์ของ บริบท.

สำหรับข้อมูลเพิ่มเติมโปรดดูที่ ข้อมูลจำเพาะอินเทอร์เฟซไบนารีของผู้ดูแล RISC-V โดยเฉพาะ ส่วนขยายการรีเซ็ตระบบ (EID #0x53525354 “SRST”).

รีบูตลินุกซ์

ในฐานะอดีตที่เฉพาะเจาะจงampด้วยเหตุนี้ ใน Linux คำสั่งปิดเครื่องจะใช้เพื่อหยุดหรือรีบูตระบบ โดยทั่วไปคำสั่งจะมีหลายนามแฝง ได้แก่ หยุด ปิดเครื่อง และรีบูต นามแฝงเหล่านี้ระบุว่าจะหยุดเครื่องเมื่อปิดเครื่อง ปิดเครื่องเมื่อปิดเครื่อง หรือจะรีบูตเครื่องเมื่อปิดเครื่อง

  • คำสั่งพื้นที่ผู้ใช้เหล่านี้จะทำการเรียกระบบรีบูตไปยัง Linux ซึ่งเคอร์เนลติดอยู่และทำงานร่วมกันกับ ecall ของ SBI
  • มีการรีบูตหลายระดับ - REBOOT_WARM, REBOOT_COLD, REBOOT_HARD - สิ่งเหล่านี้สามารถส่งผ่านเป็นอาร์กิวเมนต์บรรทัดคำสั่งไปยังเคอร์เนล (เช่นampเลอ รีบูต=w[แขน] สำหรับ REBOOT_WARM) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับซอร์สโค้ดเคอร์เนล Linux โปรดดูที่ เอกสารประกอบ/admin-guide/kernel-paramters.txt.
  • อีกทางหนึ่ง หากเปิดใช้งาน /sys/kernel/reboot ตัวจัดการที่อยู่ด้านล่างสามารถอ่านเพื่อรับการกำหนดค่าการรีบูตระบบปัจจุบัน และเขียนเพื่อแก้ไขได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับซอร์สโค้ดเคอร์เนล Linux โปรดดูที่ เอกสารประกอบ/ABI/การทดสอบ/sysfs-kernel-reboot.

สุนัขเฝ้าบ้าน

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

สุนัขเฝ้าบ้าน PIC64GX

  • HSS มีหน้าที่รับผิดชอบในการบูทแอปพลิเคชั่นฮาร์ทเมื่อเปิดเครื่อง และสำหรับการรีบูทพวกมัน (แยกกันหรือรวมกัน) ในเวลาใดก็ได้tage จำเป็นหรือต้องการ ด้วยเหตุนี้ HSS จะจัดการการตอบสนองต่อเหตุการณ์เฝ้าระวังบน PIC64GX
  • จอภาพ 'เฝ้าระวังเสมือน' ถูกนำมาใช้เป็นบริการเครื่องจักรสถานะ HSS และมีหน้าที่รับผิดชอบในการตรวจสอบสถานะของฮาร์ดแวร์เฝ้าระวัง U54 แต่ละตัว เมื่อสุนัขเฝ้าบ้าน U54 ตัวใดตัวหนึ่งเดินทาง HSS จะตรวจพบสิ่งนี้และจะรีบูต U54 ตามความเหมาะสม หาก U54 เป็นส่วนหนึ่งของบริบท SMP บริบททั้งหมดจะได้รับการพิจารณาสำหรับการรีบูต เนื่องจากบริบทมีสิทธิ์การรีบูตแบบวอร์ม ระบบทั้งหมดจะถูกรีบูตหากบริบทมีสิทธิ์รีบูตแบบเย็น

ตัวเลือก Kconfig ที่เกี่ยวข้อง

  • การสนับสนุน Watchdog จะรวมอยู่ในบิวด์ HSS ที่เผยแพร่โดยค่าเริ่มต้น หากคุณต้องการสร้าง HSS แบบกำหนดเอง ส่วนนี้จะอธิบายกลไกการกำหนดค่าเพื่อให้แน่ใจว่าได้เปิดใช้งานการสนับสนุน Watchdog แล้ว
  • HSS ได้รับการกำหนดค่าโดยใช้ระบบการกำหนดค่า Kconfig .config ระดับบนสุด file จำเป็นเพื่อเลือกบริการที่จะคอมไพล์เข้าหรือออกจากบิวด์ HSS
  • ประการแรก ต้องเปิดใช้งานตัวเลือก CONFIG_SERVICE_WDOG ระดับบนสุด (“การสนับสนุน Virtual Watchdog” ผ่าน make config)

จากนั้นจะแสดงตัวเลือกย่อยต่อไปนี้ซึ่งขึ้นอยู่กับการสนับสนุน Watchdog:

  • CONFIG_SERVICE_WD OG_DEBUG
    เปิดใช้งานการสนับสนุนข้อความแสดงข้อมูล/แก้ไขข้อบกพร่องจากบริการเฝ้าระวังเสมือน
  • CONFIG_SERVICE_WD OG_DEBUG_TIMEOUT_SECS
    กำหนดช่วงเวลา (เป็นวินาที) ที่ข้อความดีบัก Watchdog จะถูกส่งออกโดย HSS
  • CONFIG_SERVICE_WD OG_ENABLE_E51
    ช่วยให้สามารถเฝ้าระวังสำหรับหัวใจมอนิเตอร์ E51 นอกเหนือจาก U54 ได้ ปกป้องการทำงานของ HSS เอง

เมื่อเปิดใช้งาน Watchdog E51 HSS จะเขียนไปยัง Watchdog เป็นระยะๆ เพื่อรีเฟรชและป้องกันไม่ให้เริ่มทำงาน หากด้วยเหตุผลบางประการ E51 หัวใจล็อคหรือขัดข้องและเปิดใช้งาน E51 Watchdog สิ่งนี้จะรีเซ็ตทั้งระบบเสมอ

ปฏิบัติการเฝ้าระวัง
ฮาร์ดแวร์เฝ้าระวังใช้เคาน์เตอร์ดาวน์ สามารถสร้างหน้าต่างที่ห้ามรีเฟรชได้โดยการกำหนดค่า Watchdog Maximum Value สูงสุดที่อนุญาตให้รีเฟรช (MVRP)

  • เมื่อค่าปัจจุบันของตัวจับเวลา Watchdog มากกว่าค่า MVRP การรีเฟรช Watchdog จะไม่ได้รับอนุญาต การพยายามรีเฟรชตัวจับเวลาจ้องจับผิดในหน้าต่างที่ต้องห้ามจะยืนยันการขัดจังหวะการหมดเวลา
  • การรีเฟรช Watchdog ระหว่างค่า MVRP และค่าทริกเกอร์ (TRIG) จะรีเฟรชตัวนับได้สำเร็จและป้องกันไม่ให้ Watchdog เริ่มทำงาน
  • เมื่อค่าตัวจับเวลาจ้องจับผิดนับต่ำกว่าค่า TRIG สุนัขเฝ้าบ้านจะเริ่มทำงาน

เครื่องจักรของรัฐ Watchdog

  • เครื่องสถานะ Watchdog นั้นตรงไปตรงมามาก โดยเริ่มต้นโดยการกำหนดค่า Watchdog สำหรับ E51 หากเปิดใช้งาน จากนั้นจึงเคลื่อนผ่านสถานะไม่ได้ใช้งานไปสู่การตรวจสอบ ในแต่ละรอบซูเปอร์ลูป สถานะการตรวจสอบนี้จะถูกเรียกใช้ ซึ่งจะตรวจสอบสถานะของสุนัขเฝ้าบ้าน U54 แต่ละตัว
  • เครื่องสถานะ Watchdog โต้ตอบกับเครื่องสถานะบูตเพื่อรีสตาร์ทฮาร์ต (และฮาร์ตอื่นๆ ที่อยู่ในชุดบูต) หากตรวจพบว่าฮาร์ตไม่สามารถรีเฟรช Watchdog ได้ทันเวลา

โหมดล็อกดาวน์

ตามปกติ (โดยเฉพาะกับ AMP แอปพลิเคชัน) คาดว่า HSS จะยังคงอยู่ในโหมด M บน U54 เพื่ออนุญาตการรีบูตตามบริบท (เช่น รีบูตบริบทเดียวเท่านั้น โดยไม่มีการรีบูตแบบเต็มชิป) และเพื่อให้ HSS ตรวจสอบสุขภาพ ( ECC, บิตสถานะการล็อค, ข้อผิดพลาดของบัส, ข้อผิดพลาด SBI, การละเมิด PMP ฯลฯ)

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (8)

  • เพื่อให้มีความสามารถในการรีบูตต่อAMP ตามบริบท (โดยไม่จำเป็นต้องรีบูตทั้งระบบ) โดยปกติ E51 จะมีสิทธิ์เข้าถึงหน่วยความจำที่มีสิทธิพิเศษไปยังพื้นที่หน่วยความจำทั้งหมดของระบบ อย่างไรก็ตาม อาจมีสถานการณ์ที่ไม่พึงประสงค์ และลูกค้าอาจต้องการจำกัดการทำงานของเฟิร์มแวร์ E51 HSS เมื่อระบบบูตได้สำเร็จ ในกรณีนี้ คุณสามารถกำหนดให้ HSS เข้าสู่โหมดล็อคได้เมื่อบูต U54 Application Harts แล้ว
  • สามารถเปิดใช้งานได้โดยใช้ตัวเลือก HSS Kconfig CONFIG_SERVICE_LOCKDOWN
  • บริการล็อคดาวน์มีจุดมุ่งหมายเพื่ออนุญาตการจำกัดกิจกรรมของ HSS หลังจากที่บู๊ต Harts แอปพลิเคชัน U54

รูปที่ 4.2. โหมดล็อค HSS

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (9)

เมื่อโหมด Lockdown เริ่มต้นขึ้น ระบบจะหยุดเครื่องสถานะบริการ HSS อื่นๆ ทั้งหมดไม่ให้ทำงาน มันเรียกฟังก์ชันที่ถูกผูกไว้อย่างอ่อนสองฟังก์ชัน:

  • e51_pmp_lockdown() และ
  • e51_ล็อคดาวน์()

ฟังก์ชันเหล่านี้มีจุดมุ่งหมายให้แทนที่ด้วยโค้ดเฉพาะของบอร์ด ประการแรกคือฟังก์ชันทริกเกอร์ที่กำหนดค่าได้เพื่อให้ BSP ปรับแต่งการล็อก E51 ออกจากเพย์โหลดแอปพลิเคชัน ณ จุดนี้ การใช้งานเริ่มต้นที่ถูกผูกไว้อย่างไม่รัดกุมของฟังก์ชันนี้ว่างเปล่า ประการที่สองคือฟังก์ชันการทำงานที่เรียกใช้จากจุดนั้นไปข้างหน้า การใช้งานเริ่มต้นที่มีขอบเขตอ่อนแอจะให้บริการสุนัขเฝ้าบ้าน ณ จุดนี้ใน E51 และจะรีบูตหากสุนัขเฝ้าบ้าน U54 เริ่มทำงาน สำหรับข้อมูลเพิ่มเติม โปรดดูซอร์สโค้ด HSS ใน services/lockdown/lockdown_service.c file.

ภาคผนวก

รูปแบบ HSS payload.bin

  • ส่วนนี้จะอธิบาย payload.bin file และรูปภาพที่ HSS ใช้ในการบูต PIC64GX SMP และ AMP การประยุกต์ใช้งาน
  • payload.bin เป็นไบนารีที่จัดรูปแบบแล้ว (รูปที่ ก.10) ประกอบด้วยส่วนหัว ตารางคำอธิบายต่างๆ และส่วนต่างๆ ที่ประกอบด้วยโค้ดและส่วนข้อมูลของแต่ละส่วนของปริมาณงานแอปพลิเคชัน ก้อนถือได้ว่าเป็นบล็อกหน่วยความจำที่ต่อเนื่องกันในขนาดใดก็ได้

ภาพที่ก.10 รูปแบบ payload.bin

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (10)

ส่วนหัว (แสดงในรูปที่ A.11) มีค่าวิเศษที่ใช้เพื่อระบุ payload.bin และข้อมูลการดูแลทำความสะอาดบางส่วน พร้อมด้วยรายละเอียดของภาพที่ตั้งใจจะเรียกใช้บนแต่ละ
รหัสสมัคร U54 โดยจะอธิบายวิธีการบู๊ตฮาร์ต U54 แต่ละตัว และชุดอิมเมจที่สามารถบู๊ตได้โดยรวม ในข้อมูลการดูแลทำความสะอาด มีตัวชี้ไปยังตารางคำอธิบายต่างๆ เพื่อให้ขนาดส่วนหัวใหญ่ขึ้น

ภาพที่ก.11 ส่วนหัวของ payload.bin

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (11)

  • รหัสและข้อมูลคงที่ที่เตรียมใช้งานจะถือเป็นแบบอ่านอย่างเดียวและจัดเก็บไว้ในส่วนอ่านอย่างเดียวซึ่งชี้ไปที่คำอธิบายส่วนหัว
  • ตัวแปรข้อมูลที่เตรียมใช้งานที่ไม่ใช่ศูนย์คือข้อมูลที่อ่าน-เขียน แต่จะมีการคัดลอกค่าเริ่มต้นจากกลุ่มอ่านอย่างเดียวเมื่อเริ่มต้นระบบ สิ่งเหล่านี้จะถูกจัดเก็บไว้ในส่วนอ่านอย่างเดียวด้วย
  • ส่วนข้อมูลเพย์โหลดแบบอ่านอย่างเดียวอธิบายไว้ในตารางโค้ดและตัวอธิบายก้อนข้อมูล ตัวอธิบายแต่ละอันในตารางนี้มี 'เจ้าของฮาร์ท' (ฮาร์ตหลักในบริบทที่มีการกำหนดเป้าหมาย
    ที่) การชดเชยการโหลด (การชดเชยภายใน payload.bin) และที่อยู่การดำเนินการ (ที่อยู่ปลายทางในหน่วยความจำ PIC64GX) พร้อมด้วยขนาดและการตรวจสอบ แสดงไว้ในรูปที่ก.12

ภาพที่ก.12 ตัวอธิบายก้อนข้อมูลและข้อมูลก้อนเพย์โหลดแบบอ่านอย่างเดียว

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (12)

นอกเหนือจากชิ้นส่วนที่กล่าวมาข้างต้นแล้ว ยังมีชิ้นส่วนของหน่วยความจำที่สอดคล้องกับตัวแปรข้อมูลที่เตรียมใช้งานให้เป็นศูนย์อีกด้วย สิ่งเหล่านี้ไม่ได้จัดเก็บเป็นข้อมูลใน payload.bin แต่เป็นชุดพิเศษของตัวอธิบายก้อนที่เริ่มต้นเป็นศูนย์แทน ซึ่งระบุที่อยู่และความยาวของ RAM เพื่อตั้งค่าเป็นศูนย์ในระหว่างการเริ่มต้นระบบ แสดงไว้ในรูปที่ก.13

ภาพที่ก.13 ซี ชิงค์ส์

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (13)

hss-payload-เครื่องกำเนิดไฟฟ้า
เครื่องมือ HSS Payload Generator สร้างอิมเมจเพย์โหลดที่จัดรูปแบบแล้วสำหรับศูนย์ Hart Software Servicetage bootloader บน PIC64GX โดยมีการกำหนดค่า file และชุดเอลฟ์ files และ/หรือไบนารี การกำหนดค่า file ใช้เพื่อแมปไบนารี ELF หรือ binary blobs กับแอปพลิเคชันแต่ละตัว (U54)

รูปที่ข.14 hss-payload-generator Flow

MICROCHIP-PIC64GX-64-Bit-RISC-V-Quad-Core-ไมโครโปรเซสเซอร์-Fig- (14)

เครื่องมือนี้จะทำการตรวจสอบสุขภาพขั้นพื้นฐานเกี่ยวกับโครงสร้างของการกำหนดค่า file ตัวมันเองและรูปภาพของ ELF อิมเมจ ELF ต้องเป็นไฟล์ปฏิบัติการ RISC-V

Exampเลอรัน

  • หากต้องการรันเครื่องมือ hss-payload-generator ด้วย sampการกำหนดค่าไฟล์ file และเอลฟ์ files:
    $ ./hss-payload-generator -c test/config.yaml output.bin
  • หากต้องการพิมพ์การวินิจฉัยเกี่ยวกับรูปภาพที่มีอยู่แล้ว ให้ใช้:
    $ ./hss-payload-generator -d output.bin
  • หากต้องการเปิดใช้งานการตรวจสอบสิทธิ์การบูตอย่างปลอดภัย (ผ่านการเซ็นชื่อรูปภาพ) ให้ใช้ -p เพื่อระบุตำแหน่งของคีย์ส่วนตัว X.509 สำหรับ Elliptic Curve P-384 (SECP384r1):
    $ ./hss-payload-generator -c ทดสอบ/config.yaml payload.bin -p /path/to/private.pem

สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบ Secure Boot Authentication

การกำหนดค่า File Example

  • ขั้นแรก เราสามารถเลือกตั้งชื่อให้กับรูปภาพของเราได้ ไม่เช่นนั้นชื่อจะถูกสร้างขึ้นแบบไดนามิก:
    ตั้งชื่อ: 'PIC64-HSS::TestImage'
  • ต่อไป เราจะกำหนดที่อยู่จุดเริ่มต้นสำหรับแต่ละหัวใจดังนี้:
    hart-entry-points: {u54_1: ‘0x80200000’, u54_2: ‘0x80200000’, u54_3: ‘0xB0000000′, u54_4:’0x80200000’}

อิมเมจต้นฉบับของ ELF สามารถระบุจุดเริ่มต้นได้ แต่เราต้องการที่จะสามารถรองรับจุดเริ่มต้นรองสำหรับฮาร์ทได้ หากจำเป็น เช่นampหากฮาร์ตหลายตัวตั้งใจที่จะบูตอิมเมจเดียวกัน ฮาร์ตเหล่านั้นอาจมีจุดเข้าแยกกัน เพื่อสนับสนุนสิ่งนี้ เราจึงระบุที่อยู่จุดเริ่มต้นจริงในการกำหนดค่า file ตัวมันเอง

ตอนนี้เราสามารถกำหนดเพย์โหลดบางส่วนได้แล้ว (ที่มา ELF files หรือ binary blobs) ที่จะวางไว้ที่บางภูมิภาคในหน่วยความจำ ส่วนเพย์โหลดถูกกำหนดด้วยคีย์เวิร์ด เพย์โหลด ตามด้วยตัวอธิบายเพย์โหลดแต่ละรายการ แต่ละเพย์โหลดมีชื่อ (เส้นทางไปยังไฟล์ file) ฮาร์ทเจ้าของ และฮาร์ตรอง 1 ถึง 3 ตัว (ไม่บังคับ)

นอกจากนี้ เพย์โหลดยังมีโหมดสิทธิพิเศษที่จะเริ่มดำเนินการ โหมดสิทธิ์ที่ถูกต้องคือ PRV_M, PRV_S และ PRV_U โดยที่โหมดเหล่านี้ถูกกำหนดเป็น:

  • โหมดเครื่องจักร PRV_M
  • โหมดผู้ควบคุม PRV_S
  • โหมดผู้ใช้ PRV_U

ในกรณีต่อไปนี้ampเลอ:

  • test/zephyr.elf จะถือว่าเป็นแอปพลิเคชัน Zephyr ที่ทำงานใน U54_3 และคาดว่าจะเริ่มในโหมดสิทธิ์ PRV_M
  • test/u-boot-dtb.bin เป็นแอปพลิเคชัน Das U-Boot bootloader และทำงานบน U54_1, U54_2 และ U54_4 คาดว่าจะเริ่มต้นในโหมดสิทธิ์ PRV_S

สำคัญ:
ผลลัพธ์ของ U-Boot จะสร้าง ELF fileแต่โดยทั่วไปแล้วจะไม่เพิ่มส่วนขยาย .elf ในกรณีนี้ จะใช้ไบนารีที่สร้างโดย CONFIG_OF_SEPARATE ซึ่งจะต่อท้ายแผนผังอุปกรณ์เข้ากับไบนารี U-Boot

นี่คืออดีตampการกำหนดค่าเพย์โหลด file:

  • ทดสอบ/zephyr.เอลฟ์:
    {exec-addr: '0xB0000000' เจ้าของฮาร์ต: u54_3 โหมดส่วนตัว: prv_m ข้าม opensbi: จริง}
  • ทดสอบ/u-boot-dtb.bin:
    {exec-addr: '0x80200000' เจ้าของฮาร์ต: u54_1 ฮาร์ตรอง: u54_2 ฮาร์ตรอง: u54_4 โหมดส่วนตัว: prv_s}

สำคัญ:
กรณีมีความสำคัญสำหรับ file ชื่อเส้นทาง ไม่ใช่คำหลัก ตัวอย่างเช่น u54_1 ถือว่าเหมือนกับ U54_1 และ exec-addr ถือว่าเหมือนกับ EXEC-ADDR หากมีนามสกุล an.elf หรือ .bin จะต้องรวมไว้ในการกำหนดค่าด้วย file.

  • สำหรับแอปพลิเคชัน Bare Metal ที่ไม่ต้องการเกี่ยวข้องกับ OpenSBI ตัวเลือกข้าม-เปิด หากเป็นจริง จะทำให้เพย์โหลดบนหัวใจนั้นถูกเรียกใช้โดยใช้ mret แบบธรรมดาแทน
    กว่าการโทร OpenSBI sbi_init() ซึ่งหมายความว่าหัวใจจะเริ่มรันโค้ด Bare Metal โดยไม่คำนึงถึงการพิจารณา OpenSBI HSM ใดๆ โปรดทราบว่านี่ก็หมายความว่าหัวใจไม่สามารถใช้ได้
    ecalls เพื่อเรียกใช้ฟังก์ชันการทำงานของ OpenSBI ตัวเลือกข้ามเปิดเป็นทางเลือกและมีค่าเริ่มต้นเป็นเท็จ
  • หากต้องการอนุญาตให้รีบูตบริบทโดยวอร์มของบริบทอื่น เราสามารถเพิ่มตัวเลือกอนุญาตให้รีบูต: วอร์ม หากต้องการอนุญาตการรีบูตแบบเย็นตามบริบทของทั้งระบบ เราสามารถเพิ่มตัวเลือกได้ อนุญาตให้รีบูต: เย็น ตามค่าเริ่มต้น โดยไม่ต้องระบุอนุญาตให้รีบูต บริบทจะอนุญาตให้ทำการวอร์มรีบูตตัวเองเท่านั้น
  • นอกจากนี้ยังสามารถเชื่อมโยงข้อมูลเสริมกับแต่ละเพย์โหลดได้ เช่นampเลอ DeviceTree Blob (DTB) fileโดยการระบุข้อมูลเสริม fileชื่อดังต่อไปนี้:
    test/u-boot.bin: { exec-addr: '0x80200000', เจ้าของฮาร์ต: u54_1, ฮาร์ตรอง: u54_2, ฮาร์ตรอง: u54_3, ฮาร์ตรอง: u54_4, โหมด priv: prv_s, ข้อมูลเสริม : ทดสอบ/pic64gx.dtb }
  • ข้อมูลเสริมนี้จะรวมอยู่ในเพย์โหลด (วางไว้ตรงหลังข้อมูลหลัก file ในปฏิบัติการ
    space) และที่อยู่จะถูกส่งไปยัง OpenSBI ในฟิลด์ next_arg1 (ส่งผ่านในรีจิสเตอร์ $a1 ไปยังอิมเมจ ณ เวลาบูต)
  • เพื่อป้องกันไม่ให้ HSS บูตบริบทโดยอัตโนมัติ (เช่น หากเราต้องการมอบหมายการควบคุมสิ่งนี้ให้กับบริบทโดยใช้ RemoteProc แทน) ให้ใช้แฟล็กข้ามอัตโนมัติ:
    test/zephyr.elf: {exec-addr: '0xB0000000', เจ้าของฮาร์ต: u54_3, โหมด priv: prv_m, ข้าม opensbi: จริง, ข้ามอัตโนมัติ: จริง}
  • สุดท้ายนี้ เราสามารถเลือกแทนที่ชื่อของเพย์โหลดแต่ละรายการได้ โดยใช้ตัวเลือกชื่อเพย์โหลด สำหรับเช่นampเลอ:
    test/u-boot.bin: { exec-addr: '0x80200000', เจ้าของฮาร์ต: u54_1, ฮาร์ตรอง: u54_2, ฮาร์ตรอง: u54_3, ฮาร์ตรอง: u54_4, โหมด priv: prv_s, ข้อมูลเสริม : test/pic64gx.dtb ชื่อเพย์โหลด: 'u-boot' }

โปรดทราบว่าผู้สร้าง Yocto และ Buildroot Linux จะสร้าง กำหนดค่า และรัน hss-payload-
ตัวสร้างตามความจำเป็นเพื่อสร้างอิมเมจแอปพลิเคชัน นอกจากนี้ pic64gx-curiosity-kit-amp เป้าหมายของเครื่องใน Yocto จะสร้างอิมเมจแอปพลิเคชันโดยใช้เครื่องมือ hss-payload-generator ที่สาธิต AMPโดยที่ Linux ทำงานบน 3 harts และ Zephyr ทำงานบน 1 hart

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

การแก้ไข

วันที่

คำอธิบาย

A 07/2024 การแก้ไขเบื้องต้น

ข้อมูลไมโครชิป

ไมโครชิป Webเว็บไซต์
Microchip ให้การสนับสนุนออนไลน์ผ่านของเรา webไซต์ที่ www.ไมโครชิป.com/. นี้ webเว็บไซต์นี้ใช้ในการทำ fileและข้อมูลที่ลูกค้าเข้าถึงได้ง่าย เนื้อหาบางส่วนที่เข้าถึงได้ ได้แก่:

  • การสนับสนุนผลิตภัณฑ์ – เอกสารข้อมูลและ errata บันทึกการใช้งาน และ sampโปรแกรม ทรัพยากรการออกแบบ คู่มือผู้ใช้ และเอกสารสนับสนุนฮาร์ดแวร์ ซอฟต์แวร์รุ่นล่าสุด และซอฟต์แวร์ที่เก็บถาวร
  • ฝ่ายสนับสนุนด้านเทคนิคทั่วไป – คำถามที่พบบ่อย (FAQ) คำขอรับการสนับสนุนทางเทคนิค กลุ่มสนทนาออนไลน์ รายชื่อสมาชิกโปรแกรมพันธมิตรด้านการออกแบบของไมโครชิพ
  • ธุรกิจไมโครชิป – ตัวเลือกผลิตภัณฑ์และคู่มือการสั่งซื้อ ข่าวประชาสัมพันธ์ล่าสุดของไมโครชิป รายชื่องานสัมมนาและกิจกรรมต่างๆ รายชื่อสำนักงานขาย ผู้จัดจำหน่าย และตัวแทนโรงงานของไมโครชิป

บริการแจ้งการเปลี่ยนแปลงผลิตภัณฑ์

  • บริการแจ้งเตือนการเปลี่ยนแปลงผลิตภัณฑ์ของไมโครชิปช่วยให้ลูกค้าทราบถึงผลิตภัณฑ์ของไมโครชิปในปัจจุบัน สมาชิกจะได้รับการแจ้งเตือนทางอีเมลทุกครั้งที่มีการเปลี่ยนแปลง อัปเดต การแก้ไข หรือข้อผิดพลาดที่เกี่ยวข้องกับตระกูลผลิตภัณฑ์ที่ระบุหรือเครื่องมือการพัฒนาที่สนใจ
  • หากต้องการลงทะเบียนให้ไปที่ www.microchip.com/pcn และปฏิบัติตามคำแนะนำในการลงทะเบียน

การสนับสนุนลูกค้า
ผู้ใช้ผลิตภัณฑ์ Microchip สามารถรับความช่วยเหลือได้ผ่านช่องทางต่างๆ:

  • ตัวแทนจำหน่ายหรือตัวแทน
  • สำนักงานขายในพื้นที่
  • วิศวกรโซลูชันเอ็มเบ็ดเด็ด (ESE)
  • การสนับสนุนด้านเทคนิค

ลูกค้าควรติดต่อผู้จัดจำหน่าย ตัวแทน หรือ ESE เพื่อขอความช่วยเหลือ นอกจากนี้ยังมีสำนักงานขายในพื้นที่เพื่อช่วยเหลือลูกค้าอีกด้วย รายชื่อสำนักงานขายและสถานที่รวมอยู่ในเอกสารนี้
การสนับสนุนด้านเทคนิคพร้อมให้บริการผ่าน webเว็บไซต์อยู่ที่: www.microchip.com/support.

คุณสมบัติการป้องกันรหัสอุปกรณ์ไมโครชิป
โปรดทราบรายละเอียดต่อไปนี้เกี่ยวกับคุณลักษณะการป้องกันรหัสบนผลิตภัณฑ์ Microchip:

  • ผลิตภัณฑ์ Microchip ตรงตามข้อกำหนดที่ระบุไว้ในแผ่นข้อมูล Microchip เฉพาะของตน
  • Microchip เชื่อว่ากลุ่มผลิตภัณฑ์ของตนจะปลอดภัยเมื่อใช้ตามลักษณะที่ต้องการ ภายใต้ข้อกำหนดการทำงาน และภายใต้เงื่อนไขปกติ
  • Microchip ให้ความสำคัญและปกป้องสิทธิในทรัพย์สินทางปัญญาของบริษัทอย่างจริงจัง การพยายามละเมิดคุณสมบัติการป้องกันโค้ดของผลิตภัณฑ์ Microchip เป็นสิ่งต้องห้ามโดยเด็ดขาด และอาจฝ่าฝืน Digital Millennium Copyright Act
  • ทั้ง Microchip และผู้ผลิตเซมิคอนดักเตอร์รายอื่นไม่สามารถรับประกันความปลอดภัยของโค้ดได้ การปกป้องโค้ดไม่ได้หมายความว่าเรารับประกันว่าผลิตภัณฑ์นั้น “ไม่แตกหัก” การปกป้องโค้ดนั้นได้รับการพัฒนาอย่างต่อเนื่อง Microchip มุ่งมั่นที่จะปรับปรุงคุณสมบัติการปกป้องโค้ดของผลิตภัณฑ์ของเราอย่างต่อเนื่อง

ประกาศทางกฎหมาย
เอกสารเผยแพร่นี้และข้อมูลในที่นี้อาจใช้กับผลิตภัณฑ์ของ Microchip เท่านั้น ซึ่งรวมถึงการออกแบบ ทดสอบ และรวมผลิตภัณฑ์ของ Microchip เข้ากับแอปพลิเคชันของคุณ การใช้ข้อมูลนี้ในลักษณะอื่นใดถือเป็นการละเมิดข้อกำหนดเหล่านี้ ข้อมูลเกี่ยวกับแอปพลิเคชันของอุปกรณ์มีไว้เพื่อความสะดวกของคุณเท่านั้น และอาจถูกแทนที่ด้วยการอัปเดต เป็นความรับผิดชอบของคุณในการตรวจสอบให้แน่ใจว่าใบสมัครของคุณตรงตามข้อกำหนดของคุณ ติดต่อสำนักงานขาย Microchip ในพื้นที่ของคุณเพื่อรับการสนับสนุนเพิ่มเติม หรือขอรับการสนับสนุนเพิ่มเติมได้ที่ www.microchip.com/en-us/support/design-help/client-support-services.

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

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

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

เครื่องหมายการค้า
ชื่อและโลโก้ Microchip, โลโก้ Microchip, Adaptec, AVR, โลโก้ AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, โลโก้ Microsemi, MOST, โลโก้ MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, โลโก้ PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, โลโก้ SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron และ XMEGA เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Incorporated ในสหรัฐอเมริกาและประเทศอื่นๆ

AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, Libero, แท่นมอเตอร์, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, โลโก้ ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld , TimeCesium, TimeHub, TimePictra, TimeProvider และ ZL เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Incorporated ในสหรัฐอเมริกา

การปราบปรามคีย์ที่อยู่ติดกัน, AKS, ยุคอะนาล็อกสำหรับยุคดิจิทัล, ตัวเก็บประจุใดๆ, AnyIn, AnyOut, การสลับแบบเสริม, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, การจับคู่เฉลี่ยแบบไดนามิก , DAM, ECAN, เอสเพรสโซ่ T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge,
IGaT, การเขียนโปรแกรมแบบอนุกรมในวงจร, ICSP, INICnet, การขนานแบบอัจฉริยะ, IntelliMOS, การเชื่อมต่อระหว่างชิป, JitterBlocker, Knob-on-Display, MarginLink, maxCrypto, สูงสุดView, memBrain, Mindi, MiWi, MPASM, MPF, โลโก้ที่ผ่านการรับรอง MPLAB, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, การสร้างโค้ดรอบรู้, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSmart, PureSilicon , QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, แผนที่อย่างง่าย, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, รวม ความอดทน, เวลาที่เชื่อถือได้, TSHARC, ทัวริง, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect และ ZENA เป็นเครื่องหมายการค้าของ Microchip Technology Incorporated ในสหรัฐอเมริกาและประเทศอื่นๆ

  • SQTP เป็นเครื่องหมายบริการของ Microchip Technology Incorporated ในสหรัฐอเมริกา
  • โลโก้ Adaptec, Frequency on Demand, Silicon Storage Technology และ Symmcom เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Inc. ในประเทศอื่นๆ
  • GestIC เป็นเครื่องหมายการค้าจดทะเบียนของ Microchip Technology Germany II GmbH & Co. KG ซึ่งเป็นบริษัทในเครือของ Microchip Technology Inc. ในประเทศอื่นๆ

เครื่องหมายการค้าอื่นๆ ทั้งหมดที่กล่าวถึงในที่นี้เป็นทรัพย์สินของบริษัทที่เกี่ยวข้อง © 2024, Microchip Technology Incorporated และบริษัทในเครือ สงวนลิขสิทธิ์.

  • หมายเลข ISBN: 978-1-6683-4890-1

ระบบการจัดการคุณภาพ
สำหรับข้อมูลเกี่ยวกับระบบการจัดการคุณภาพของ Microchip โปรดไปที่ www.microchip.com/quality.

การขายและบริการทั่วโลก

อเมริกา

เอเชีย/แปซิฟิก เอเชีย/แปซิฟิก

ยุโรป

องค์กร สำนักงาน

2355 เวสต์แชนด์เลอร์บูเลอวาร์ด แชนด์เลอร์ AZ 85224-6199

โทร: 480-792-7200

โทรสาร: 480-792-7277

การสนับสนุนด้านเทคนิค: www.microchip.com/support

Web ที่อยู่: www.ไมโครชิป.คอม

แอตแลนตา

ดูลูธ, จอร์เจีย

โทร: 678-957-9614

โทรสาร: 678-957-1455

ออสติน, เท็กซัส

โทร: 512-257-3370

บอสตัน

เวสต์โบโรห์ แมสซาชูเซตส์ โทรศัพท์: 774-760-0087

โทรสาร: 774-760-0088

ชิคาโก

อิตาสกา อิลลินอยส์

โทร: 630-285-0071

โทรสาร: 630-285-0075

ดัลลาส

แอดดิสันเท็กซัส

โทร: 972-818-7423

โทรสาร: 972-818-2924

ดีทรอยต์

โนวี มิชิแกน

โทร: 248-848-4000

ฮูสตัน, TX

โทร: 281-894-5983

อินเดียนาโพลิส

โนเบิลสวิลล์ อินดีแอนา โทรศัพท์: 317-773-8323

โทรสาร: 317-773-5453

โทร: 317-536-2380

ลอสแองเจลีส

มิชชั่นเวียโฮ แคลิฟอร์เนีย โทรศัพท์: 949-462-9523

โทรสาร: 949-462-9608

โทร: 951-273-7800

ราลีห์, NC

โทร: 919-844-7510

นิวยอร์ก, นิวยอร์ก

โทร: 631-435-6000

ซาน โฮเซ่, CA

โทร: 408-735-9110

โทร: 408-436-4270

แคนาดา - โตรอนโต

โทร: 905-695-1980

โทรสาร: 905-695-2078

ออสเตรเลีย – ซิดนีย์

โทร : 61-2-9868-6733

ประเทศจีน – ปักกิ่ง

โทร : 86-10-8569-7000

จีน – เฉิงตู

โทร : 86-28-8665-5511

ประเทศจีน – ฉงชิ่ง

โทร : 86-23-8980-9588

จีน – ตงกวน

โทร : 86-769-8702-9880

ประเทศจีน – กว่างโจว

โทร : 86-20-8755-8029

จีน – หางโจว

โทร : 86-571-8792-8115

จีน - ฮ่อง คอง เขตบริหารพิเศษ

โทร: 852-2943-5100

จีน – หนานจิง

โทร : 86-25-8473-2460

จีน – ชิงเต่า

โทร : 86-532-8502-7355

ประเทศจีน – เซี่ยงไฮ้

โทร : 86-21-3326-8000

จีน – เสิ่นหยาง

โทร : 86-24-2334-2829

จีน – เซินเจิ้น

โทร : 86-755-8864-2200

จีน – ซูโจว

โทร : 86-186-6233-1526

จีน – หวู่ฮั่น

โทร : 86-27-5980-5300

จีน – ซีอาน

โทร : 86-29-8833-7252

จีน – เซียะเหมิน

โทร: 86-592-2388138

จีน – จูไห่

โทร: 86-756-3210040

อินเดีย - บังกาลอร์

โทร : 91-80-3090-4444

อินเดีย – นิวเดลี

โทร : 91-11-4160-8631

อินเดีย - ปูเน่

โทร : 91-20-4121-0141

ประเทศญี่ปุ่น - โอซาก้า

โทร : 81-6-6152-7160

ประเทศญี่ปุ่น - โตเกียว

โทร: 81-3-6880-3770

เกาหลี – แดกู

โทร : 82-53-744-4301

เกาหลี – โซล

โทร : 82-2-554-7200

มาเลเซีย – กัวลา กัวลาลัมเปอร์

โทร : 60-3-7651-7906

มาเลเซีย – ปีนัง

โทร : 60-4-227-8870

ฟิลิปปินส์ - มะนิลา

โทร : 63-2-634-9065

สิงคโปร์

โทร: 65-6334-8870

ไต้หวัน – ซิน ชู

โทร : 886-3-577-8366

ไต้หวัน – เกาสง

โทร : 886-7-213-7830

ไต้หวัน – ไทเป

โทร : 886-2-2508-8600

ประเทศไทย - กรุงเทพฯ

โทร : 66-2-694-1351

เวียดนาม – โฮจิมินห์

โทร : 84-28-5448-2100

ออสเตรีย - เวลส์

โทร : 43-7242-2244-39

แฟกซ์ : 43-7242-2244-393

เดนมาร์ก - โคเปนเฮเกน

โทร: 45-4485-5910

โทรสาร : 45-4485-2829

ฟินแลนด์ - เอสโป

โทร : 358-9-4520-820

ฝรั่งเศส - ปารีส

Tel: 33-1-69-53-63-20

Fax: 33-1-69-30-90-79

ประเทศเยอรมนี - การ์ชิง

โทร: 49-8931-9700

ประเทศเยอรมนี - ฮาน

โทร: 49-2129-3766400

ประเทศเยอรมนี - ไฮลบรอนน์

โทร: 49-7131-72400

ประเทศเยอรมนี - คาร์ลสรูเออ

โทร: 49-721-625370

ประเทศเยอรมนี - มิวนิค

Tel: 49-89-627-144-0

Fax: 49-89-627-144-44

ประเทศเยอรมนี - โรเซนไฮม์

โทร : 49-8031-354-560

อิสราเอล – ฮอด ฮาชารอน

โทร : 972-9-775-5100

อิตาลี – มิลาน

โทร: 39-0331-742611

โทรสาร : 39-0331-466781

อิตาลี – ปาโดวา

โทร: 39-049-7625286

เนเธอร์แลนด์ – ดรูเนน

โทร: 31-416-690399

โทรสาร : 31-416-690340

นอร์เวย์ - ทรอนด์เฮม

โทร : 47-72884388

โปแลนด์ – วอร์ซอ

โทร: 48-22-3325737

โรมาเนีย - บูคาเรสต์

Tel: 40-21-407-87-50

สเปน – มาดริด

Tel: 34-91-708-08-90

Fax: 34-91-708-08-91

สวีเดน – โกเธนเบิร์ก

Tel: 46-31-704-60-40

สวีเดน – สตอกโฮล์ม

โทร : 46-8-5090-4654

สหราชอาณาจักร – วอคกิ้งแฮม

โทร : 44-118-921-5800

แฟกซ์ : 44-118-921-5820

© 2024 Microchip Technology Inc. และบริษัทสาขา

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

MICROCHIP PIC64GX ไมโครโปรเซสเซอร์ RISC-V Quad-Core 64 บิต [พีดีเอฟ] คู่มือการใช้งาน
PIC64GX, PIC64GX ไมโครโปรเซสเซอร์ RISC-V Quad-Core 64 บิต, ไมโครโปรเซสเซอร์ Quad-Core RISC-V 64 บิต, ไมโครโปรเซสเซอร์ RISC-V Quad-Core, ไมโครโปรเซสเซอร์ Quad-Core, ไมโครโปรเซสเซอร์

อ้างอิง

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

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