Visible to Intel only — GUID: svi1522338809328
Ixiasoft
1. Introduction to the Intel® Stratix® 10 SoC Device Design Guidelines
2. Board Design Guidelines for Stratix 10 SoC FPGAs
3. Interfacing to the FPGA for Stratix 10 SoC FPGAs
4. System Considerations for Stratix 10 SoC FPGAs
5. Embedded Software Design Guidelines for Intel® Stratix® 10 SoC FPGAs
6. Recommended Resources for Stratix 10 SoC FPGAs
2.1. Pin Connection Considerations for Board Design
2.2. HPS Clocking and Reset Design Considerations
2.3. Design Considerations for Connecting Device I/O to HPS Peripherals and Memory
2.4. Design Guidelines for HPS Interfaces
2.5. HPS EMIF Design Considerations
2.6. HPS Memory Debug
2.7. Boundary Scan for HPS
2.8. Embedded Software Debugging and Trace
2.9. Board Design Guidelines for Intel® Stratix® 10 SoC FPGAs Revision History
3.1. Overview of HPS Memory-Mapped Interfaces
3.2. Recommended System Topologies
3.3. Recommended Starting Point for HPS-to-FPGA Interface Designs
3.4. Timing Closure for FPGA Accelerators
3.5. Information on How to Configure and Use the Bridges
3.6. Interfacing to the FPGA for Intel® Stratix® 10 SoC FPGAs Revision History
5.1. Overview
5.2. Assembling the Components of Your Software Development Platform
5.3. Golden Hardware Reference Design (GHRD)
5.4. Selecting an Operating System for Your Application
5.5. Assembling Your Software Development Platform for Linux*
5.6. Assembling your Software Development Platform for a Bare-Metal Application
5.7. Assembling your Software Development Platform for Partner OS or RTOS
5.8. Choosing the Bootloader Software
5.9. Selecting Software Tools for Development, Debug and Trace
5.10. Boot And Configuration Considerations
5.11. System Reset Considerations
5.12. Flash Considerations
5.13. Embedded Software Debugging and Trace
5.14. Embedded Software Design Guidelines for Intel® Stratix® 10 SoC FPGAs Revision History
Visible to Intel only — GUID: svi1522338809328
Ixiasoft
5.6. Assembling your Software Development Platform for a Bare-Metal Application
The HWLIBs are collections of low level bare-metal software utilities provided with SoC EDS and designed for controlling various components of the HPS. The HWLIBs are also typically used by Intel® 's OS partners to build board support packages for operating systems.
The HWLIBs have two components:
- SoC Abstraction Layer (SoCAL): Register abstraction layer that enables direct access and control of device registers within the HPS address space.
- Hardware Manager (HWMgr): APIs that provide more complex functionality and drivers for higher level use case scenarios.
Figure 22. HWLIBs Overview
Note: Not all hardware is covered by SoCAL and HWMgr, therefore writing custom code may be necessary depending on application.
Software applications that use HWLibs must have runtime provisions to manage the resources of the MPU subsystem. These provisions are typically what operating systems provide.
GUIDELINE: Use HWLIBs only if you are familiar with developing runtime provisions to manage your application.
GUIDELINE: Use the HWLIBs examples from <SoC EDS installation folder>/embedded/examples/software/ as a starting point for your bare-metal development.
For more information about HWLIBs, refer to:
- Intel® SoC FPGA Embedded Design Suite User Guide
- Getting Started with HWLIBs Bare-metal Development web page on the Intel® Wiki