Wenn Ihre Software vom Flash-Speicher aus nicht korrekt ausgeführt wird, überprüfen Sie, ob der Code nicht kompiliert wurde, wenn die Semihosting-Unterstützung für I/O-Routinen wie printf aktiviert ist.
Semihosting leitet I/O-Befehle wie printf über spezifische Bibliotheken, die zur Kompilierungszeit verknüpft sind, an den Debugger weiter.
Die Softwarebeispiele in SoCEDS/Beispielen/Software sind standardmäßig so konfiguriert, dass Semihosting verwendet wird.
Die Altera-SoCFPGA-HardwareLib-FPGA-CV-GNU innerhalb von SoCEDS Version 15.1 und neuer enthält eine #Define oben im Makefile, damit das Semihosting ungeniert oder aktiviert werden kann. Wenn Semihosting deaktiviert ist, fügt dieses Beispiel einen Treiber hinzu, um die printf-Ausgabe über die UART zu leiten.
Sie können auch C Library Semihosting-Funktionen manully deaktivieren, indem Sie den unten stehenden Code in Ihren C- oder Assembler-Modulen verwenden:
#pragma Import (__use_no_semihosting_swi) –20055 .C-Modul
IMPORT __use_no_semihosting_swi -Assembler-Modul