5.1.7.3. Select Software Trace Tools
Tracing can be very helpful for profiling performance bottlenecks, debugging crash
scenarios and debugging complex cases. Tracing can be performed in two ways:
•
Non-real-time: by storing trace data in system memory (for example SDRAM) or
the embedded trace buffer, then stopping the system, downloading the trace
information and analyzing it.
•
Real-time: by using an external adapter trace data from the trace port. The
target board needs to support this scenario.
Typically, the debug tools also offer tracing of the embedded software program
execution, but external hardware may be required. For example, the DS-5 provided
with the SoC EDS supports both non-real-time and real-time tracing. When used for
real-time tracing, an additional external trace unit called “
DSTREAM
” is required.
Lauterbach T32 is a similar example, in that it needs additional external hardware for
real-time tracing.
5.2. Flash Device Driver Design Considerations
The SoC FPGAs support the following types of flash devices: QSPI, NAND, SD/MMC/
eMMC.
Note:
Please refer to
Supported Flash Devices for Cyclone V and Arria V SoC
supported flash devices. Use an “Intel Tested and Supported” device, to minimize
development effort and risk of incompatibility. The next best option is to select a
“Known to Work” device. This means that the device is compatible with BootROM and
was proven to work with at least one Bootloader - but it may not be the Bootloader
you need. It may also not have HWLibs, OS Support or HPS Flash Programmer
Support.
5.3. HPS ECC Design Considerations
ECC is implemented throughout the entire HPS subsystem on all RAMs, including the
external HPS EMIF, L2 cache data RAMs and all peripheral RAMs. The controller ECC
employs standard Hamming logic to detect and correct single-bit errors and detect
double-bit errors. Parity protection is provided for the Cortex-A9 MPCore L1 cache
memories and L2 tag RAM. ECC can be selectively enabled on the HPS EMIF and
internal HPS RAMs. Diagnostic test modes and error injection capability are available
under software control. ECC is disabled by default upon power-up or cold reset.
The generated boot code configures, initializes and enables ECC according to user
options selected during BSP generation. Custom firmware and bare metal application
code access to the ECC features is facilitated with the Intel-provided HWLibs library,
which provides a simple API for programming HPS software features.
For more information, refer to the "Boot Tools User Guide" and "Hardware Library"
chapters of the
Intel SoC FPGA Embedded Development Suite User Guide
Related Information
Intel
SoC FPGA Embedded Development Suite User Guide
5. Embedded Software Design Guidelines for SoC FPGAs
AN-796 | 2018.06.18
AN 796: Cyclone V and Arria V SoC Device Design Guidelines
61