问题标签 [bsp]

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.

0 投票
0 回答
15 浏览

nat - VxWorks BSP 宏

我在 VxWorks7 Workbench4 环境中测试 NAT 功能。我正在查看相关文档,但我被困在这部分。

如果您计划在启动时通过调用 ipnet_nat_add_rule( ) 添加 NAT 规则,请为这些规则添加一个挂钩。要创建此挂钩,请在 BSP 中添加一个 USER_APPL_INIT 宏。
例如:

在本例中,usrNATAddRules( ) 只是一个示例例程。它不随您的产品安装一起分发。您必须自己创建它(或具有相似名称的例程)。

我不知道我需要在workbench4 的哪个路径中添加BSP 宏。无论我搜索多少,我都找不到任何可以解释这一点的东西。谁能帮我?

0 投票
0 回答
40 浏览

c - MPSoC 的 uart 是否打印为 50Mhz?

我试图将我的 QSPI 请求频率保持在 50 Mhz,因为 Enclustra 的这份数据表:“Mercury XU5 SoC 模块,用户手册”说“QSPI 闪存支持高达 50 MHz 的标准读取操作。”。如果这是错误的,请纠正我,我找不到更新的工作表!从过去我了解到 QSPI 和 UART 需要具有相同的请求。频率。让我在刷完程序后打印任何东西。但是,当我闪烁时,UART 不会以 50 Mhz 为我打印任何内容,而当我只是使用 JTAG 在本地运行代码而不是闪烁时,它甚至不会打印。我尝试过从 9600 到 115200 的波特率。

我需要设置一个寄存器还是什么?在 XSDK 中,我可以更改名为:CONFIG.PSU__UART0__BAUD_RATE 和 CONFIG.PSU__UART1__BAUD_RATE 的寄存器。

我正在使用具有 Zynq UltraScale+ MPSoC 的 Enclustra XU5 在 Vitis 2021.1 上运行。我使用的是 qspi-x1-single flash 类型。

那么我的问题是:XU5 是否需要 100 MHz 的频率才能通过 UART 打印某些内容?

0 投票
1 回答
33 浏览

operating-system - 嵌入式开发板的 BSP 和 U-Boot 有何不同?

我是嵌入式世界的新手,并试图了解 BSP(板级支持包)和 U-Boot 实用程序之间的区别。我的理解是它们都位于目标板的 ROM 区域。当板子的电源打开时,首先处理器控制转到 U-Boot,它初始化板子外围设备并为操作系统提供启动参数以启动。

当操作系统启动时,它需要 BSP 与板的外围设备进行通信。

这是正确的理解还是我在这里遗漏了什么?

0 投票
1 回答
67 浏览

stm32 - 中断未决,但未调用我的中断例程

摘要: 我已将 GPIO 配置为中断。我可以从所有寄存器中看到它似乎正在触发,但我的中断例程从未被调用。

详细信息: 我使用的是 Nucleo F446 板,文档指定 PC13 应该是按钮的输入。我想在发生这种情况时触发中断(我知道这不是处理按钮的最佳方式;我在使用更复杂的系统时遇到了问题,并将其简化为这个简化的示例)。我在裸机上执行此操作,而不使用任何现有库。

按钮 GPIO 说明

PC13进入EXTI13:

EXTI 多路复用器

我看到这是微控制器参考手册中的中断#40:

中断向量表

我正在按如下方式配置微控制器(为简单起见,此处使用伪 C):

  1. 为 GPIOC 模块 SYSCFG 启用时钟

  2. 为 GPIO C13 启用外部中断(默认为输入)

外部中断使能选择

  1. 设置中断屏蔽、事件屏蔽和上升触发选择寄存器的引脚 13:

  2. 启用 IRQ 40

  3. 设置中断向量(这里是反汇编)

我有一个循环中的主代码,将一些寄存器值打印到串行端口,稍后我将对其进行描述。我已经实现了 exti15_10_handler 来打开一个 LED 并进入一个无限循环,所以我应该知道它什么时候被调用,因为它也会停止打印。当我按下并释放按钮时,我看到以下内容:

  1. 在 GPIOC_IDR(GPIO 输入寄存器)中,我可以看到第 13 位发生了变化,这告诉我 GPIO 模块正在工作。
  2. 在 EXTI_PR(外部中断挂起)中,我看到第 13 位的值从 0 切换到 1 并保持在那里。
  3. 在 NVIC_ISPR1(中断设置挂起)中,第 8 位(对应于中断 40)从 0 切换到 1 并停留在那里。
  4. 但是,NVIC_IABR0(中断有效位寄存器)不会改变。
  5. 没有调用中断,因为我看到 LED 没有变化并且电路板没有挂起。

我确定我忘了启用某些东西,但是在仔细阅读了参考手册和一堆代码示例之后,我只是没有看到它。我确实尝试了以下方法:

设置中断标志(我认为应该已经打开了)。我很好奇这对任何人来说是否熟悉。

0 投票
0 回答
7 浏览

geometry - 虚幻引擎 5 BSP 在几何体中有孔

我一直在努力用基本的几何盒子建造房子。当我为地板制作最后一个盒子时,它总是缺少一个部分。我试着做一个新盒子,一旦我把它放在这个房间的中心,这个部分总是不见了。我还尝试将盒子的深度更改为更大,认为它太浅了,但该部分总是丢失。我还尝试将所有几何图形移动到另一个区域,并且似乎有些东西正在切割这个区域。这是该地区

0 投票
0 回答
13 浏览

c++ - 正确使用 Quake II PVS 数据

我一直在研究和测试 Quake II 能见度的阅读和使用。在多次尝试实现它之后,我还没有完全管理它。否则,我主要基于这篇文章另一篇关于 Blogger的文章,并浏览了有关该主题的更多文档,我什至深入研究了 Quake II 源代码本身,但我不太明白哪里出了问题。

在可视化我的 PVS 时,我发现无论我使用什么解包算法,它似乎总是只突出显示随机叶子,通常是被更近的叶子隐藏的叶子,这使得它们不可见。有时我最终会得到应该清晰可见但不可见的叶子。

从文件中反序列化 vis 数据是我的第一个也是唯一一个可检测到的错误:我最初读取偏移量并分别分配位向量。我后来发现 PVS/PHS 偏移量在偏移量中考虑了它们自己。我最终诉诸于逐字读取和分配可见块,使偏移量指向正确的位置。

我对第二季度 PVS 拆包的收获是

  • 它是可见簇的行程编码位图
    • 0 表示下一个字节是要跳过多少簇并将其标记为隐藏
    • 否则我们直接从位向量映射(给定到目前为止我们用 RLE 字节累积的偏移量)

至于集群,我构建了一个集群数组,作为一组叶子,当被索引时,为每个集群条目提供一个叶子的链表。

到目前为止,这一切都说得通,对吧?我应该能够:读取 vis 数据,为给定集群解压缩,从给定其自己的集群的叶子的解压缩 PVS 中获取可见集群列表

到目前为止,这不起作用!我对解决方案不知所措。我不知道该怎么办。是否有一些我不了解的概念,我的思路和分析中的一些疏忽?

作为参考,我正在对 quake2 的 base1.bsp 和一些简单区域的自定义导出进行测试。我会发布代码,但我有许可问题和很多需要清理的东西......对不起!