问题标签 [omap]

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 投票
2 回答
3686 浏览

arm - OMAP SPI 控制器

有没有人开发过一些应用程序来控制 OMAP3 上的 spi 设备?我可以加载 spi 驱动程序“mcspi”,但我不知道如何使用它。

0 投票
3 回答
6040 浏览

c++ - 如何使用 DSP 加速 OMAP 上的代码?

我正在为 OMAP3430 开发视频编解码器。我已经有用 C++ 编写的代码,我尝试修改/移植其中的某些部分以利用 DSP(我有一个额外的 DSP 的 SDK(OMAP ZOOM3430 SDK))。

我尝试移植一个小的 for 循环,它在非常少量的数据(~250 字节)上运行,但在不同的数据上运行大约 2M 次。但是 CPU 和 DSP 之间通信的过载远远超过增益(如果我有的话)。

我认为这项任务很像优化普通计算机中 GPU 的代码。我的问题是移植什么样的零件会有好处?GPU 程序员如何处理这些任务?

编辑:

  1. GPP 应用程序分配大小为 0x1000 字节的缓冲区。
  2. GPP 应用程序调用 DSPProcessor_ReserveMemory 为每个分配的缓冲区保留一个 DSP 虚拟地址空间,使用比分配的缓冲区大 4K 的大小来考虑自动页面对齐。总预留大小还必须沿 4K 页面边界对齐。
  3. GPP 应用程序调用 DSPProcessor_Map 将每个分配的缓冲区映射到上一步中保留的 DSP 虚拟地址空间。
  4. GPP 应用程序准备一个消息来通知 DSP 执行阶段虚拟地址空间的基地址,这些基地址已映射到 GPP 上分配的缓冲区。GPP 应用程序使用 DSPNode_PutMessage 将消息发送到 DSP。
  5. GPP 调用 memcpy 将要处理的数据复制到共享内存中。
  6. GPP 应用程序调用 DSPProcessor_FlushMemory 以确保数据缓存已被刷新。
  7. GPP 应用程序准备一个消息来通知 DSP 执行阶段它已完成对缓冲区的写入并且 DSP 现在可以访问缓冲区。该消息还包含写入缓冲区的数据量,以便 DSP 知道要复制多少数据。GPP 使用 DSPNode_PutMessage 将消息发送到 DSP,然后调用 DSPNode_GetMessage 等待从 DSP 收到消息。

在这些之后,DSP程序开始执行,当DSP完成处理时,DSP用消息通知GPP。只是为了尝试,我没有在 DSP 程序中进行任何处理。我只是将“处理完成”消息发送回 GPP。而这仍然会消耗大量时间。这可能是因为内部/外部内存使用,还是仅仅是因为通信过载?

0 投票
6 回答
31196 浏览

c++ - 对齐和未对齐的内存访问?

对齐和未对齐的内存访问有什么区别?

我在 TMS320C64x DSP 上工作,我想使用内部函数(汇编指令的 C 函数),它有

在哪里_amem2进行 2 个字节的对齐访问和_mem2未对齐访问。

我什么时候应该使用哪个?

0 投票
6 回答
1809 浏览

c++ - 我的硬件上的 time.h clock() 是否损坏?

我尝试测量在 OMAP ZOOM 3430 MDK 随附的 TMS32064x+ DSP 上执行一段代码所需的时钟周期。我查看了 DSP 芯片的“程序员指南”,它说 DSP 支持 clock() 功能。

我做的很简单,我就是做

然后将“start”、“stop”和“total”的值放入先前与ARM处理器分配的共享内存中。然后我简单地将它打印到 ARM 端的屏幕上。

问题是,在我的第一次执行中,我总是得到相同的“总”值,然后在我的下一次运行中,我总是得到 0!“开始”和“停止”值与“总”值一起出现。

最奇怪的是,他们似乎遵循了一点模式!我把输出放在下面:

显然,clock() 运行不正常,但我不确定这是因为我做错了什么,还是因为我拥有的硬件不支持这种类型的事情。任何想法为什么会发生这种情况?

0 投票
2 回答
256 浏览

mobile - 将 PC 视频编解码器移植到移动环境中?

我致力于将编写以在 PC 上执行的视频编解码器移植到移动平台上(在我的例子中为 OMAP3430 MDK)。虽然我的问题与特定平台或语言无关。

在将编解码器移植到移动平台时,我要求记住具体的线索/想法。PC和移动环境的主要区别是什么。移动平台常见的瓶颈有哪些?

我也将感谢任何与此类任务相关的学术出版物的参考。

0 投票
1 回答
649 浏览

embedded - OMAP 3530:切换 IO 的速度有多快?

我正在为 OMAP 3530 SoC 编写一个应用程序。该应用程序将在嵌入式 linux 上运行一些用户界面代码,并在 DSP 上调用波形生成代码。DSP 和 Linux 端将通过 DSP/BIOS 链接进行交互。

我的问题是:

  • 我的 DSP 端代码可以切换 GPIO 线的最高频率是多少?
  • 如果我想以这种高速率切换多条 GPIO 线,我能走多快?

感谢您的任何见解。

-拉吉

0 投票
1 回答
2696 浏览

opengl-es - 是否可以直接在嵌入式平台上访问 OpenGL ES 2.0 纹理内存?

我正在基于 OMAP 3530 的平台上处理一些 GP-GPU 代码,并且由于 openGL ES 2.0 中缺少 glGetTexImage 函数而受到阻碍。由于该平台为 GPU 使用集成内存,我想知道是否有任何方法可以直接获取指向内存中分配纹理的指针。这样我就可以读回我的数据,而不必将其推入帧缓冲区,这会丢弃大量数据。

0 投票
1 回答
849 浏览

linux-device-driver - linux中的omap3 gpmc配置

在 Linux 上启动后是否可以更改 OMAP3 gpmc 的配置?我正在为使用 OMAP3 gpmc 总线的设备编写驱动程序。我们希望能够仅在需要时加载驱动程序。linux会允许吗,因为GPMC控制也是程序内存?

0 投票
1 回答
662 浏览

arm - 用于繁重信号处理工作负载的 Intel atom 或 ARM

我想知道哪个是更好的(性能)选项:

  1. 获得基于英特尔双核原子的板
  2. 获得基于 Arm cortex A9 的板(pandaboard 等)

我想运行一些轻量级版本的 linux 并进行一些 cpu 密集型计算,例如图像/视频处理(以后可能是 3D),并在它们上处理音频。当然所有的浮点数学。

0 投票
1 回答
1844 浏览

cross-compiling - OMAP:构建和安装 ltrace

有人知道我在哪里可以找到为 OMAP 处理器交叉编译ltrace的说明吗?我从这里下载了 ltrace_0.5.3.orig.tar.gz,并尝试通过将适当的参数传递给配置脚本来进行交叉编译,但除了普通的旧 gcc 之外,我似乎不支持任何东西。

根据文档,它支持 ARM。也许我需要从其他地方拉包?