Altera提供FPGA, CPLD和ASIC解决方案
  • 下载
  • 文档资料
  • 产品
    • 器件
    • 设计软件
    • IP
    • 开发套件/电缆
    • 设计和支持服务
    • 资料
  • 最终市场
    • 汽车
    • 广播
    • 计算机和存储
    • 消费类
    • 工业
    • 医疗
    • 军事和航空航天
    • 测试和测量
    • 无线通信
    • 有线通信
  • 技术中心
    • DSP
    • 外部存储器
    • 嵌入式处理
    • 收发器
    • 并行I/O
    • 信号完整性
    • 系统集成
  • 教育与活动
    • 培训中心
    • 大学计划
    • 网络研讨会和视频
    • 演示
    • 活动日程
  • 支持
    • 设计和支持资源指南
    • 知识数据库
    • 器件
    • 软件
    • IP
    • 开发套件和电缆
    • 设计范例
    • 参考设计
    • 下载
    • 用户社区和论坛
    • mySupport
  • 公司介绍
    • 关于我们
    • 客户成功案例
    • 合作伙伴
    • 新闻中心
    • 投资者关系
    • 保护环境
    • 职位招聘
    • 联系我们
  • 在线购买
    • 器件
    • 设计软件
    • 开发和教育套件
    • 电缆和可编程硬件
    • IP
  • 全部页面
  • 产品型号
  • 知识数据库
  • 支持&技术资料
  • 论坛 & Wiki

5.0.1 Errata - Software

主页 > 支持 > IP > Nios II > 5.0.1 Errata - Software
  • Nios® II IDE
    • Building Projects
    • Debugging Projects    
    • Navigating Projects
  • Toolchain (gcc, gdb, etc.)
  • Target Software
  • Legacy SDK
  • Flash Programmer

Nios II IDE

This section lists any issues relating to the Nios II IDE.

Building Projects

[Updated] Error importing a software project created in Nios II IDE version 1.1 to Nios II IDE version 5.0.1

If you create a software project in Nios II IDE version 1.1 and then install Nios II version 5.0.1 and try to import that same project into your workspace, you may get an error stating "Problem deleting folder Debug".

Workaround: If you get this error, close Nios II IDE and any other application which has files open from the project in question, then manually delete the Debug and/or Release directories from the project. Re-import the project in Nios II IDE version 5.0.1.

Building Nios II Advanced using Build Project invokes 'make clean all' by default

Nios II IDE Advanced projects created with earlier (pre-5.0) versions of Nios II IDE will call 'make clean all' by default when the project is built, rather than calling 'make all' Also running Project -> Clean... on these projects has no effect.

Workaround: For advanced projects created with earlier (pre-5.0), right click on the project and select Properties. Select C/C++ Make Project. In the Workbench Build Behavior section, change the value for "Rebuild (Full Build)" to "all". Also check the tickbox for "Clean" and enter "clean" in the corresponding textbox. This will ensure the project invokes 'make all' by default for a build and 'make clean' by default for a clean build. Build errors after changing component names in SOPC Builder

If you rename components in the SOPC Builder system and then regenerate the SOPC Builder system, Nios II IDE system library projects based on that system will have build errors.

Workaround: After regenerating the SOPC Builder system, create a new system library project for the SOPC Builder system. Alternately, you can delete the system library project from the workspace without deleting the contents from the file system, and then re-import the project, selecting the appropriate SOPC Builder system.

Running Projects

There are no errata items in this category.

Debugging Projects

[Updated] Use Step Filters button is permanently grayed out in Nios II IDE debug perspective.

This button, just to the right of the Step Return button, is not implemented in Nios II IDE version 5.0.1.

[Updated] Output to Nios II Terminal is truncated when "Link with profiling library" option is checked on System Properties page.

Output from a printf() or perf_print_formatted_output() call near the end of main() may get prematurely truncated. This occurs when the Nios II application executes a BREAK instruction to transfer profiling data to the development workstation during the exit() or return() from main().

Workaround: Call usleep(500000) which will allow enough of a delay for the I/O to be transmitted over the JTAG UART before main returns (or calls exit()). If output is still partially truncated, increase the delay value passed into usleep(). Use #include <unistd.h> for the usleep() function prototype.

[Updated] Nios2-gdb-server fails to terminate after setting a watchpoint

You may be unable to terminate nios2-gdb-server after setting a watchpoint in the Nios II IDE debugger and resuming execution past the end of main. You will see a "Terminate failed" error. You will not be able to start the debugger again; you'll see a message reading "Another application is using the target processor..." in the Console view.

Workaround: End the nios2-gdb-server.exe process using the Windows Task Manager.

[Updated] Watchpoints will not work when set on variables whose size are not 32-bits

Workaround: Change the type of globals to "int", "long", or "unsigned long" before setting watchpoints on them.

[Updated] Debugger cannot step into __sflags (and just continues instead)

The Nios II IDE debugger is unable to step into some low-level C library functions, such as __sflags which is called from _fopen_r. (_fopen_r is called from fopen.) If you try to step into such a function, execution will continue as if you had indicated the debugger should resume execution.

Workaround: Step over such functions. Or, if execution continues after trying to step in, select "Suspend" from the Run menu.

Missing traced load/store instruction and data Trace View or IndexOutofBoundsException

If the "Include load addresses", "Include store addresses" and/or "Include data values..." trace options is enabled during debug, the load and store address & data will not appear at the first breakpoint when starting debugging. They will appear at successive breakpoints. To see load or store addresses and data in the instruction trace prior to main, turn on “Break at alt_main()” (in the Debugger tab of your debug configuration).

Cannot use watchpoints in the Nios II IDE when the FS2 console is open

