Question:
How standard I/O functions create impact on boot process of SHARC-FX (ADSP-SC8xx/ADSP-218xx) processors?
Answer:
While flashing an application into SHARC-FX, make sure that the application does not perform any standard I/O functions, such as printf. These functions cannot be used without a debugger attached, and may cause the application to fail to run.
Link the projects against libraries without standard I/O support:
a. For the SHARC-FX project, change the settings to use a No I/O Linker Support Package. When using the Startup Code/LSP Add-in (recommended), double-click on system.svc and select the Startup Code/LSP tab, and then change the I/O dropdown to No I/O (Startup Code or LSP tab.png).
If using one of the default LSPs without the Startup Code/LSP Add-in, change the Linker Support Package (LSP) to RTL (no I/O) [rtl] at:
Settings > Tool Settings > CrossCore SHARC-FX Linker > General > Linker Support Package (LSP) (Linker Support Package.png)
b. For a Cortex-M33 project, change the specs file to nosys.specs at Settings > Tool Settings > CrossCore GCC ARM Embedded C Linker > General > Libraries > Semihosting support. (Semihosting support.png)