标签: beagleboneblack

C++ 11 Threads,Error纯虚函数调用

这是一个非常小的C++ 11 Thread API代码,我正在尝试编译

#include<iostream>
#include<thread>

using namespace std;

void threadFunction(void)
{
    cout<<"hello from thread:";//<<this_thread::get_id()<<endl;
}

int main()
{
    std::thread t(threadFunction);
    t.join();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)



在编译它为
g ++ thread1.cpp -pthread -std = c ++ 11
我得到以下错误
名为
terminate的纯虚方法在没有活动异常的情况下被 调用
Aborted


有什么不对,请有人帮忙
请注意我正在使用ARM A8处理器在Beaglebone Black上进行编译

c++ multithreading pthreads c++11 beagleboneblack

7
推荐指数
1
解决办法
3208
查看次数

gstreamer流式传输到nginx rtmp服务器

PS:第一次gstreamer用户在这里.:)

我试图从使用gstreamer连接到beaglebone的logitech c920网络摄像头流式传输视频到nginx服务器.但不知何故,rtmpsink对我失败了.但是,随着filesink能够将视频保存在beaglebone上.虽然我仍然有一些帧丢失问题而没有音频,但我希望流媒体部分能够先工作.Im使用的命令是

GST_DEBUG=4 GST_DEBUG_FILE=gst2.log gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true average-bitrate=5000000 iframe-period=33  src.vidsrc  ! queue ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! flvmux ! rtmpsink location="rtmp://192.168.1.104:1935/hls/movie"
Run Code Online (Sandbox Code Playgroud)

我的调试输出在这里. 要旨

gstreamer在5秒内退出.

我验证了流媒体服务器的工作原理.但是从客户端来看,gstreamer并没有给我任何错误信息.或者我不知道如何正确调试它.

我坚持这个问题持续了这么多天.任何帮助,将不胜感激.

谢谢.

更新1

:我能够使用ffmpeg将本地文件发送到我的rtmp服务器,并且服务器正在按预期处理它.

ffmpeg -re -i /Users/r3dsm0k3/10.mp4 -vprofile baseline -ar 44100 -ac 1 -c copy -f flv rtmp://192.168.1.4:1935/hls/example
Run Code Online (Sandbox Code Playgroud)

用fakesink试过gstreamer并没有任何错误.

更新2

也试过v4l2src,没有运气.

nginx rtmp gstreamer beagleboneblack

7
推荐指数
1
解决办法
6323
查看次数

BeagleBone Black冻结了

我们目前正在开发BeagleBone Black的应用程序(使用标准的Angstrom发行版).它在GDB(由Netbeans远程控制)下运行一段时间(5-10分钟)非常愉快,但在一些相对随机的时间点会冻结 - 心跳LED停止闪烁并需要完全重启.

一种可能性是它只是造成这种情况的(USB)设备的数量.我们通过FTDI串行链接连接到我的开发PC(有一个客户端应用程序与我的BBB服务器通信).有一个4路FTDI集线器,其上有多个设备(当前为3个),另一个FTDI连接与另一个硬件连接.另外,两个I2C设备.加上鼠标和键盘.

当然,除了传闻之外,我没有任何其他证据表明这是USB导致的问题.我的软件没有引起任何信号,日志文件告诉我更多信息.我已经运行了系统监视器应用程序,看看我是否正在泄漏内存,但它看起来表现良好且稳定(尽管CPU确实在上升).我想找到一种方法来了解失败的原因,并希望得到一些帮助.

angstrom-linux beagleboneblack

7
推荐指数
1
解决办法
3412
查看次数

如何在Linux内核3.17上编辑BeagleBone Black的pinmux?

我可以看看/sys/kernel/debug/pinctrl/44e10800.pinmux/pins我感兴趣的引脚:

pin 38 (44e10898.0) 00000037 pinctrl-single 
Run Code Online (Sandbox Code Playgroud)

这对应于GPIO[2]4,或P8.10.

我正在使用带有内核的Fedora 21 3.17.7-300.fc21.armv7hl.

我想将多路复用器更改为0x27.总之,这会将引脚配置为具​​有内部下拉电阻(之前,它是上拉电阻).

期望的输出是:

pin 38 (44e10898.0) 00000027 pinctrl-single 
Run Code Online (Sandbox Code Playgroud)

可以做些什么?

注意:没有/sys/devices/bone_capemgr.*,因为这不是Angstrom.典型的DTO方法通过修改开普管理器来导出更改.这不是一个选择.

编辑:经过tad思考,我做了: dtc -I dtb -O dts -o ~/am335x-boneblack.dts /boot/dtb-3.17.7-300.fc21.armv7hl/am335x-boneblack.dtb.我编辑了这个文件:

...
    pinmux@44e10800 {
        ...

        example { 
            pinctrl-single,pins = <0x898 0x27>;
        };
    };
...
Run Code Online (Sandbox Code Playgroud)

然后,我再次编译它dtc,插入/boot/dtb-3.17.7-300.fc21.armv7hl/并重新启动.然而,没有任何改变.发生了什么?

编辑:

正如Charles Steinkuehler所指出的那样,0x800需要从偏移量中减去,而"某些东西"需要引用"示例".

如果我添加0x098 0x27到我的条目中user_leds_s0,则会观察到所需的行为:

...
    user_leds_s0 {
        pinctrl-single,pins = <0x54 0x7 0x58 0x17 …
Run Code Online (Sandbox Code Playgroud)

linux-device-driver gpio device-tree beagleboneblack

7
推荐指数
1
解决办法
9534
查看次数

如何使用Debian工具链从Win7 + Eclipse + MinGW + wxWidgets到Beaglebone Black进行编译?

我在Windows环境的编程方面有一些经验,但我需要在BeagleBone Black上开发一个"Kiosk"(我听说这是正确的名称).我是Linux的新手,也是我将要使用的工具的新手.直到最近几个月,我一起开发VB6并且C++Builder只开发了.

现在我有Eclipse,MinGWwxWidgets在我的Windowns 7 64位PC和BeagleBone Black上启动Debian 7.8 LXDE.

我需要设置一个工具链来编译BeagleBone Black.我非常努力地读了至少一百页,但我还是没弄明白.

本网站我了解到可以从Windows编译Linux,这可能是完美的解决方案.如果不可能的话,我已经有一台运行Ubuntu的虚拟机(但我可以根据需要更改)准备好Eclipse和其他东西安装.

我仍然对使用/构建的工具链感到迷茫.这个网站似乎已经建立了一个工具链,但是没有任何迹象表明从哪里开始.我知道我现在应该wxWidgets使用这些工具编译,但我不确定,而且我也不想弄乱我在Windows中当前的工作设置,因为我错过了一个开关或路径.

我看到这个问题是多次被问到的,但我找不到一个最新的问题,所以我再问一遍.

如何使用工具链来编译GUI应用程序,从Windows使用Eclipse,MinGW以及wxWidget运行Debian的BeagleBone Black和LXDE

c++ eclipse toolchain beagleboneblack

7
推荐指数
1
解决办法
1532
查看次数

使用BeagleBone Black在启动时执行脚本

我有一个a.out,我想我的时候运行BeagleBone开机.它实际上是一个套接字服务器,我想在BeagleBone启动时立即启动它.我试着把它放进去/etc/init.d,但它没有帮助.我写了一个shell脚本来运行这个可执行文件,但即使这样也无济于事.

如何在脚本启动后立即运行脚本,我该怎么办?

debian startup beagleboneblack

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

用于Beagle Bone Black的I2C Slave驱动程序

我想在从机模式下使用Beagle Bone Black上的I2C总线.通过搜索,随机帖子的评论部分会提出问题,但从未回答是否可能.

它似乎使用从属模式I2C并不是Linux中的常见需求,但我在Android版本中找到了这个示例:https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop -release/drivers/i2c/i2c-slave.c和linux kernal网站上的这个文件:https://www.kernel.org/doc/Documentation/i2c/slave-interface.

我正在使用Debian Wheezy发行版,但无法在Linux内核文档中引用的Android文件或i2c-slave-eeprom驱动程序中找到引用.我只是使用太旧的内核吗?如何生成从模式驱动程序?

linux i2c beagleboneblack

7
推荐指数
1
解决办法
1257
查看次数

如何使用Debian 8.2图像闪烁BeagleBone Black eMMC?

这个网站说...

要将这些图像转换为eMMC闪存图像,请编辑microSD卡上Linux分区上的/boot/uEnv.txt文件,并使用'cmdline = init =/opt/scripts/tools/eMMC /删除行上的'#' init-eMMC-flasher-v3.sh".启用此功能将导致启动microSD卡以刷新eMMC.

uEnv.txt文件中不存在此类行.我也没有init-eMMC-flasher-v3.sh在启动分区的任何地方看到该文件,尽管它可能位于隐藏分区上(至少隐藏在Windows中).

我试过拿着S2(这似乎是一个较旧的(可能是?)闪烁方法)没有成功.

debian beagleboneblack

7
推荐指数
2
解决办法
7368
查看次数

QEMU与BeagleBone的支持

我想模仿BeagleBone Black.似乎QEMU是唯一支持ARM的Linux仿真的仿真器.但是我很难获得正确的模拟器.

我尝试使用qemu.org中的QEMU构建但似乎不支持机器"beagle"(也来自"qemu-system-arm -machine help"的输出并不是最小的beagle作为支持的机器).我发现一些帖子说Linaro有一个支持BeagleBone的qemu版本,并且可以在Ubuntu上使用apt-get安装它.还有一个youtube视频,其中包含说明:

https://www.youtube.com/watch?v=__6XmxOrL3o

然而,似乎指令不再有效.我有Ubuntu 14.04.我尝试了以下方法:

1)sudo add-apt-repository ppa:linaro-maintainers/tools

