问题标签 [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 回答
732 浏览

embedded - 晶核 MPU 时钟频率差异

我有一个嵌入式系统,启动时显示如下:

时钟频率(Crystal/Core/MPU):12.0/400/1000 MHz

谁能解释一下这三个时钟频率之间的差异。处理器为 ARMv7、OMAP3xxx

0 投票
1 回答
466 浏览

c++ - 为使用 PowerVR 的 Omap4 开发 EGL 应用程序

我有 Pandaboard,我在 OMAP4 上处理 PowerVR 支持,我已经成功地尝试了 Imagination Examples。但我想知道,如何在我的主机上将我自己的代码和开发应用程序编写到 Pandaboard 或 Omap4 上,这样交叉编译?

解决方案是PowerVR SDK吗?又怎样?

注意:Ubuntu 11.10 在 Pandaboard(armhf) 上运行。Ubuntu 12.04 在 HostMachine(x86) 上运行

0 投票
1 回答
678 浏览

arm - 在 OMAP 4460 上进行多个 DMA 传输时 CPU 是否被阻塞?

我想知道 DMA 在 Pandaboard 中的工作原理。我已经阅读了 Pandaboard 中使用的 OMPA4460 的 TRM,DMA 系统一次可以管理总共 128 个请求,最多 32 个逻辑通道和 4 个中断请求。当 DMA 正在进行时,CPU 是否有机会一次执行另一个任务?

0 投票
1 回答
2989 浏览

arm - 由 ARM Cortex-A9 制成的 SoC 的典型 L1 和 L2 访问延迟

我正在寻找由 ARM Cortex-A9 处理器(例如具有多个 ARM A9 处理器的 Nvidia Tegra 2 和 Tegra 3)制成的 SoC 的 L1 访问延迟和 L2 访问延迟。

我可以找到有关这些架构的 L1 和 L2 大小的一些信息,但我找不到有关 L1 和 L2 访问延迟的太多信息。我发现的唯一可靠信息是“在 Tegra 3 上,L2 缓存延迟比 2 快 2 个周期,而 L1 缓存延迟没有改变。”

这里提到 Tegra 2 上的 L2 有 25 个周期的延迟,这里提到 L1 有 4 个周期的延迟,L2 有 31 到 55 个周期的延迟。这些参考资料都不是完全可靠的。我希望在 Nvidia、TI 和 Qualcomm 网站和技术文档上找到更多信息,但没有成功。

编辑:OMAP4460 和 OMAP4470 等类似 SoC 的信息也会很棒。

0 投票
1 回答
579 浏览

spi - 我应该使用哪些 OMAP-L138 寄存器来选择另一个 SPI 芯片?

我有 OMAP-L138 Experimenter Kit,我想与设置在 SPI 1 芯片选择 1 上的外围设备之一进行通信(SPI1 芯片选择 0 上也有闪存)。

我很困惑我应该使用哪些寄存器来选择芯片 1 ?

根据OMAP-L138 Technical Reference Manual,我应该

  • 设置 4 针模式

    spi->SPIPC0 = SOMI | 西莫 | 时钟 | SCS0; //带片选的4针模式

  • 设置 SPIPC0.SCS0FUN 的 1 位以显示 SPI_CS1 - 是 SPI 功能引脚

    SETBIT(spi->SPIPC0, 0x00000002);

  • 设置 SPIDAT1.CSNR 的 17 位(表示 SPI_CS1 引脚被驱动为高电平。)

    SPI->SPIDAT1 = 0;SETBIT(spi->SPIDAT1, 0x20000); //设置第17位(对应SPI_CS1)

  • 将 SIDEF.CSDEF 设置为 1 位(表示 SPI_CS1 引脚被驱动为高电平。)

    spi->SPIDEF = 0;SETBIT(spi->SPIDEF, 0x00000002); //在 CSDEF 字段中设置第 1 位(对应于 SPI_CS1)

  • 最后,在从 SPI1_CS1 设备读取数据之前,我应该将 SPIDAT1.CSHOLD 设置为保持有效的片选信号

    SETBIT(spi->SPIDAT1,0x10000000); //设置代表CSHOLD的第28位

这是正确的还是我错过了什么?可能我还需要对 PINMUX5(引脚复用控制 5 寄存器)做一些事情吗?谢谢!

0 投票
1 回答
8707 浏览

linux-kernel - 内核哎呀哎呀:ARM嵌入式系统上的80000005

请帮我解决这个问题。我使用了一个 1 毫秒的高分辨率计时器并将其安装为带有“insmod”的单独模块。这每 1 毫秒触发一次,我必须用这个定时器中断做一些任务。还有其他进行图像传输的进程,我看到以太网驱动程序中断出现以发送图像。这个enet中断有一些高优先级,看起来它正在延迟上面的1 ms定时器中断,但我不确定。

在运行测试 3 到 3 小时后,我看到了下面的 Oops。如何从根本上解决这个问题?请帮忙。系统为ARM omap,运行Linux 2.6.33 交叉编译。

==========================================

=========================

我用上面的代码作为驱动模块,用insmod插入。我希望它每 1 毫秒触发一次,它工作正常,但有时当以太网流量太高时,它会给出一个内核糟糕的解释。请检查代码是否有任何问题?

我检查了 lsmod,我看到所有 5 个内核模块(我自己的)都加载在:0x7f000000 到 0x7f02xxxx 之间

在 oops 地址 0x7eb52754 处未加载任何模块。我从 /proc/kallsyms 文件中检查以验证这一点。如何检查 0x7eb5xxxx 到源文件的映射?我还能在哪里获得系统上的数据。

0 投票
0 回答
17159 浏览

embedded - 配置 minicom 以使用硬件流控制

寻找一些帮助来测试具有OMAP L138的硬件流控制的 UART 实现。为了测试我minicom用来模拟串行链路另一端的实现,我正在寻找一些关于如何配置它的见解。

我有一个简单的应用程序,它通过 UART 将消息从 OMAP 发送到 minicom。如果 OMAP 和 minicom 都配置为不使用硬件流控制,这将按预期工作。当我打开硬件流控制时,我在 minicom 上看不到任何输出。

这是我遵循的步骤列表:

  • 配置 minicom 使用硬件流控(Ctl AO 打开 minicom 串口设置菜单,F 启用硬件流控)。
  • 使用stty我启用 rts/cts 握手stty -F /dev/ttyS1 crtscts。使用命令stty -F /dev/ttyS1 -a我可以确认 crtscts 已启用。

上述两项更改确保在终端程序和 UART 驱动程序中启用硬件流控制。OMAP 上的 UART 也已配置为使用硬件流控制。

但是,上面列出的对 minicom 的更改似乎不足以使流量控制正常工作。启动应用程序后,来自 OMAP 的 RTS(请求发送)信号变低,向 minicom 指示它要发送数据。如果配置正确,minicom 应该将 OMAP 的 CTS(清除发送)信号拉低并开始接受数据,直到达到指定的接收缓冲区阈值。这不会发生。OMAP 的 CTS 输入始终为高电平。只是为了好玩,我尝试在 OMAP 上将 RTS 短接到 CTS,瞧,预期的消息确实出现在 minicom 上!这是一张显示两者如何连接的图像。

Omap 到 minicom 连接

从我的尝试来看,我在配置 minicom 的方式上似乎遗漏了一些东西。任何建议表示赞赏。

0 投票
1 回答
2500 浏览

android - 如何在 Pandaboard 上更改 Android 的分辨率?

我正在从针对 Pandaboard ES 的 AOSP 构建 Android 4.2.1,我必须将 HDMI 输出上的物理显示分辨率从 1920x1080 更改为 800x600。

我尝试将 , 或 附加omapfb.mode=hdmi:800x600@60omapfb.mode=800x600@60video=omapfb:mode:800x600@60OMAP内核源CONFIG_CMDLINE生成的 .config 中make panda_defconfig,但每次 adb 似乎不再识别该设备,并且它在启动后立即从“lsusb”命令中消失。

谢谢你。

0 投票
1 回答
549 浏览

linux-kernel - 嵌入式:OMAP3 EVM 引导参数

我是初学者。我正在使用OMAP3 EVM. 目前,我可以通过NFS. 但是,我希望它来自SD card. 我boot.scr在将其更改为 SD 启动时删除了该文件。它正在正确启动。但是,在该行之后,'Uncompressing Linux...'它会等待一段时间,然后直接加载文件系统并要求登录。过去在该行之后的这么多行初始化日志'Uncompressing Linux...'完全丢失了。但是,根文件系统已完全加载,我可以像以前一样使用它。因此,我尝试通过单独删除与 nfs 相关的参数来制作 boot.scr 文件。

之前的boot.scr命令,

现在的boot.scr命令,

我没有修改uEnv.txt. 它的内容是,

现在,它已经完全停止在该行之后启动'Uncompressing Linux...'。请指导我哪里出错了。

0 投票
2 回答
4383 浏览

beagleboard - BeagleBone GPIO 输出同步与 PRU (TI AM335x)

我正在使用 AM335x 上的一个 PRU 单元来驱动 BeagleBone 上的 4 个 GPIO 引脚(GPIO1_2、GPIO1_3、GPIO1_6、GPIO1_7),并且我想同步边缘转换(我的完整源代码在底部)。

使用 Beaglebone 将引脚上的输出设置为 HI,将地址 0x4804c194 处的相应位设置为 1,然后将其设置为 LO,将地址 0x4804c190 处的位设置为 1。所以我的 PRU 汇编代码首先设置输出 HI 位,然后设置输出 LO 位:

由于运行每个周期需要多少个周期,LO 周期明显长于 HI(50ns 对 110ns)。不幸的是,我太新了,无法发布图片,这是上一个代码中逻辑分析仪屏幕截图的链接

为了均匀超时,我交替设置 HI 和 LO 位,使周期相等,为 80ns,但 HI 和 LO 转换相互偏移 80ns:

这也是之前代码的逻辑分析器屏幕截图。

所以我的问题是如何让边缘转换同时发生?即,如果您比较 GPIO1_6 和 GPIO_7,屏幕截图的中心是 200ns,此时 GPIO1_7 转换为 LO,然后 50ns 之前,GPIO1_6 转换为 HI,我希望它们同时转换。我不介意放慢速度来实现这一点。

这是我的源代码:

文件:main.p

文件 main.c:

文件 main.hp: