Microchip Technology Incorporated · NASDAQ:MCHP

Microchip Technology — Technical Presentation (May 2020)

26 slides from Microchip Technology's technical presentation, May 14, 2020

  1. Slide 1: Second Thursdays

    Second Thursdays May 14 - Webinar 13: Two Bare-Metal Applications on PolarFire® SoC June 11 - Webinar 14: The PolarFire SoC Icicle Kit Model in Renode July 9 - Webinar 15: Linux® on Renode Aug. 13 - Webinar 16: Building Applications for Linux on PolarFire SoC Sep. 10 - Webinar 17: Real-Time (AMP Mod

  2. Slide 2: Getting Started with the RISC-V Based PolarFire SoC

    Getting Started with the RISC-V Based PolarFire® SoC FPGA Webinar Series Session 13 Two Bare-Metal Applications on PolarFire® SoC A Leading Provider of Smart, Connected and Secure Embedded Control Solutions Hugh Breslin, Design Engineer Thursday May. 14, 2020

  3. Slide 3: Supporting Content

    Supporting Content www.microsemi.com/Mi-V “Renode Webinar Series” Webinar 1: Discover Renode for PolarFire® SoC Design and Debug Webinar 2: How to Get Started with Renode for PolarFire SoC Webinar 3: Learn to Debug a Bare-Metal PolarFire SoC Application with Renode Webinar 4: Tips and Tricks for Eve

  4. Slide 4: Agenda

    Agenda • Hart Software Services • HSS Boot Image • Creating the HSS Boot Image • Building the HSS 4

  5. Slide 5: Hart Software Services

    Hart Software Services & MicrocHIP

  6. Slide 6: Hart Software Services

    Hart Software Services • HSS is an application that runs on the E51 • It uses a superloop monitor to operate • U54s can request the E51 to perform certain tasks / services on their behalf • Features a Machine-Mode soft interrupt handler • Allows the E51 to send messages to the U54s • Named “SSMB” Se

  7. Slide 7: Hart Software Services

    Hart Software Services • Services available include: • Boot • Crypto • DDR • FlashFreeze • Goto • Ipi_poll • Opensbi • Powermode • Qspi • Sgdma • Spi • UART • Watchdog • Y-Modem 7

  8. Slide 8: Hart Software Services

    Hart Software Services B+ B00e 2 & MicrocHIP

  9. Slide 9: Hart Software Services

    Hart Software Services Initialise DDR Configure system Initialize and decompress boot image 9

  10. Slide 10: HSS Boot Image

    HSS Boot Image & MicrocHIP

  11. Slide 11: HSS Boot Image

    HSS Boot Image • The HSS Boot Image is the result of merging two binaries HSS Boot payload1 payload2 Image • This is accomplished using the included bin2chunks tool • bin2chunks will extract and compile the data from both images into one in a fixed structure 11

  12. Slide 12: HSS Boot Image

    HSS Boot Image • The image contains: • A header • A table of initialized boot chunks (code and data) • A table of BSS and zero-init chunks • The data itself 12

  13. Slide 13: HSS Boot Image

    HSS Boot Image struct F Boot Image header] Struct HSS BootChunkDesc_bootChunksTable[] (struct HSS_BootZIChunkDese ziChunksTable() char chunkPayloads (] Seem nrente tee size_t chunkTabledffset size_t 2iChunbTabledtfoet Snes = [niet peivioae| size firetChamk wint32_t magic size_t headerLength size_t c

  14. Slide 14: HSS Boot Image

    14 HSS Boot Ima se struct ESS_BootTnage header] Struct HSS BootChunkDesc_bootChunksTable[] struct HSS BootZIChunkDesc ziCbunksTable[] char chunkPayloads (1 a1 a0 29 28 27 26 24 29 22 21 20 19 18 17 16 15 14 19 12 11 10 98 enum HSSHartId owner uintptr_t loadAddr uintptr_t execAddr size_t size wint32_

  15. Slide 15: HSS Boot Image

    =) struct HSS BootZIChunkDese 2iGhunksTatle[] HSS Boot Image struct ESS_BootTnage header] Struct HSS BootChunkDesc_bootChunksTable[] char chunkPayloads (1 41 40 29 28 27 26 25 24 2a 22 21 20 19 18 17 16 15 14 1a 12:11 10 9 8 7 6 OB 4 8 2 1 Oo enum HSSHartId owner uintptr_t execAddr size_t size enum

  16. Slide 16: Creating the HSS Boot Image

    Creating the HSS Boot Image 16

  17. Slide 17: Creating the HSS Boot Image

    Creating the HSS Boot Image hart-software-services ├── baremetal │ ├── drivers (legacy) │ └── polarfire-soc-bare-metal-library (subtree) ├── compression ├── debug (helper routines for function profiling) ├── include ├── init (system initialization) ├── misc ├── services (software service state machi

  18. Slide 18: Creating the HSS Boot Image

    Creating the HSS Boot Image Bin2chunks takes 12 arguments: 1. U54_1 entry point 2. U54_2 entry point 3. U54_3 entry point 4. U54_4 entry point 5. Chunk limit (4096) 6. Output file name 7. Owner of payload 1 8. Payload 1 name 9. Memory address to place payload 1 10. Owner of payload 2 11. Payload 2 n

  19. Slide 19: Creating the HSS Boot Image

    Creating the HSS Boot Image 1. U54_1 entry point is 0xC4000000 2. U54_2 entry point is 0xC4000000 3. U54_3 entry point is 0x84000000 4. U54_4 entry point is 0x84000000 5. Chunk limit (4096) 6. hss_bootImage.bin is the output file name 7. 1 => U54_1 is the owner of the following binary 8. payload1.bi

  20. Slide 20: Creating the HSS Boot Image

    Creating the HSS Boot Image 20

  21. Slide 21: Building the HSS

    Building the HSS 21

  22. Slide 22: Building the HSS

    Building the HSS • Create your HSS boot image • Place the resulting image in your board folder • Build the HSS 22

  23. Slide 23: Building the HSS

    Building the HSS miv@mi-pc: ~/Downloads/hss_...arfiresoc-merge@3beb2919963 $ make MACHINE=icicle : BOARD not specified ICICLE selected : Not enabling -flto as stack protector enabled baremetal/polar fire-soc-bare-metal-Library/src/platform/mpfs_hal/mss_mutex.d crt.d misc/stack_guard.d services/qspi/

  24. Slide 24: Agenda

    Agenda • Hart Software Services • HSS Boot Image • Creating the HSS Boot Image • Building the HSS 24

  25. Slide 25: Thank you!

    25 Thank you! Any questions? & MicrocHIP

  26. Slide 26: Second Thursdays

    Second Thursdays June 11 - Webinar 14: The PolarFire SoC Icicle Kit Model in Renode July 9 - Webinar 15: Linux® on Renode Aug. 13 - Webinar 16: Building Applications for Linux on PolarFire SoC Sep. 10 - Webinar 17: Real-Time (AMP Mode) on PolarFire SoC 26

Microchip Technology — Technical Presentation (May 2020) on 6ix