yuedx的个人空间 https://blog.eetop.cn/317611 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

怎样建立一个NiosII系统!

已有 1301 次阅读| 2009-3-9 21:09

1.

C:\ 下建一个名为 altera_trn 的文件夹。将实验文档 nios_II_lab.rar 复制并解压到该文件夹下。解压后生成的 nios_II_lab 文件夹中包含了本次实所需的文档。

2.

启动 Quartus II6.0 软件,通过选择菜单 File => Open Project... 打开 nios_II_lab 下的 nios_II_lab.qpf 项目文件。

3.

下面我们开始建立一个NiosII嵌入式系统。通过菜单 Tools => SOPC Builder... 启动 SOPC Builder 工具软件,并在随后弹出的对话框中给我们要建立的系统取名NiosII。我们还可以在这个对话框上选择一种我们熟悉的HDL语言,SOPC Builder 工具软件将使用这种HDL语言描述我们所要的系统。进入 SOPC Builder 主界面后,设置 Target Device FamilyCyclone , 确认系统时钟设置为66.0MHz。

4.

从左手边的“元件池”窗口中选中 Nios II Processor 点击 Add 按钮。在随后弹出的属性对话框的 NiosII Core 页上先择 Nios II/e 型选项。

5.

点击 Jtag Debug Module 表头,进入 Jtag Degug Module 属性页面。选择 JTAG Target Connection Download Level 1 选项,点击 Finish 按钮,加入系统。

6.

用鼠标右键点击刚加入的 Nios II Processor 组件,在右键菜单中选择 Rename 命令,然后输入 cpu ,按 Enter 键,将其更名为cpu。

7.

从左手边的"元件池"中的 Memory 组中选中 SDRAM Controller ,点击 Add 按钮。在属性对话框中设置 Data Width 为16bits,设置 Row 为12, 设置 Column 为8, 设置 Chip Selects 为1, 设置 Bank 为4,然后点击 Finish 按钮,加入系统。使用右键菜单的 Rename 命令将其更名为sdram。

window.google_render_ad();

8.

从左手边的"元件池"窗口的 Memory 组中选中 Flash Memory (Common Flash Interface) 元件,点击 Add 按钮。在随后弹出的属性对话框的 Presets 复选框中选择 TE28F320J3A-110(BYTE mode) 选项,Address Width 自动设为22,Data Width 自动设置为 8。将 Reference Designator 设置为U202,点击 Finish 加入系统。通过右键菜单的 Rename 命令将其更名为 ext_flash

9.

从左手边的“元件池”的 Communication 组中选择 JTAG UART 元件,点击 Add 按钮。选中两个 Construct using registers instead of memory blocks 选项,如下图所示。

10.

点击 Simulation 表头,选择 Create ModelSim alias to open a window showing output as ASCII text ,点击 Finish 按钮,加入系统,使用右键菜单的 Rename 命令将其更名为 jtag_uart

11.

从左手边的“元件池”的 Other 选择 PIO (Parallel I/O) 元件,点击 Add 按钮。在属性对话框中,设置 Width 为16 bits, 选择 Output ports only 选项。点击 Finish 按钮,加入系统。使用右键菜单将其更名为 seven_seg_pio

12.

从左手边的“元件池”的 Other 选择 PIO (Parallel I/O) 元件,点击 Add 按钮。在属性对话框中,设置 Width 为8 bits, 选择 Output ports only 选项。点击 Finish 按钮,加入系统。使用右键菜单将其更名为 led_pio

13.

从左手边的“元件池”的 Other 选择 PIO (Parallel I/O) 元件,点击 Add 按钮。在属性对话框中,设置 Width 为4 bits, 选择 Input ports only 选项。点击 Finish 按钮,加入系统。使用右键菜单将其更名为 button_pio

14.

从左手边的“元件池”的 Other 组中选中 Interval Timer 元件,点击 Add 按钮。接受默认设置,点击 Finish 按钮,加入系统。使用右键菜单,将其更名为 sys_clk_timer

15.

从左手边的“元件池”的 Other 组中选中 Interval Timer 元件,点击 Add 按钮。将 Period 改为1usec,点击 Finish 按钮,加入系统。使用右键菜单,将其更名为 high_res_timer。在以后的实验中,我们将使用这个定时器测定软件的执行速度。

16.

从左手边的“元件池”的 Other 组中选择 System ID Peripheral 元件,点击 Add 按钮,加入系统。

17.

从左手边的“元件池”的 Bridges 组中选中 Tri-State Bridge 元件,点击 Add 按钮,选中国 Registered 选项,点击 Finish 按钮,加入系统。

18.

确认所有组件的基地址都是有效的,也可使用 System => Auto-Assign Base Addresses 命令进行自动分配。

19.

点击 Next 按钮,在这一页上设置CPU的 resetexception 地址。将 Reset 地址设到 ext_flash 中,将 Exception Address 地址设到 sdram 中。点击 Next 按钮确认。

20.

在这一页上,去掉 Simulation 选项的标记。

到此,你的系统应该如下图所示:

21.

通过 File => New board description 菜单命令启动 Board description editor 工具软件。在 Flash Memory 设置页上加入一个 CFI Flash Memory 型Flash存贮器,取名U202。 再加入一个 EPCS Serial Flash Memory 型Flash存贮器。在 device U202 中加入一个 image ,取名img,其 offset 设定为0x300000。点击 Finish 按钮。

22.

SOPC Builder 的主界面上,设定 Target boarduntitled

23.

现在点击 Generate 按钮,SOPC Builder 开始创建所求的系统。

24.

SOPC Builder 工具完成系统创建之后,回到Quartus II6.0软件界面。双击原理图,打开元件浏览器,在 Project 组里选项择 niosII 模块。

25.

点击 OK 按钮,把模块入原理图,如下图所示。模块的引脚刚好同预先定义的各个端口或引线对齐,如果不是这样,请回到 SOPC Builder 中,检查你的设计。

26.

保存原理图,通过 Processing => Start Compilation 菜单命令启动编译。编译成功,我们的NiosII 嵌入式系统就构建出来了。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 13

    粉丝
  • 1

    好友
  • 35

    获赞
  • 156

    评论
  • 4698

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 12:15 , Processed in 0.014318 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部