Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

ARM DS-5 and DE10-Nano

Altera_Forum
Honored Contributor II
6,184 Views

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:
0 Kudos
11 Replies
Altera_Forum
Honored Contributor II
1,891 Views

I'm pretty sure you can't. Bare metal design requires a license.

0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

Hi, you can request for a 30-days trial license from ARM. Not much, but hopefully it can help.

0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

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....

0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

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)
0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

 

--- 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?:))
0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

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 world 

 

To 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
0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

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?
0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

You need to launch eclipse from the SoC EDS command shell in order for the environment to be set correctly.

0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

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?
0 Kudos
WKhad1
Beginner
1,854 Views

Hello,

I'm stuck at the same problem.

have you found the way to create  a SD card with the ( preloader  + bare-metal + rbf )

Thanks in advance

0 Kudos
Altera_Forum
Honored Contributor II
1,891 Views

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/socswws1introtoalterasocdeviceslab3baremetalapplication
0 Kudos
Reply