这超时并报告错误的PPA格式错误.

2)然后我按照这里的说明:

https://wiki.linaro.org/Platform/Systems/Repository

但是,添加这些存储库后,没有添加qemu,所以在我的apt存储库中,我只有来自qemu.org的qemu(不支持beaglebone)

3)然后我找到了这个页面:

https://launchpad.net/~linaro-maintainers/+archive/ubuntu/tools

所以我尝试了以下内容:

sudo add-apt-repository http://ppa.launchpad.net/linaro-maintainers/tools/ubuntu

然后还使用"sudo apt-key add"命令下载并添加了公钥.

这似乎是在做了"sudo apt-get update"和"apt-cache show qemu-system"之后我看到了以下内容:

包:qemu-system来源:qemu-linaro版本:2.2.0~rc3 + git8 + gdb12451-63linaro + trusty架构:amd64维护者:Ubuntu开发人员安装大小:133812取决于:qemu-linaro-keymaps,libasound2(> = 1.0 .16),libbluetooth3(> = 4.91),libbrlapi0.6,libc6(> = 2.15),libcurl3-gnutls(> = 7.16.3),libfdt1,libgcc1(> = 1:4.7),libgl1-mesa-glx | libgl1,libglib2.0-0(> = 2.24.0),libgnutls26(> = 2.12.17-0),libncurses5(> = 5.5-5~),libpixman-1-0(> = 0.15.16),libpng12 -0(> = 1.2.13-4),libpulse0(> = 1:0.99.1),libsasl2-2(> = 2.1.24),libsdl1.2debian(> = 1.2.11),libstdc ++ 6( > = 4.6),libtinfo5,libuuid1(> = 2.16),libvdeplug2,libx11-6,zlib1g(> = 1:1.2.0)建议:samba Breaks:qemu(<< 0.11.0-2),qemu-kvm-临时演员(<< 0.13.50-2011.02-0~rc1-0ubuntu1)取代:qemu(<< 0.11.0-2),qemu-kvm-extras(<< 0.13.50-2011.02-0~rc1-0ubuntu1) …

ubuntu apt qemu beagleboneblack linaro

7
推荐指数
1
解决办法
5109
查看次数

如何让 CAN 总线在 docker 容器内运行?

我成功地对在 Beaglebone black 上运行的 Nodejs 应用程序进行了 docker 化。但现在我想从 docker 容器内访问 CAN,但它不起作用。

\n

请注意,我成功地在主机中配置了 CAN 端口,并且 candump 显示它可以工作。

\n
$ candump can1\n  can1  18FF30D0   [8]  00 00 00 00 00 00 00 00\n  can1  18FF02D0   [4]  00 00 00 00\n  can1  18FF21D0   [3]  00 00 00\n  can1  18FF3CD0   [4]  00 7D 28 7D\n  can1  18FF30D0   [8]  00 03 00 00 00 00 00 00\n  can1  18FF02D0   [4]  00 00 00 00\n
Run Code Online (Sandbox Code Playgroud)\n

我在 Dockerfile 中构建了 socketcan 节点模块,如下所示:

\n
 #If you don't …
Run Code Online (Sandbox Code Playgroud)

can-bus node.js docker beagleboneblack

7
推荐指数
1
解决办法
4589
查看次数