17.11.2012 Views

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

Soft-Core Processor Design - CiteSeer

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

code) is provided [47]. Both printf routines use the system UART to send data to the terminal<br />

program.<br />

Many other software routines providing system-level services and C runtime support are also<br />

included in the SDK. System level service routines include a simple interrupt handler routine<br />

installer and a time delay routine. C runtime support routines include start, exit, read, write and<br />

memory allocation routines. The start routine performs the steps necessary for successful<br />

execution of the compiled C program. These steps include setting the stack pointer value, setting<br />

the starting heap address, zeroing the bss segment, and finally calling the program’s main routine.<br />

The exit routine performs a jump to a predefined address, usually the reset address, which<br />

effectively restarts the execution of the program. A memory allocation routine allocates more<br />

heap space, while read and write routines receive or send a single character using the UART.<br />

Detailed description of software routines can be found in [47].<br />

The SDK also provides a simple monitor program (GERMS) running on a Nios system to<br />

provide a simple interface for downloading and running the compiled programs. GERMS is a<br />

mnemonic for the minimal set of the monitor commands (Go, Erase flash, Relocate, Memory,<br />

Send S-record).<br />

The SOPC Builder can be used to build all the software for the system at design time. It builds<br />

customized libraries and user software using a set of tools included in the GNUPro Toolkit for the<br />

Altera Nios [48]. The GNUPro is a commercial software development tool suite built around the<br />

open source GNU standard [49]. The tools can also be used independently of the SOPC builder to<br />

modify the existing or develop new software. GNUPro toolkit includes C/C++ compiler, linker,<br />

assembler, disassembler, debugger, profiler, simple terminal program, and other auxiliary tools.<br />

The documentation [48] provided with GNUPro Toolkit gives reference to the “built-in<br />

simulator” that could be used for debugging programs without actually downloading them to the<br />

hardware. However, the files associated with that simulator could not be found in the specified<br />

folder, or anywhere on the hard drive or the installation disk. Probable reason is that the<br />

information in [48] is outdated, since no other more recent document references this feature.<br />

In this chapter we have presented the Altera Nios architecture, and the system design flow for<br />

systems that use the Nios soft-core processor. The next chapter presents the UT Nios, which is a<br />

Nios implementation developed as a part of this work.<br />

27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!