| 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 网上商城 | 芯片价格参考 | 留言 | 论坛 | 网络协议 | 驱动设计 | 购买指南-HowtoBuy | 
您现在的位置: FPGA开发板 FPGA 开发板 SOPC开发板 DSP开发板 视频开发板 -嵌入式控制研究室 >> SOPC >> SOPC入门 >> 文章正文 用户登录 新用户注册
NIOS II学习笔记          【字体:
NIOS II学习笔记
作者:佚名    文章来源:网友    点击数:    更新时间:2005-10-6

学习Nios Development Board Reference Manual, Stratix II Edition。
(1)在使用Nios II SDK Shell试运行./restore_my_flash时,发现restore_my_flash会区分目录名的大小写,因此使用Nios II SDK Shell时最好注意大小写一致。(2)restore_my_flash.pl为perl脚本,可以直接修改后直接执行。(3)restore_my_flash不能正常取得命令行参数,但这不影响恢复出厂设置的操作,因为restore_my_flash可以不依靠命令行参数来执行。(4)最好不要移动NiosII的安装目录,例如restore_my_flash就会从目录名中提取内容生成需要的文件名。(5)恢复出厂设置需要.sof和.flash两个文件,估计.sof用于生成最小的nios系统,以便将.flash文件下载到Flash中。(restore_my_flash提示使用J24 JTAG连接器,该连接器是用于配置StratixII器件的。)



       学习Creating Multiprocessor NiosII Systems Tutorial。
        在standard设计的基础上修改了NiosII系统,又添加了两个NiosII处理器及各自的定时器、共享互斥锁、消息缓冲区。编译、运行和调试了hello_world_multi程序。
        给我的感觉是:(1)SOPC Builder中设置的NiosII的Reset和Exception地址很重要;(2)QuartusII生成的编程文件中包含有NiosII处理器的复位地址;(3)NiosII IDE的编译会生成绝对地址的代码和数据;(4)NiosII IDE通过NiosII处理器中的jtag_debug_module重定向程序的执行地址;(5)上电或复位后,NiosII处理器从复位地址(通常指向Flash)处执行Boot Loader,将程序拷贝到Ram中并在Ram中执行;(6)Exception地址确定了程序拷贝到Ram中的位置,Exception地址的低位总是0x20,NiosII处理器跳转到Ram执行时先执行低位地址为0x00的指令(用于初始化指令cache),之后执行低位地址为0x20处的系统启动代码。
        NiosII多处理器设计的注意点:(1)不支持SMP(对称多处理),只支持不对称的(每个处理器执行不同的程序);(2)处理器之间可以不共享资源;(3)同一程序存储器中的各处理器的代码空间不能重合(通过Reset和Exception地址实现);(4)共享数据存储器最好用硬件共享互斥锁结合软件操作的方式来实现,不支持纯硬件的共享方式(如果软件不使用硬件互斥锁,仍然会有访问冲突),纯软件的共享方式有使用限制并且较复杂;(5)软件共享互斥锁只适用于同一处理器的不同进程之间共享资源;(6)NiosII HAL library不支持共享外设(涉及中断处理、外设输入数据的处理等),Altera建议由固定的处理器管理相应的外设,其他处理器要使用该外设可以通过消息缓冲区的方式;(7)不同于单处理器设计,多处理器设计一定要明确规定每个组件的总线连接点;(8)只要由不同的处理器访问,两个组件可以有相同的地址;(9)由设计人员保证各处理器使用的代码空间是足够的、不发生覆盖的;(10)多处理器的软件的运行、调试可以一起或分别启动、终止,NiosII 5.0暂不支持一起暂停、再继续,“一起”不是“同时”。



       学习Nios II Flash Programmer User Guide。
       关键点在于:(1)Quartus II的Programmer只支持FPGA和配置器件;(2)Flash Programmer只支持CFI接口的Flash或EPCS配置器件,但可烧入配置文件、软件代码和任意数据;(3)使用Flash Programmer需要生成Target Board及生成Flash Programmer可编程逻辑设计,并在实际项目SOPC Builder流程中指定该Target Board;(4)Boot-Copier Program是Nios II IDE自带的,当软件代码位于Flash或EPCS中时由Flash Programmer自行使用,不同的是对Flash而言Boot-Copier Program放在Flash中,对EPCS而言Boot-Copier Program放在EPCS serial flash controller包含的on-chip ROM中;(5)上电或复位时,Nios II从Boot-Copier Program开始执行(不论是Flash或EPCS),这要求SOPC Builder流程中指定复位地址为Flash或EPCS serial flash controller。

文章录入:rouder    责任编辑:rouder 
  • 上一篇文章: 没有了

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    SOPC技术在电力机车改造中的…
    基于SOPC技术的核信息远程采…
    把SOPC Builder用于非Nios系…
    SOPC自定义模块的添加和接口…
    基于FPGA的线阵CCD数据采集系…
    NiosII开发常见问题
    应用SoPC Builder开发电子系…
    nios ii的 中断
    nios flash read/write
    sopc Flash Programmer,nios…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)