Forum Discussion
Altera_Forum
Honored Contributor
11 years agoIn booting a bare metal application from qspi flash (http://www.alteraforum.com/forum/showthread.php?t=44985) and more older topics I discuss these theme. Some people says, what they may boot from QSPI, only without concrete recipe, some confirm impossibility.
Standard bsp-editor have checkbox-es for change Preloader functionality in sources, boot not from SD-card with Linux, and from QSPI flash with filled Preloader on address 0 and application on 60000, and in practice this not work, only Linux from SD! RTOSes I not touch. I entreat Altera in detail describe this processes, because available some allusions and even is not known, where utilite must make binary image for fill application in flash and with what keys. In debugger by run both Preloader and from it my HWLIB from QSPI is clear, what not handled exception "SVC 12345" in system libraryes with call to supervisor for semihosting: work with host files as stdin, stdout and from disk. In debugger this exception is wonderful handled (if semihocting enabled), and program interact with consoles and filesystem, and in "bare" boot first ASM command "SVC 12345" right away hang. For my research I write semi-simulating handler in Preloader and may start with rbf downloading and LED blinking, and all wait Altera with officially promulgate sources of compatible with any flash-device non-semihosting starting Preloader ! May will be this in 14.1, may in 15.0 version... In OSes or RTOSes, probably, is a similar handler, or they not using HWLIB with SVC interface. For Linux really used other compiler. ...All Boot Guides I read 2 month from april and battle with obscure problems, scream on forums, while perceive truth... :) P.S. Link www.altera.com/literature/an/an709.pdf is recently, in July, its glad as Altera work, in a year may be result ! :) Where I may subscribe to Altera distribution on SoC- and Baremetal-changes on site ? In ug_soc_eds.pdf, my base document, this not described. In 709 many orthographical, punctuation and meaning errors, idea of Minimal Preloader or Custom Preloader, if BareMetal incorporates to its in 64K of available in HPS hi RAM, very not-good -- very small my code be located and badly debugged on Release. And direct execution of Preloader with big size may be only on FPGA fabric boot. If Preloaders may be max size 1 M (4, 16, ... etc. optional through BSEL pins) and these distantion with copyes, direct execution from flash sources... Good idea -- boot from FPGA if booting from flash is unsuccessful, as a fallback. Its if FPGA boots without fails :) And I want configure FPGA from HPS: this very safely. When I found HelloWorld sources contain files "test.c", "io.c" and "Debug-unhosted.ds" (in 13* and 14* SoC EDS used "hello.c"), then try next stages of writed in 709. May be, in application not using HWLIB (base of Altera for work with peripheral), and only with RS-output "Hello!", she start anyway from flash. And .ds-file-extension says me about armcc-compiler in compiling toolchain, licension of these not included in SoC CV kit!.. :)