Guidelines for Developing a Nios II HAL Device Driver

ID 683146
Date 6/12/2015
Public
Document Table of Contents

1.2.5. Verifying Software Functionality

This example demonstrates how you can verify hardware functionality by specifying an explicit, hard-coded memory address. In the Nios II SBT for Eclipse Project Explorer tab, in the Nios II Project Explorer view, expand the bit_bang_uart project, and open bit_bang_uart.c. In the main() procedure of bit_bang_uart.c, you can see that the first call to IOWR() uses a hard-coded base address of 0x80 for uart1.

Using a hard-coded address can be helpful when you first bring up new hardware, to rule out any software errors, such as C pointer reference software coding errors, in obtaining the peripheral's memory-mapped registers base address. This technique provides confidence that your software is referencing the actual hardware peripheral register.