问题标签 [nios]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 为什么未解决的包含?
我想知道为什么我收到错误消息“未解决的包含”stddef.h
背景是这个问题: https ://stackoverflow.com/questions/18754434/altera-de2-hardware-timer-usage 我尝试解决整个硬件中断机制,我现在将其划分为更小的问题以查明它是什么当我从轮询切换到硬件计时器时,使程序不会提前计时。
你认为是什么问题?这个问题与时间没有往前走有什么关系吗?当我进行轮询时,它起作用了:
https://codereview.stackexchange.com/questions/30870/please-review-polling-for-nios-2
现在我想用硬件中断来做这件事,我按照手册做了,但仍然有一些问题希望你能帮助我?
c - 为什么我的串行通信不起作用?
我查看了 DE2 的手册(第 177 页),据我所知,它应该可以进行串行通信,例如通过油灰和 USB 到串行电缆到板上,所以我从手册中获取程序:
我尝试将它作为 Nios2 硬件运行,但是当我将 std i/o 配置为使用 uart 时收到此消息
nios2-terminal: can't open uart: No such file or directory
然后当我连接终端程序(腻子串行连接)时,它没有连接。我究竟做错了什么?我尝试在项目的特性中将 std i/o 更改为 uart,但这并没有帮助。你能帮助我吗?
c - 为什么 scanf 在 Nios 2 IDE 中打印其输入?
一个非常简单的程序甚至不工作。
以上我希望只读取输入,但它也会打印输入:
如果我在 while 循环中也有这一行,我会预料到上述行为,但我没有:
printf("%d\n", n);
你可以解释吗?
更新
答案中没有任何内容可以解释为什么会发生这种情况。Nios 2 IDE 中没有设置本地回显的打开或关闭。如果有的话,它可能不会导致意外的输出。这个程序还打印它的输入:
所以这个基于 Eclipse 的 Nios 2 IDE 不是任何人的选择,因为你无法弄清楚为什么它的行为方式不应该
c - 以两种方式都失败了一个非常简单的程序
我很惊讶 Eclipse 不仅无法以一种方式运行最简单的程序,而且无法同时以多种方式运行。该程序是
故障1:在模拟器中运行时输出无故显示两次。输出应该显示一次。
故障2:用DE2板子运行时,根本不显示输出。
为什么我的环境不能正常运行?
c - 用 DE2 运行 C 程序时输出到哪里去?
当我在 Nios 2 模拟器中运行这个程序时,我得到了预期的输出(1.000000)。
但是当我在板上运行程序时,它在 IDE 控制台中根本没有输出任何东西。输出到哪里去?输出不应该显示在 IDE 控制台中吗?
c - 循环的执行时间
我正在分析和测量,并从我的分析和测量中得到不同的结果。代码是两个循环,数据缓存大小为 512 字节,块大小为 32 字节:
我认为不要在内部循环中切换行应该更快,因为 C 按行存储矩阵,因此 SumByRowCol 应该更快,但在测量中它是另一种方式。我认为由于空间局部性原理的缓存可以使内部循环更快,因为值来自连续元素,它会更快吗?实际上测量时的执行时间实际上是测量 SumByColRow 更快的原因是什么?
更新
我再次运行程序,确保我实际上正在使用数据缓存,这次结果符合预期,所以上面的结果可能是巧合,下面的结果更像是:
assembly - asm("stw r4, %0": "=m" (returnCode)) 是什么意思?尼奥斯 2
上面的调用是从 c 到 Nios2 的,其中返回代码在 C 中是可变的。我从一个寄存器到另一个寄存器或从内存中获取 stw 存储,但我不确定 %0 或“=m”代表什么。
c - 为什么编译C需要这么长时间?
当我编译一个 C 项目时,即使我使用的是快速的 Intel I7 CPU,它也可能需要大约 90 秒。是因为编译是一项低级任务,还是因为我的构建时间如此之长?我的环境是用于 Altera DE2 FPGA 的 Nios 2 IDE。
c - MIPS asm 到 C:如何设置 .section 指令
所以我试图用 C 语言为 NIOS II 音频核心制作一个异常处理程序。
我想知道如何转换...
.section .exceptions,“斧头”
...从 MIPS asm 到 C?
我知道这个...
属性((section(".exceptions)))
相当于...
.section .exceptions
但是如何包含 .section 指令?
我试过这个...
属性((section(".exceptions, \"ax\"")))
但是编译器不喜欢异常中的 s 之后的任何内容。
有任何想法吗?
c - 尝试转换十六进制值,请帮助
我正在尝试将我的十六进制输出向左移动一位,以便我可以在 7 段液晶显示器上显示 9 以上的数字。
在 C 语言上编程,我使用的软件是 NIOS II,所以我可以直接在 DE0 板上重新编程。
该项目的目的是每次按下“button1”时将 LCD 的值增加 1。我已经成功地做到了这一点,但是当然在 9 点之后它需要向左移动并从 1 重新开始,用 0 替换它来自的位置。我做了一些研究,但没有任何运气所以任何帮助表示赞赏。谢谢。
代码如下: