Hello guys,I'm participating from the Innovate FPGA 2018 Contest and I would like to know how we can debug the ARM A9 (that comes with the DE10-Nano from terasic) as an Altera target in ARM DS-5 community edition license, btw, when I googled about this, I didn't find any alternative to develop Bare metal applications using DS-5 in DE10-Nano free license version. Does anybody find an alternative to debug bare metal applications in ARM target with free license? :cry: :cry: :cry:
Ok, I'll do that and do you know some examples of ARM Baremetal development for the DE10 Nano?, it seems hard to find some examples of baremetal development for this target....
when you install SoC EDS there are some examples of baremetal located in <quartus version>\embedded\examples\software. If i am not mistaken, these should be generic to all boards. You can find more examples here: https://www.altera.com/support/support-resources/design-examples.html#socdesignexamplesNote that these are mostly called hwlibs as they uses the Altera-provided HAL. For some of these examples (especially the ones that interfaced to outside world) I believe you will need to use your own preloader (rather than the default one for the CV SoC development kit)
--- Quote Start --- when you install SoC EDS there are some examples of baremetal located in <quartus version>\embedded\examples\software. If i am not mistaken, these should be generic to all boards. You can find more examples here: https://www.altera.com/support/support-resources/design-examples.html#socdesignexamples Note that these are mostly called hwlibs as they uses the Altera-provided HAL. For some of these examples (especially the ones that interfaced to outside world) I believe you will need to use your own preloader (rather than the default one for the CV SoC development kit) --- Quote End --- Thanks for the reply Sunshine but I see these examples and as you mentioned, none of these uses outside world peripherals and as I'm getting started I just want to use UART through USB port to debug my programs. About the preloader, I'm not familiar with these structure (I mean boot room, preloader...) but if I understood well, preloader is responsible to configure the peripherals initializing them for the ARM, then when you say that I need to use a different preloader you mean that I need to generate with the bsp-editor, make, etc... all that steps needed to create the new preloader based on my project on quartus/QSYS right? (btw there's a tutorial for these steps?:))
Yes you are right regarding the function of the preloader. The reason you need to update them (for example, DE10 Nano's preloader is stored in the SD Card, you need to update the content of the SD Card to give it a new preloader) is because the default preloader that ships from Terasic is configured to set the UART pins to the HPS, and not to the FPGA worldTo generate the preloader, refer to here: https://rocketboards.org/foswiki/documentation/gsrdpreloader In short, the bsp-editor takes the information from Qsys (for example, the pin muxing information) and generates a project that you can compile (run Make) and To update the SD Card, follow the instruction here (you will need a Linux machine, or a virtual machine running Linux) https://rocketboards.org/foswiki/documentation/gsrdsdcard
Thanks again Sunshine, I'll try to do that but now I've downloaded some examples from intel website (https://www.altera.com/support/support-resources/design-examples.html#socdesignexamples) for Cyclone V and none of these can compile in DS-5 Altera Edition, there's problem with libs missing and others references, this is normal or is there some specific examples to work with DS-5? I've also try to run the examples from C:\intelFPGA\17.1\embedded\examples\software but the same erros appears again....It's hard to develop when the reference project doesn't compile as in the image.https://www.alteraforum.com/forum/attachment.php?attachmentid=14824 Once up I've my SD card ready can I just put the .axf (compiled bare metal) inside the right location and then boot the board to run the application?
Hello sunshine,You're right, I made the correct export path and all works, thanks, but now I've been reading the boot types and I still didn't find a solution for bare-metal application. My goal is to load up a design into FPGA (with the .rbf file) and then load my binary bare-metal application for ARM-A9. Today what I could do is to generate the preloader (preloader-mkpimage.bin) and my FPGA raw files to program (.rbf) but I couldn't find some tutorial of how to generate the u-boot.scr and u-boot.script to program FPGA and load the binary. =/ Btw, if I understood right to loadup the design and boot some bare-metal app you need and SD/MMC with: Partitions: fat32: ------ u-boot.img ------ u-boot.scr ------ baremetalapp.bin ------ soc_design.rbf a2: ------ preloader-mkpimage.bin Am I right about this?
For Cyclone V the uboot needs to be in the raw partition (write using $ sudo dd if=u-boot-cyclone5.img of=/dev/sdx3 bs=64k seek=4, x being the letter assigned by your machine) as the preloader doesn't have FAT support yet. With regards as to how to program the FPGA and launch the baremetal application, I suggest that you try follow the steps here:https://rocketboards.org/foswiki/documentation/socswws1introtoalterasocdeviceslab3baremetalapplicati...