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++
12589 Discussions

Just Getting Started: General Questions

Altera_Forum
Honored Contributor II
2,215 Views

I'm just getting started, I'm new to the Altera Cyclone V SoC, I have some experience with Eclipse (TI OMAP), and I'm far from a C expert. Although my first language was machine code entered through a hex keypad (many, many moons ago). 

 

I purchased a DE0-Nano-SoC board for home use, its got a Cyclone V (5CSEMA4U23C6) dual Cortex A9. (To get up to speed at Work)! 

 

I downloaded and installed the "SoCEDSSetup-15.0.1.60-windows.exe" and got a DS-5/Eclipse Ultimate Edition 30 day license. 

 

I used the "Altera Soc Embedded Design Suite User Guide" to get both a GCC Bare Metal and an ARM Compiler Bare Metal C "Hello World" program running. 

Total success! 

 

first question: Is the "Altera Edition" just a subset of the "Ultimate Edition" of the toolkit? Cause I'm using the Ultimate Edition and I don't want to be missing anything "Altera" related that's either required or is going to make my life more difficult. 

 

second question: If money is not an issue (at work), then what are the real differences/pros and cons associated with using the ARM Compiler tool chain as opposed to the GCC tool chain, I mean in terms of capabilities, and things like integration with the Altera Hardware tool suites? Keep in mind that my first deliverable application will be bare metal, after that a commercially available RTOS will be ported and used. 

 

third question: I'm having a hard time getting past a bare metal "hello world" program using the ARM compiler. I'm trying to use the "Hardware Library" for bare metal development using the ARM compiler tool chain. I figured getting a few lines of text out of the UART would be a good place to start, and then move onto substituting an alternative "printf" routine to get things out of the same UART, that would put a smile on my face and get me past the "idiot" feeling I'm having right now. is there any documentation, previous threads, or specific examples someone can point me to? I've tried copying the include and source code files from  

"C:\altera\15.0\embedded\ip\altera\hps\altera_hps\hwlib" but had to start guessing at what the correct defines were to clear up some of the errors associated with specific instructions not being supported (in some asm( ) statements) and deleting some of the ".s" files in order to get things through a build, but things just did not work. Also some of the examples that are supplied seem to indicate that they are targeted for the ARM tool set but seem to use the GCC tool set.  

 

I believe I may have to take the hwlib questions to another thread but any feedback would be greatly appreciated. 

 

Thanks 

 

Billy
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
1,424 Views

The DE0-Nano has a Cyclone IV, not a V!

0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

Thank you I corrected it to DE0-Nano-Soc.

0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

Wow, sixty views so far and I get corrected on the name of a product. Real chatty place! I guess maybe Altera really is just a hardware company. I wish I knew this before I selected their chip.

0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

Dude don't you get it. Altera, hardware, da! Ask these folks how to create a neural net from spare flip flops and they'll be all over you. Ask them how to get started with your glorified hello world program and jack it up into a hal based uart program and you'll be checking for posts all day long. 

 

As for the first two questions you'd be better off asking some sales guy at Altera or maybe even ARM.  

 

As for the UART question just drop the hwlib and scr folders into your ARM bare metal project and start slashing away at (notice I didn't say hack at it) until you clear up all of the errors. You may have to get into the settings and set the CPU to cortex-A9 and set the language to -c99 in order to clear some errors up. Then just rename some of the (.s) files and the (gcc) files and you should get it to compile. 

 

The next thing is to start looking at some of the gcc bare metal uart examples to get the flow. Check all the status returns coming back, they will help you figure out things like, hey enable the peripheral clock! 

 

happy hunting dude! 

 

SWGuild
0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

Bro ...... aware that you having some blocking in the SOC game, you might missed some of the step that gets you into trouble. At least, maybe to load a most simple hello world to confirm the whole setup first..

0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

 

--- Quote Start ---  

Wow, sixty views so far and I get corrected on the name of a product. Real chatty place! I guess maybe Altera really is just a hardware company. I wish I knew this before I selected their chip. 

--- Quote End ---  

 

Insults almost never convince people to help you.
0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

Fantastic, so far two of the three replies are really good, one that corrected me on a product name, and now a morality lesson.

0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

1) Altera Edition is a subset of Ultimate Edition that can program more devices and have more features. 

2) GCC is not good as ARM compiler. GCC is better under Linux, on Windows there are problems with NEON. 

3) Use ARM as application processor under Linux, baremetal programming is not easy.
0 Kudos
Altera_Forum
Honored Contributor II
1,424 Views

I think you need to download the de nano soc cd content to have their document a read as well

0 Kudos
Reply