标签: beagleboneblack

Port Cbor图书馆到Beaglebone运行Xinu

我有一个运行xinu的beagle bone black和在虚拟机上运行的VM中设置的开发环境.到目前为止,我已经能够在Xinu编写Hello world shell命令.所以我对xinu和beagle bone有一个基本的想法.我想将Cbor和COAP库移植到BBB.我只是复制include文件夹中的.c和.h文件以及"make"和"make install"吗?或者有更好/更复杂的方式吗?

porting operating-system beagleboneblack

6
推荐指数
1
解决办法
93
查看次数

BeagleBone Black Adafruit IO Python库GPIO用户权限

我在Debian的Adafruit Python IO库中遇到GPIO问题(来自armhf.org).它以root身份运行,但不像普通用户那样运行.

我添加了udev规则;

KERNEL=="gpio*", SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/bin/sh -c 'chown -R debian:gpio /sys/class/gpio'"
KERNEL=="gpio*", SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/bin/sh -c 'chown -R debian:gpio /sys/devices/virtual/gpio/'"
Run Code Online (Sandbox Code Playgroud)

我的用户"debian"在组"gpio"中.现在我可以在用户的​​shell中使用echo ...>/sys ...来控制gpio.但不是python.它没有错误就行不通.

但是,如果我手动运行"echo 45>/sys/class/gpio/export"然后在这个gpio上启动python它将起作用.

我可以在启动python脚本后在/ sys/class/gpio中看到gpio45,但是它不起作用.它只能在手动导出后才能工作.我尝试从源代码编译函数gpio_export()并手动启动它.它确实有效.但在实际脚本中它只创建gpio文件,但不起作用.

这是我的测试脚本:

import Adafruit_BBIO.GPIO as GPIO                                                                    
import time                                                                                          

P = "P8_11"                                                                                          

GPIO.setup(P, GPIO.OUT)                                                                              
for i in xrange(100):                                                                                
        if i % 2 == 0:                                                                               
                GPIO.output(P, GPIO.HIGH)                                                            
        else:                                                                                        
                GPIO.output(P, GPIO.LOW)                                                             
        time.sleep(0.5)                                                                              
GPIO.cleanup() 
Run Code Online (Sandbox Code Playgroud)

谢谢

- = UPDATED = - 这是一个错误.我在项目的github页面上发布了它以及为我解决问题的残酷补丁https://github.com/adafruit/adafruit-beaglebone-io-python/issues/36

--- adafruit-beaglebone-io-python/source/py_gpio.c  2013-09-17 20:10:08.000000000 +0300
+++ adafruit-beaglebone-io-python/source/py_gpio.c  2013-09-21 02:54:43.000000000 +0300
@@ -105,10 +105,26 @@ …
Run Code Online (Sandbox Code Playgroud)

python debian gpio raspberry-pi beagleboneblack

5
推荐指数
1
解决办法
4660
查看次数

在 Ubuntu 上与蓝牙 OBDII 设备配对时遇到困难

我正在尝试与运行 Ubuntu Linux 的 Beaglebone Black 上的汽车 OBDII 蓝牙设备配对,但运气不佳。

最初我能够使用 bluez-simple-agent 设置 hci0,尽管它从未要求我提供 PIN。该设备的 PIN 应该是“1234”。现在,当我运行 bluez-simple-agent 时,我得到以下信息:

ubuntu@ubuntu-armhf:/etc/bluetooth$ sudo bluez-simple-agent hci0 00:0D:18:A0:4E:35
Creating device failed: org.bluez.Error.AlreadyExists: Already Exists
Run Code Online (Sandbox Code Playgroud)

如果它工作正常,那就太好了,但是当我尝试使用 rfcomm 绑定时,我反复收到“无法连接 RFCOMM 套接字:无效交换”(重新启动设备后第一次),然后“无法连接 RFCOMM 套接字:此后每次都出现“连接被拒绝”的情况。

这是我的 /etc/bluetooth/rfcomm.conf 文件:

rfcomm0 {
    # Automatically bind the device at startup
    bind no;

    # Bluetooth address of the device
    device 00:0D:18:A0:4E:35;

    # RFCOMM channel for the connection
    channel 16;

    # Description of the connection
    comment "OBDII";
}
Run Code Online (Sandbox Code Playgroud)

运行“rfcomm bind 0”确实在 /dev/rfcomm0 成功创建了一个设备:

rfcomm0: …
Run Code Online (Sandbox Code Playgroud)

ubuntu bluetooth bluez beagleboneblack elm327

5
推荐指数
1
解决办法
6862
查看次数

BeagleBone Black 通过内核驱动程序中断

我正在尝试处理中断,但由于 ioread32,我收到以下错误。

\n\n

正如我在《AM335x SitaraTM 处理器 - 技术参考手册》的“25.3.3 中断特性”一章中看到的

\n\n

为了在 GPIO 引脚上发生定义的事件(电平或逻辑转换)时向主机处理器生成中断请求,必须按如下方式对 GPIO 配置寄存器进行编程:

\n\n

\xe2\x80\xa2 必须在 GPIO_IRQSTATUS_SET_0 和/或 GPIO_IRQSTATUS_SET_1 寄存器中启用 GPIO 通道的中断。

\n\n

\xe2\x80\xa2 必须在 GPIO_LEVELDETECT0、GPIO_LEVELDETECT1、GPIO_RISINGDETECT 和 GPIO_FALLINGDETECT 寄存器中选择输入 GPIO 上触发中断请求的预期事件。

