问题标签 [microblaze]
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++ - Xilinx Microblaze 结构填充/封装
我有两个结构:
和:
sizeof(size1) = 4; sizeof(size2) = 12;
我试图获得的尺寸是 size2 的 10。
它在 num3 和 st_size 之间添加两个字节的填充。Microblaze 编译器不支持 Pragma Pack
我正在尝试使用属性((packed)) 但没有任何成功...
我不确定出了什么问题,或者这是否有效。
谢谢
linux - 什么 linux 内核代码创建 /sys/devices/system/cpu/cpuX?
我正在为 microblaze 架构开发一个 cpufreq 驱动程序(作为可加载的内核模块)。我有一些能够扩展系统时钟的 FPGA 逻辑,它工作得很好。我已经按照信息Documentation/cpu-freq/cpu-drivers.txt
查看了 blackfin cpufreq 驱动程序中的模型。
arch/microblaze/Kconfig
为了将 cpufreq 选项内置到内核(不是模块)中,我还进行了必要的更改。
当我第一次加载驱动程序时,cpufreq_register_driver()
返回 -ENODEV,这意味着它找不到 CPU。我将驱动程序标志设置为 CPUFREQ_STICKY 并能够插入模块。
但是,此时我意识到/sys/devices/system/cpu/cpu0
不存在(尽管/sys/devices/system/cpu/cpufreq
存在)。那么,这是为什么呢?内核代码的哪一部分负责创建该目录?
xilinx - Xilinx XPS:使用 DIP 开关进行选择
我正在尝试在另一个模块中使用 DIP 开关作为选择信号。所以 DIP 开关是一个外部组件。
我总是收到以下错误: ERROR:NgdBuild:924 - bidirect pad net 'DIP_1_7<5>' isdriving non-buffer primitives: ERROR:NgdBuild:924 - bidirect pad net 'DIP_1_7<6>' isdriving non-buffer primitives :错误:Xflow - 程序 ngdbuild 返回错误代码 2。正在中止流程执行... make: * [__xps/system_routed] 错误 1
如何在我的 XPS 项目中使用 DIP 开关?我不想使用 Microblaze 读取值。
c++ - MicroBlaze 上 C++ 的线程安全
有没有人为 MicroBlaze 编写过多线程 C++ 应用程序?Xilinx 文档指出:
EDK 提供的标准 C 库不是为多线程环境构建的。STDIO 函数如 printf()、scanf() 和内存管理函数如 malloc() 和 free() 是非线程安全函数的常见示例。在多线程环境中使用 C 库时,必须使用适当的互斥技术来保护线程不安全函数。
此外,MicroBlaze GCC 报告线程模型是“单一的”。
如果我使用 C++ 标准库容器,这肯定是不安全的,对吗?
我什至可以从赛灵思得到这个简单问题的答案,更不用说解决它的方法了。这似乎是 Xilinx 提供的构建系统的一个主要缺陷。
gcc - Microblaze 交叉编译
有谁知道如何使用 gcc 为 xilinx 的 microblaze 处理器编译裸机程序?
使用 xilinx sdk 很容易做到这一点,但现在我正在尝试将 microblaze 构建集成到更大的构建工作流程中。换句话说,我需要能够在命令行中做所有事情——而不是使用 sdk gui。
大多数 xilinx 支持和示例都以他们的 sdk 为中心。他们网站上似乎对 gnu 工具的支持有限,但他们似乎专注于想要为 microblaze 编译 linux 内核的用户。我只想编译一个简单的裸机应用程序。
理想情况下,我可以做类似的事情
最后得到一个 microblaze 可执行文件。
有没有人这样做过?有谁知道任何例子?
c - 使用 microblaze 和 lwip 进行简单的数据传输
所以我在互联网上找不到任何简单的例子,而不是用于 microblaze 和 lwip 的 echo 程序,这对我来说很好,这里是他们的文件:echo.c:
这是 main.c :
现在我根本无法理解这段代码(其中一些但不是全部)你们能告诉我开始如何更改这段代码,而不是回显相同的数据,而是向主机发送一个包含字符串的字符串“嘿” 。谢谢你。
c - 自定义 lwip microblaze 回声示例
在回显示例中,我们有这个函数再次发送相同的数据包以便回显数据,我想更改它以便发送用户发送的任何固定数据,所以我更改了这个:
对此:
当我运行我的应用程序时,它不会回显任何内容,这是为什么呢?
ld - GNU ld 链接器错误“未知重定位类型 30”是什么意思?
我和一位同事今天使用以下版本的 LD 遇到了这个奇怪的错误:
这是 GNU 工具链的一部分,具有 MicroBlaze 架构支持,作为 Xilinx ISE 14.4 嵌入式开发套件 (EDK) 工具的一部分分发。我的构建平台是 Red Hat Enterprise Linux Server release 5.9 for x86_64。
更一般地说,我想到了其他一些问题:
- 是否有所有 GNU ld 重定位类型的主列表?
- 如果没有,那么有没有办法询问我的特定版本的 LD 以确定重定位类型的含义?
udp - 通过以太网向 fpga spartan 3e 发送 UDP 数据包
我想向包含 microblaze 的 fpga 发送 UDP 数据包。但是我有一个关于IP地址的问题。fpga的ip地址在哪里可以查到。
vhdl - 我在 ISE 中的 microblaze 系统的 .ucf 文件存在问题
好的,所以我从 XPS 添加了我的 microblaze,生成了一个 topvhdl 文件,添加了 ucf 文件,在我的 microblaze 中我有 4 个 GPIO,但我没有在 .ucf 文件中放置任何引脚,尽管它们在 topvhdl 中作为 inout 存在,但我能够编译项目并生成比特流。现在我注释掉顶部 vhdl 中的所有 GPIO 引脚,并将我的 microblaze 系统 GPIO 与内部信号连接,如图所示。这也没有遇到任何问题,我可以生成一个比特流。现在导致问题的原因是当我将 LED 的 7 个端口添加到我的顶级 vhdl 文件的外部引脚(这与我的 GPIO 无关)时,它开始告诉我 GPIO 引脚上的错误!!!这是代码:
错误信息 :