我设法在 Nios 2 Altera DE2 板上运行了一个复杂的项目,在那里我使用输入和输出创建了一个带有汇编和 C 代码的计时器。使用 Nios 2 IDE,我可以将项目下载到 DE2 FPGA 并且时钟按预期运行。但我并不了解有关编程模型的所有内容,而且我也在尝试了解基本的 Hello World 示例和 IDE 附带的诊断示例。
Hello World 示例只是
/*
* "Hello World" example.
*
* This example prints 'Hello from Nios II' to the STDOUT stream. It runs on
* the Nios II 'standard', 'full_featured', 'fast', and 'low_cost' example
* designs. It runs with or without the MicroC/OS-II RTOS and requires a STDOUT
* device in your system's hardware.
* The memory footprint of this hosted application is ~69 kbytes by default
* using the standard reference design.
*
* For a reduced footprint version of this template, and an explanation of how
* to reduce the memory footprint for a given application, see the
* "small_hello_world" template.
*
*/
#include <stdio.h>
int main()
{
printf("Hello from Nios II!\n");
return 0;
}
但是当我编译并运行这个“作为 Nios 2 硬件”时,它只在 IDE 中将 Hello World 打印到标准输出,它不会下载并在板上运行 - 不应该这样做吗?如果它不在板上运行,这个例子有什么意义?我做错了什么,如果是这样,因为示例编译并运行了怎么办?我是否必须将 BSD 编辑器设置为某些内容?
更新
它根本不起作用。我在 BSP 编辑器中尝试了不同的组合,但没有任何效果。当我尝试将项目作为“Nios II 硬件”运行时,即使它在 IDE 中说项目正在下载到板上,板上也没有任何 react 。为什么容易的事情很难?用户体验很糟糕,不得不猜测是不科学的。
最佳答案
程序正在板上运行。从节目评论...
在这种情况下,STDOUT 流是软件终端。因此 Nios II 板正在运行 hello world 程序并将输出发送到计算机。要使用板上的屏幕,您必须在 SOPC builder 的配置中包含 LCD 显示器,然后直接写入 LCD 屏幕。
关于c - Nios 2 "Hello World"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17966235/