\n\n
[ 1737.604270] Loading hello_interrupts module...\n[ 1737.604426] HI: Initialized GPIO #36 to IRQ #164\n[ 1737.604478] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa1ac02c\n[ 1737.612611] Internal error: : 1028 [#1] SMP THUMB2\n[ 1737.617696] Modules linked in: hello_interrupts(O+) g_multi libcomposite omap_rng mt7601Usta(O) [last unloaded: hello_interrupts]\n[ 1737.630128] CPU: 0 …
Run Code Online (Sandbox Code Playgroud)

c++ kernel-module embedded-linux beagleboard beagleboneblack

5
推荐指数
1
解决办法
4964
查看次数

Linux 相当于 Windows“启动”文件夹

我想在我的嵌入式 Linux 桌面启动时运行一个程序,就像 Windows 在“启动”文件夹中运行程序一样。我怎样才能做到这一点?

具体来说,我的目标硬件是 Beaglebone Black,Debian 变体(rev C 板)。窗口管理器是默认的。

linux debian beagleboneblack

5
推荐指数
1
解决办法
1万
查看次数

BeagleBone Black 如何用作大容量存储设备?

是否可以使用 BB 作为大容量存储设备?

我希望它连接到一个音频播放器,该播放器可以从 USB 连接(例如 USB 闪存驱动器)读取文件,并充当包含文件系统(如果可能的话,在连接到开发板的闪存驱动器。)。

正如设备规格所述,它具有以下连接性:

  • 用于电源和通信的 USB 客户端
  • USB主机

操作系统可能是 Ubuntu,但可以更改。

为了实现这一目标,需要完成哪些驱动程序或配置?

linux filesystems usb usb-mass-storage beagleboneblack

5
推荐指数
1
解决办法
5508
查看次数

BeagleBone Black OpenCV Python太慢了

我尝试用opencv和python从网络摄像头获取图像.代码是如此基本:

import cv2
import time
cap=cv2.VideoCapture(0)
cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH,640)
cap.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT,480)
cap.set(cv2.cv.CV_CAP_PROP_FPS, 20)

a=30
t=time.time()
while (a>0):
        now=time.time()
        print now-t
        t=now
        ret,frame=cap.read()
        #Some processes
        print a,ret
        print frame.shape
        a=a-1
        k=cv2.waitKey(20)
        if k==27:
                break
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

但它运作缓慢.程序输出:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
HIGHGUI ERROR: V4L: Property <unknown property string>(5) not supported by device
8.82148742676e-06
select timeout
30 True
(480, 640, 3)
2.10035800934
select timeout
29 True
(480, 640, 3)
2.06729602814
select timeout …
Run Code Online (Sandbox Code Playgroud)

python opencv beagleboneblack

5
推荐指数
1
解决办法
2512
查看次数

openwrt中的工具链?

我已经安装openwrtbeaglebone black. 我发现它没有gccg++或任何其他编译器/工具链。

如何在 openwrt 中安装 C 和 C++ 编译器(最好是 g++)?

gcc openwrt g++ beagleboneblack

5
推荐指数
1
解决办法
7011
查看次数

如何在 BeagleBoneBlack 上启用和使用 SPI

我有一个 BeagleBoneBlack Wireless,我想使用 SPI(和 I2C)。我发现很难获得有关如何在 BBB 上设置和使用 SPI 的明确说明。首先,我不清楚 BBB 的默认配置是什么。我似乎有两个 SPI 设备:

$ ls /dev/spi*
/dev/spidev1.0  /dev/spidev1.1  /dev/spidev2.0  /dev/spidev2.1
Run Code Online (Sandbox Code Playgroud)

我似乎也有 I2C:

$ ls /dev/i2c*
/dev/i2c-0  /dev/i2c-1  /dev/i2c-2
Run Code Online (Sandbox Code Playgroud)

我不清楚这些总线是否实际上多路复用到引脚,或者它们是否真的不可用。如果它们连接到引脚,究竟哪条总线是哪条?

我尝试使用引脚多路复用信息(来自此处)进行检查,该信息告诉我对于 SPI1 芯片选择 0,我应该使用偏移量为 0x19C 的引脚,因此我查询了该引脚上的模式:

$ sudo cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins | grep 44e1099c
pin 103 (44e1099c.0) 00000002 pinctrl-single
Run Code Online (Sandbox Code Playgroud)

它作为模式 2 返回,这对我来说不是很有用(它不是 SPI)。我试图按照有关为此设置覆盖的说明(从这里),但这需要对我的内核进行一些调整,即使那时似乎也无济于事。

请有人指点我一些说明,使这更清楚一点,并且理想情况下与我使用的内核版本(4.4.30)相匹配?

linux spi beagleboneblack

5
推荐指数
1
解决办法
6168
查看次数

#interrupt-cells 是 2,但中断是 3 元组

我正在查看 Beagle Bone Black 的设备树,并从 开始am57xx-beagle-x15.dts。深入研究dra7.dtsi我发现gpio1

gpio1: gpio@4ae10000 {
            compatible = "ti,omap4-gpio";
            reg = <0x4ae10000 0x200>;
            interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
            ti,hwmods = "gpio1";
            gpio-controller;
            #gpio-cells = <2>;
            interrupt-controller;
            #interrupt-cells = <2>;
        };
Run Code Online (Sandbox Code Playgroud)

我读过它#interrupt-cells给出了列表中的一项所期望的 u32 或单元格的数量interrupts。但是当我查看时,interrupts我看到了一个三元组:<GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>。我很想知道,为什么它包含 3 个单元而不是 2 个?

linux beagleboard beagleboneblack

5
推荐指数
1
解决办法
1002
查看次数