NiosII常见问题解答
- 格式:pdf
- 大小:387.61 KB
- 文档页数:31
flash的数据线必须是双向引脚
地址线的连接需要小心,举个例子 对于地址线22位、数据线16位的flash器件而言,SOPC Builder生成 的NiosII系统顶层文件将包含23位的flash地址线:addr[22..0], 此时应当把flash器件地址线addr[21..0]与顶层文件的 addr[22..1]互连;
z 内建的CFI Table错误识别和重载
对于已知的某些flash器件的CFI Table问题,flash programmer已经 包含了校对代码来识别和纠正它们;此种情况下,对flash programmer使
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
Value does not match;
运行NiosII IDE中内嵌的软件模板‘Memory Test’,执行‘Test Flash’
操作,如果该操作返回失败,则可能是下面两个原因导致的:
z 目标板的物理连接有问题,例如
flash器件的引脚与FPGA对应引脚互连不正确
flash器件的供电有问题
目 录 ......................................5
1 硬件开发....................................7
1.1 Flash Programmer ........................7
1.1.1 No CFI Table...........................7
作者:蔡伟纲
NiosII 之
常见问题解答
作者: 蔡伟纲
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
1
作者:蔡伟纲
联系作者
本文档源于作者博客网站,作者将持续更新 和完善本文档内容,欢迎关注和收藏作者博客。
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
4
作者:蔡伟纲
目录
联系作者 ......................................2
<NiosII软件架构解析>新书介绍 ....................3
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
7
作者:蔡伟纲
z 打开Nios II Command Shell
z 输入如下的类似信息
相关参数视NiosII系统配置而定,下例假设flash存储器的基地址为0,用 户可以根据实际系统进行修改: nios2-flash-programmer -c 1 --debug --base=0x0
本书书名虽为‘NiosII软件架构解析’,但内容涵盖嵌入式软件开发的方方 面面,主要面向学习或从事嵌入式软件开发的学生和工程技术人员,也可作为相 关专业研究生和高年级本科生的教材。
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
3
作者:蔡伟纲
8
作者:蔡伟纲
用--debug参数时,flash programmer会显示如下信息: "Override data for this device is built in"
根据flash器件手册检查flash各个控制线的状态是否正确;
检查所选flash是否为标准CFI Flash器件
如果所选flash不是标准的CFI Flash器件,flash programmer对此类flash 操作时,得到的CFI Table通常包含错误信息,从而导致无法正确完成编程操作; 针对此类问题,flash programmer提供了下面三种方法来解决问题,下面将对 它们进行简要介绍,更详细的信息请参考Nios II Flash Programmer User Guide.pdf,其下载链接为: /literature/ug/ug_nios2_flash_programm er.pdf 另外需要注意的是,不是所有符合CFI标准的flash都在flash programmer中 通过验证,Nios II Flash Programmer User Guide.pdf中提供了已经通 过测试的flash器件清单供用户参考;
CFI Table简介
CFI Table包含了flash器件的相关信息,如flash的容量、flash的分区数目、 每个分区的大小、擦除时间、字编程时间等等信息;flash programmer在对 flash进行编程之前,首先要获取这些信息,然后才能对flash进行正确的编程操 作;将flash programmer运行于命令行模式,利用--debug选项即可得到flash 存储器的CFI Table:
2.1.2 There are no Nios II CPUs with debug modules available which match the values specified ....19
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
5
作者:蔡伟纲
¾ 解决方案
上述错误说明flash programmer已经和NiosII的JTAG Debug Module通信成功, 但是无法正确完成参数所指定的基地址上的flash器件的查询操作;下面提供此问题的 解决方案;
为NiosII系统添加sysid核,以确保软硬件同步;相关介பைடு நூலகம்请参考System ID
1.1.2 No EPCS layout data...................10
1.1.3 SOF offset is invalid.................11
1.1.4 No EPCS registers found...............12
1.1.5 System does not have any flash memory.13
2 软件开发...................................17
2.1 软件调试.................................17
2.1.1 nios2-download requires a debug core to access the target processor ...................17
CFI是一种flash接口工业标准,它为各个flash器件供应商提供了统一的接 口定义;更详细的介绍请参考下面的网页链接:
/design/flash/swb/cfi.htm
flash programmer可运行于下面两种模式
z IDE模式
NiosII IDE为flash programmer提供了图形用户界面,该模式可满足绝 大部分的flash编程要求;
2
作者:蔡伟纲
<NiosII 软件架构解析>新书介绍
本书以Altera公司的技术资料为蓝本,结合作者多年的Nios软件开发经验 及长期在EDACN专业论坛NiosII版块担任版主积累的心得,首先从复位、中断、 编程环境、设备驱动以及应用程序二进制接口5个方面对NiosII软件架构进行 横向揭密,接着又从汇编语法、makefile、链接脚本、调试手段以及开发技巧 等多个角度对NiosII软件架构进行纵向解析,纵横交错层层揭开了NiosII软 件架构的真面目,既可作为NiosII嵌入式软件开发的中高阶指导书,也可作为 NiosII软件开发手册。
1.1.6 FAIL
Reading System ID at address 0x<address>: 14
1.1.7 Base address not aligned on size of device 15
1.2 Altera参考开发板 .........................16
1.2.1 配置文件下载失败 ........................16
您可以通过
给作者发送e-mail,作者会阅读所
有来信,但可能因收信量过大而无法及时对所有邮件作出回复。欢迎在信中提供
下列信息,为本文档的完善贡献您的一份力量:
您对本文档某个问题的不同见解;
您所遇到的新问题(请提供问题的详细信息);
您已有且本文档未收集的问题小结;
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
¾ 相关背景
NiosII IDE集成的flash programmer支持下列两类flash器件的编程
z Altera的EPCS串行配置器件
详细资料请参考下面的网页链接: /literature/lit-config.jsp
z CFI Flash(Common Flash Interface)
本文档版权归作者所有,未经作者同意不得翻印、抄袭或公开传播;转载或引用请征求作者同意.
6
作者:蔡伟纲
1 硬件开发
1.1 Flash Programmer
1.1.1 No CFI Table
¾ 问题描述
运行flash programmer对CFI Flash进行编程时,报下面的错误: "No CFI table found at address <base address>"
z 命令行(CLI)模式
对于高级用户,命令行模式(运行于NiosII Command Shell环境)为用户 提供了对flash programmer所有属性的完全控制,但是用户必须自行配置 参数;提示:在IDE模式下,flash programmer运行时会自动生成一个脚 本文件(位于C/C++项目目录下Debug或Release文件夹中,名为<Project Name>_programmer.sh),向用户提供整个flash编程操作过程的参数配 置信息,用户可以参考这些信息从而学习如何在命令行模式下进行flash programmer的操作;