Nios/uCOS II笔记---软件使用综合

Quartus II 11.0、NIOS II 11.0

XX、HDL设计:

1)NIOS内核设计:

       使用Qsys自带IP:

              CLK

              Reset

              NIOS Processor

              Peripherals

       使用自定义IP:

             按照Avalon规范编写HDL

             进行IP仿真测试

             添加到Qsys工程目录

             设置参数添加到kernel

2)HDL模块设计:

       使用Quartus自带HDL模块:

              PLL

              Storage

              Logic

       使用自定义HDL:

              Reset

             数据处理和控制

3)配置引脚

4)编译仿真

5)硬件测试

 

XX、生成NIOS内核

       1)创建Quartus II工程

       在Quartus II界面,菜单File->New Froject Wizard,点击Next,进入Page1,指定工程所在目录,需要自己先创建文件夹,软件不会自己帮你创建文件夹的,第二项project name输入工程名字,英文与数字组合,不能有空格等其他字符,第三项保持默认。点击Next进入Page2添加文件,直接点击Next跳过,要添加文件等工程建好了也可以添加的,进入Page3,选择FPGA器件系列Family,在下面选择芯片名字,都是根据使用的FPGA芯片来选择,其他默认,点击Next,进入Page4,EDA工具设置,可以默认不动,到后面需要使用EDA工具的时候还可以设置,点击Next,进入Page5,点击Finsh。

       2)创建顶层原理图文件

       在Quartus界面,菜单File->New,选择Block Diagram/Schematic File,点击OK,菜单File->Save as,选择工程所在文件夹,文件名保持默认,要与工程名相同,作为顶层原理图文件,<project_name>.bdf,如果不是新建顶层原理图文件则可以自己命名,点击保存。

       3)创建nios内核

       在Quartus界面,菜单Tool->Qsys,或者在工具栏点击Qsys,打开Qsys工具,打开后 在System Content栏可以看到已经有一项clk_0,双击它修改时钟速度,可设的时钟范围请参考FPGA芯片手册。然后依次从左边Library中双击或者点Add按钮,添加Nios II Processor,Core Nios II中根据需求选择Nios II/e或其他内核,Nios II/e功能最简单,占用资源最少,其他默认,点击Caches and Memory Interfaces,根据需要设置,也可以默认,点击Advanced Feature,默认不动,点击MMU and MPU Settings,默认不动,点击JTAG Debug Module,选择Level 1或其他,没有特殊要求就选择Level 1,功能最少占用资源最少,然后点击Finish,完成Nios Processor的添加。添加System ID,在Peripherals中选择Debug and Performance中选择System ID Peripheral,双击添加,参数可以默认,点击Finish完成添加。添加JTAG UART用于调试,在Interface Protocols中选择Serial选择JTAG UART,双击添加,参数默认,点击Finish完成添加。添加Memory,若没有片外存储器则可以使用片内存储器。添加On-Ship-Memory,点击Memory and memory Control,选择On-Chip,选择On-ChipMemory(RAM or ROM),双击它,设置Memory Type为RAM或ROM,Data Width默认为32为,Nios处理器为32位的,memory size根据芯片总共有多少memory资源和自己需要用到多少来设置,其他默认不动,点击Finish完成。添加定时器,在Peripheral中选择Intel Timer,参数没有特殊要求的话保持默认即可。若有片外存储器Flash/DDR等,还需要分别添加,并根据存储器实际参数来设置控制器的参数。连接组件,组件添加完成后,需要将各种组件连接起来,clk、clk_reset、data_master、instruction_master等,可以根据提示点击空心圆,变成实心则表示已连接。分配地址,可以自动分配,菜单System->Assign Base Addresses,也可以在Addresses Map栏手动设置地址。分配中断,可以自动分配,菜单System->Assign Interrupt Number,也可以手动在System Contens栏中IRQ中设置中断号。设置nios porcessor复位和中断地址,双击组件nios processor,在Reset Vector Memory和Exception Vector Memory选择存储器,偏移地址和绝对地址一般保持默认,点击Finish。组件添加完成后,点击File->Save保存,然后再Generation中设置生成内核目录和名字,一般设在HDL工程目录然后在后面填写/kernel,注意不需要单独在工程下新建一个kernel文件夹,就让他保存在工程所在目录,不然等下在Quartus原理图中添加nios内核时在project中找不到它,最下面那一项synthesis目录默认,生成的内核名字为kernel.qip。

       4)在Quartus界面顶层原理图中添加前面生成的nios内核

       双击原理图文件空白位置,选择Project->kernel,双击添加到原理图。

       5)添加锁相环PLL

       6)编写其他HDL文件

       7)添加和绑定引脚

       Tool->Pin Planner

       8)编译工程

       若HDL与NIOS编程是分开进行的,则内核生成之后其他HDL部分就不用管了,直接根据内核创建NIOS工程,进行NIOS软件编程,其他HDL部分由他人完成。

 

