- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我拼命想让我的 BBB 上的 PRU 正常工作。我所说的工作是指我想将引脚 P8 39-46 (GPIO2[6-13]) 用作由 PRU 控制的快速输出。
我在 SD 上安装了 BBB 的 debian(2 周前,应该是最新的)。
这样做,我让 PRU 与 LED 示例以及引脚 P8[12] 一起工作。
现在我尝试让其他引脚工作。我只是对原始的 am335x-boneblack.dtb 做了一点改动,重新开始。我刚刚激活了 PRU。我没有更改 LED 心跳以及引脚 P8.12。
然后我在 uEnv.txt 中禁用了 HDMI我的“插槽”现在看起来像这样:
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
我在这里偶然发现了这篇文章:https://groups.google.com/forum/#!topic/beagleboard/JRG36bOURfk
正是我想要的,所以我拿了 dts(第二个),编译它,将它复制到/lib/firmware 并加载它。 “插槽”表示叠加层已加载。
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-PRU-IO
BB-PRU-IO 就是我。
dmesg 说:
... part_number 'BB-PRU-IO', version 'N/A'
... slot #7: generic override
... bone: Using override eeprom data at slot 7
... slot #7: 'Override Board Name,00A0,Override Manuf,BB-PRU-IO'
... slot #7: Requesting part number/version based 'BB-PRU-IO-00A0.dtbo
... slot #7: Requesting firmware 'BB-PRU-IO-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
... slot #7: dtbo 'BB-PRU-IO-00A0.dtbo' loaded; converting to live tree
... slot #7: #2 overlays
... slot #7: Applied #2 overlays.
我会说看起来不错。
问题是 pinmux 并没有给人留下深刻印象:
猫别针 | grep 8a4=> 引脚 41 (44e108a4) 0000002f pinctrl-single
这是模式 7(GPIO 输出)。不是我想要的。对于所有引脚,我打算切换到 PRU 模式 5。
现在我在/lib/firmware 中尝试了为 PRU 01,02 提供的 dtbo
PRU-01.dtbo 似乎是一个合适的例子。只有 Pin 不同 (P9.27)。我加载它并更改了 PRU 代码示例。引脚未显示预期结果:引脚 105 (44e109a4) 00000027 pinctrl-single当我从第一篇文章运行修改后的测试程序时,我的 osci 显示一条扁平线。
我尝试了 PRU-02.dtbo。至少引脚显示了预期的结果:引脚 105 (44e109a4) 00000025 pinctrl-single当我启动我的小测试程序时,出现“总线错误”
dmesg 有几行。我要说的重要的是: [119.258978]警告:在arch/arm/mach-omap2/omap_hwmod.c:2096_enable+0x101/0x174() [119.259004]omap_hwmod:pruss:启用状态只能从初始化、空闲或禁用状态进入 [119.259027]链接的模块:g_multi libcomposite btusb bluetooth rfkill uio_pruss mt7601Usta(O) ....几个跟踪消息 [119.272382]pru-rproc 4a300000.prurproc:#8 PRU中断注册 [119.272445]pru-rproc 4a300000.prurproc:读取事件数组失败 [119.287545]pru-rproc:4a300000.prurproc 的探测失败,错误为 -22
PRU-02 比 PRU-01 做的更多(我不明白)。它似乎对我不起作用。
现在我有点无助。有什么想法吗?
编辑:我做了你不该做的事。我更改了 am335x-boneblack.dtb 文件中的 pinmux 设置。我刚刚补充说: 0xA0 0x05 0xA4 0x05 0xA8 0x05 0xAC 0x05 0xB0 0x05 0xB4 0x05 0xB8 0x05 0xBC 0x05
到 pinmux_userled_pins { pinctrl-单,引脚= <
现在可以了,但是我不开心。我仍然希望有一个常规的覆盖文件。
最佳答案
好的,我开始工作了:
只需在 am335x-boneblack.dtb 中启用 pruss(转换为 dts。按照原帖中提到的文章进行更改)
访问网站:http://kilobaser.com/blog/2014-07-28-beaglebone-black-devicetreeoverlay-generator#dtogenerator并让网站为我的案例 P8 46-39 中的各种引脚创建 dts 文件。对每个单独的 pin 使用单个 DTS(DTBO) 文件可行,但需要加载 8 个 dtbos => 我将它们全部移动到一个 DTS 文件中。
就是这样:
/dts-v1/;
/plugin/;
/{
compatible = "ti,beaglebone", "ti,beaglebone-black";
part_number = "BS_PINMODE_PRU_OUT";
exclusive-use =
"P8.46",
"P8.45",
"P8.44",
"P8.43",
"P8.42",
"P8.41",
"P8.40",
"P8.39",
"pr1_pru1_pru_r30_6",
"pr1_pru_pru1_r30_7",
"pr1_pru1_pru_r30_4",
"pr1_pru1_pru_r30_5",
"pr1_pru1_pru_r30_2",
"pr1_pru1_pru_r30_3",
"pr1_pru1_pru_r30_0",
"pr1_pru1_pru_r30_1";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
bs_pinmode_pru_out: pinmux_bs_pinmode_pru_out {
pinctrl-single,pins = <0x0a4 0x5 0x0a0 0x5 0x0ac 0x5 0x0a8 0x5 0x0b4 0x5 0x0b0 0x5 0x0bc 0x5 0x0b8 0x5>;
};
};
};
fragment@1 {
target = <&ocp>;
__overlay__ {
bs_pinmode_pru_out_pinmux {
compatible = "bone-pinmux-helper";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&bs_pinmode_pru_out>;
};
};
};
};
我将文件命名为 bspm_pru_out-00A0.dts,将其编译为 bspm_pru_out-00A0.dtbo 并将其放在/lib/firmware 中。
您可以通过/boot/uEnv.txt 或通过 echo...在 rc.local 文件中加载它...任何您喜欢的。
关于overlay - 用于快速 IO 的 Beagle Bone Black PRU 设备覆盖不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25388487/
IO 设备如何知道属于它的内存中的值在memory mapped IO 中发生了变化? ? 例如,假设内存地址 0 专用于保存 VGA 设备的背景颜色。当我们更改 memory[0] 中的值时,VGA
我目前正在开发一个使用Facebook sdk登录(通过FBLoginView)的iOS应用。 一切正常,除了那些拥有较旧版本的facebook的人。 当他们按下“使用Facebook登录”按钮时,他
假设我有: this - is an - example - with some - dashesNSRange将使用`rangeOfString:@“-”拾取“-”的第一个实例,但是如果我只想要最后
Card.io SDK提供以下详细信息: 卡号,有效期,月份,年份,CVV和邮政编码。 如何从此SDK获取国家名称。 - (void)userDidProvideCreditCardInfo:(Car
iOS 应用程序如何从网络服务下载图片并在安装过程中将它们安装到用户的 iOS 设备上?可能吗? 最佳答案 您无法控制应用在用户设备上的安装,因此无法在安装过程中下载其他数据。 只需在安装后首次启动应
我曾经开发过一款企业版 iOS 产品,我们公司曾将其出售给大型企业,供他们的员工使用。 该应用程序通过 AppStore 提供,企业用户获得了公司特定的配置文件(包含应用程序配置文件)以启用他们有权使
我正在尝试将 Card.io SDK 集成到我的 iOS 应用程序中。我想为 CardIO ui 做一个简单的本地化,如更改取消按钮标题或“在此保留信用卡”提示文本。 我在 github 上找到了这个
我正在使用 CardIOView 和 CardIOViewDelegate 类,没有可以设置为 YES 的 BOOL 来扫描 collectCardholderName。我可以看到它在 CardIOP
我有一个集成了通话工具包的 voip 应用程序。每次我从我的 voip 应用程序调用时,都会在 native 电话应用程序中创建一个新的最近通话记录。我在 voip 应用程序中也有自定义联系人(电话应
iOS 应用程序如何知道应用程序打开时屏幕上是否已经有键盘?应用程序运行后,它可以接收键盘显示/隐藏通知。但是,如果应用程序在分屏模式下作为辅助应用程序打开,而主应用程序已经显示键盘,则辅助应用程序不
我在模拟器中收到以下错误: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedIm
如 Apple 文档所示,可以通过 EAAccessory Framework 与经过认证的配件(由 Apple 认证)进行通信。但是我有点困惑,因为一些帖子告诉我它也可以通过 CoreBluetoo
尽管现在的调试器已经很不错了,但有时找出应用程序中正在发生的事情的最好方法仍然是古老的 NSLog。当您连接到计算机时,这样做很容易; Xcode 会帮助弹出日志查看器面板,然后就可以了。当您不在办公
在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些有一个 Kontakt.io 信标的名称,它绑定(bind)到一个特定的 PoI(我的意思是通常贴在信标标签上的名称)。现在我想在附近发现信标,
我正在为警报提示创建一个 trigger.io 插件。尝试从警报提示返回数据。这是我的代码: // Prompt + (void)show_prompt:(ForgeTask*)task{
您好,我是 Apple iOS 的新手。我阅读并搜索了很多关于推送通知的文章,但我没有发现任何关于 APNS 从 io4 到 ios 6 的新更新的信息。任何人都可以向我提供 APNS 如何在 ios
UITabBar 的高度似乎在 iOS 7 和 8/9/10/11 之间发生了变化。我发布这个问题是为了让其他人轻松找到答案。 那么:在 iPhone 和 iPad 上的 iOS 8/9/10/11
我想我可以针对不同的 iOS 版本使用不同的 Storyboard。 由于 UI 的差异,我将创建下一个 Storyboard: Main_iPhone.storyboard Main_iPad.st
我正在写一些东西,我将使用设备的 iTunes 库中的一部分音轨来覆盖 2 个视频的组合,例如: AVMutableComposition* mixComposition = [[AVMutableC
我创建了一个简单的 iOS 程序,可以顺利编译并在 iPad 模拟器上运行良好。当我告诉 XCode 4 使用我连接的 iPad 设备时,无法编译相同的程序。问题似乎是当我尝试使用附加的 iPad 时
我是一名优秀的程序员,十分优秀!