第5讲 SO与PC Builder使用简介 .ppt
文本预览下载声明
// altera_avalon_uart #define na_uart1_base 0#define na_uart1_irq 26 #define na_timer1 ((np_timer *) 0 // altera_avalon_timer #define na_timer1_base 0#define na_timer1_irq 25 // ---------------------------------------------- // Timer Peripheral // Timer Registers typedef volatile struct { int np_timerstatus; // read only, 2 bits (any write to clear TO) int np_timercontrol; // write/readable, 4 bits int np_timerperiodl; // write/readable, 16 bits int np_timerperiodh; // write/readable, 16 bits int np_timersnapl; // read only, 16 bits int np_timersnaph; // read only, 16 bits } np_timer; // Timer Register Bits enum { np_timerstatus_run_bit = 1, // timer is running np_timerstatus_to_bit = 0, // timer has timed out np_timercontrol_stop_bit = 3, // stop the timer np_timercontrol_start_bit = 2, // start the timer np_timercontrol_cont_bit = 1, // continuous mode np_timercontrol_ito_bit = 0, // enable time out interrupt np_timerstatus_run_mask = (11), // timer is running np_timerstatus_to_mask = (10), // timer has timed out np_timercontrol_stop_mask = (13), // stop the timer np_timercontrol_start_mask = (12), // start the timer np_timercontrol_cont_mask = (11), // continuous mode np_timercontrol_ito_mask = (10) // enable time out interrupt }; // Timer Routines int nr_timer_milliseconds(void);// Starts on first call, hogs timer1 其中,前缀na_和np_分别代表Nios 地址和Nios外围设备。外围设备的基地址是由SOPC Builder 给分配的。用户必须将这些基地址指定为 na_外围设备名。类似地,可以以C语言中的结构类型来指定寄存器为np_寄存器名。使用这些名称而不直接使用绝对地址,这样如果内存地址映射有所变化,用户也不用更改程序代码。 (2) lib。该目录包含了一些库文件。如果元件支持GNU工具,SOPC Builder就会在系统生成过程中编译库文件。 (3) src。该目录包含了源代码。用户可以用任何一种文本编辑器来更改源代码和为系统编写软件。用户可以使用Quartus?Ⅱ的文本编辑器,它支持语法高亮显示C/C++。Altera 推荐用户保存用户的源代码到下面的任意一个路径中: ·???? src目录; ·???? src目录下的一个子目录; 在SDK中和src目录为同一级的目录。 注意:SDK只在Nios处理器系统中产生,若使用Nios?Ⅱ处理器,则在生成选项中没有这一项。 2.HDL 当用户选择了HDL选项时,SOPC Builder就会以Verilog HDL或VHDL语言的形式生成系统级的硬件描述语言(HDL)文件。使用Verilog HDL 还是VHDL,由用户在SOPC Builder 里建立系统时指定。HDL文件包括: (1) 系统中每一个元件的实例。 (2) 元件之间
显示全部