Watchpoints do not work in the Nios II IDE when the Use FS2 console window for trace and watchpoint support setting is turned on in the Debugger tab of the Debug configuration. You will see an error message "The execution of program is suspended because of error." with details indicating that hardware watchpoints could not be inserted and deleted.

Workaround: If the FS2 console is open, you must use it to control watchpoints. For details, see the FS2 documentation.

Breakpoints on adjacent lines of assembly fail to halt the processor

Setting breakpoints on adjacent lines of assembly code might cause the Nios II processor to stop responding to the debugger. 

Workaround: When debugging in mixed mode or assembly mode view, separate breakpoints by at least one assembly instruction. This issue does not affect Nios II cores that do not have hardware breakpoints enabled in the JTAG debug module.

Navigating Projects

Resource(s) out of sync with the file system when searching for files in the workspace

When searching through files in the IDE workspace, you may get an error message saying that one or more resources are out of sync with the file system.

Workaround: Right click in the Navigator view and choose Refresh, and then perform the search again.

C/C++ Scanner does not understand certain C/C++ constructs

The C/C++ scanner is used for C/C++ Search, navigation, open declaration and parts of content assist. As the scanner doesn’t recognize them, the following code constructs will fail to work with these utilities:

  • K&R style C
  • Functions that take a function-pointer as an argument

Workaround: If the C/C++ Search fails, use the File Search facility.

Toolchain (gcc, gdb, etc.)

This section lists any issues related to the Nios II compiler toolchain.

Breakpoints in C++ constructors fail to halt the processor

Breakpoints set in a C++ constructor might not halt the processor due to a widespread GNU GCC, GDB issue. This is not a Nios II IDE-specific issue.

Workaround: You can workaround this issue by moving all of your constructor source code into another class method, called init. Then invoke this method from within the constructor.

Target Software

This section lists any issues related to target software.

Creating new custom HAL components

When you first create a component's inc directory, or HAL component header file, you may need to perform a clean build, (i.e., rebuild) of existing system library projects for the new files to be detected.

Legacy SDK

This section lists issues related to legacy SDK support for the Nios II processor. For additional known issues with the Legacy SDK, refer to the Nios II Embedded Processor Support page. Please note that the Legacy SDK will be depricated in a release of Nios II processors.

Legacy SDK does not support multiple clock domains

The Nios II legacy SDK will not support new Nios II/SOPC features. As such, systems with multiple clock domains may not function correctly when the legacy SDK is used, when peripherals that the Nios II CPU communicates with rely on a timing relationship established with the legacy SDK's "nasys_clock_freq" definition, found in excalibur.h & excalibur.s. For example, the nr_timer_milliseconds() routine in the legacy SDK uses nasys_clock_freq to start a timer to run for one millisecond. If the timer and Nios II CPU are on separate clock domains in SOPC Builder, an incorrect value will be written to the timer.

The Legacy SDK flow does not support the SPI peripheral

The Nios II legacy SDK flow does not currently include support for the SPI peripheral. Legacy SDK drivers for the SPI peripheral are available on the Nios II Embedded Processor Support page.

The Legacy SDK flow does not support the JTAG UART

The JTAG UART did not exist before the release of the Nios II processor, and therefore the pre-Nios II legacy SDK flow provides no driver for the JTAG UART. The Legacy SDK is not being actively developed, and peripherals developed in the future are unlikely to provide support for the legacy SDK.

The Legacy SDK flow may not properly place code at the reset address

If program memory and the Nios II reset address both reside at the bottom of a memory, a reset of the processor may not properly boot from the program memory when using the legacy SDK flow. This results from a slightly different boot procedure between Legacy mode and Nios II IDE mode.

Workaround:  Place program memory and the reset address at the base of the RAM in question. Place the exception address near the top of the RAM (at least 0x80 bytes from the end).

Flash Programmer

Stratix II boot from EPCS not supported

Booting from an EPCS device is not supported with Stratix® II devices.

Workaround: Contact Altera® Applications for potential workarounds.

Flash Programmer fails to warn you when no flash exists in system

If the Nios II processor system does not include a flash memory component (e.g., the "fast" example design), then the Flash Programmer cannot program an .elf file to flash memory. The Flash Programmer will fail without obvious clues why.

Workaround: Make sure the target Nios II hardware has a flash memory component before attempting to program an .elf file to flash. You can still use the Flash Programmer to program FPGA configuration data or an arbitrary file.

给本页评分


  • 嵌入式处理器
    • Nios II 嵌入式设计套件
      • Release Notes
      • 勘误表
        • Nios II 7.1
        • Nios II 7.0
        • Nios II 6.1
        • Nios II 6.0
        • Nios II 5.1
          • Hardware
          • Software
          • Example Designs
          • Documentation
        • Nios II 5.0.1
          • Hardware
          • Software
          • Example Designs
          • Documentation
        • Nios II 5.0
          • Hardware
          • Software
          • Example Designs
          • Documentation
        • Nios II 1.1
          • Hardware
          • Software
          • Example Designs
          • Documentation
        • Nios II Legacy SDK
      • 软件开发
      • 文档资料
    • Nios II 开发套件
  • DSP
    • 简介
    • DSP Builder
    • IP Cores
    • 开发套件
  • 接口协议
    • PCI Express
    • POS-PHY Level 4
    • SDI
    • 三速以太网
    • 万兆以太网
    • RapidIO
    请填写反馈意见
    产品 | 最终市场 | 技术中心 | 教育与活动 | 支持 | 公司介绍 | 在线购买
    联系我们 | 站点帮助 | 网站导航 | 个人信息 | 法律申明
    Copyright © 1995-2010 Altera International Limited. 版权所有
    Altera Forum
    Altera
    论坛
    RSS
    RSS
    Flickr
    Flickr
    Email Updates
    电邮新闻