XX、创建软件工程

       1)打开Nios II软件

       2)设置workspace,一般设置Nios工程上级目录,如整个工程总目录为DM648_CAN,它的下面包括HDLMain和NIOSMain两个目录,分别存放FPGA程序和NIOS程序,那么可以将workspace设为NIOSMain,工程创建完成后NIOSMain下面会包含三个文件夹.metadata、<project_name>、<project_name>_bsp分别为workspace信息,工程文件和BSP文件。

       3)创建工程

       在Nios软件界面,菜单File->New->Nios Application and BSP from Template,SOPC File选择我们前面Quartus生成的kernel.sopcinfo文件,CPU name不变,填写工程名字如project_name,可以使用默认位置,如自己设置目录,则去掉Use default location,选择NIOS总目录MIOSMain,然后在后面添加\<project_name>,点确定,这样他自己会以工程名创建目录,点击Next,填写BSP工程名字,一般以nios工程加_bsp命名,<project_name>_bsp,选择目录,如nios工程使用的是默认目录这里也应该默认,如nios工程是自选目录这里也应该自选目录,去掉Use default location,选择NIOS总目录NIOSMian,然后在后面添加\<project_name>_bsp,选择HelloWorld Template模版或者其他模版,点击finish完成。nios工程名CAN,Nios工程目录D:\works\CAN\FPGAFrame\NIOSMain\CAN,BSP工程名CAN_bsp,BSP工程目录D:\works\CAN\FPGAFrame\NIOSMain\CAN_bsp,注意必须Nios工程和BSP工程位置和名字必须对应,否则容易出错。

       4)生成BSP

       在Nios软件界面,点击工程目录中的BSP工程,右键->Nios II->Generation BSP

       5)编译Nios工程

       在Nios软件界面,点击工程目录中的Nios工程,右键->Build Project,编译成功会显示生成的.elf文件信息,程序和堆栈大小

       6)添加自己的应用程序

       Nios最小工程编译通过后,可以添加自己的应用程序了。

 

Nios新建目录

       右键点击工程New->Folder,选择新建目录的位置,输入目录名字Folder name。

Nios新建文件

       右键点击工程New->Source File/Header File,选择目录,输入文件名字,点击Finish。

Nios添加源文件

       没有找到具体的办法。可以将源文件放在工程中某一个目录下,右键点击这个目录,选择Refresh,则文件自动添加进来。

 

修改Qsys后Nios的操作:

       每次更新Qsys系统后,都必须在软件工程的bsp文件夹,右键Nios II->Generate BSP,重新生成配套的BSP。不需要重新创建NIOS工程。

 

Nios设置包含文件路径:

       在Nios II软件界面,右键Nios工程文件夹,选择最后一项Properties打开属性对话框,右边打开Nios II Application Properties下的Nios II Application Paths,在Application include directories右边点击Add…添加头文件目录,还可以在相应位置设置其他文件路径。

你可能感兴趣的:(II,ucos,nios)