问题标签 [nanopi]
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.
linux - NanoPi Neo 板上的定制 Linux 构建
我是为嵌入式板构建自定义 linux 操作系统的菜鸟 - 所以请忽略我的无知。
我有一个名为 NanoPi NEO 的板,它有定制的 Debian linux。现在开发板附带一个 .img 文件,可以将其闪存到 SD 卡上并插入插槽,然后开发板从卡上启动。
现在我正在尝试构建自己的自定义 linux 并闪存到 SD 卡。我已经浏览了论坛和手册,并设法做到了这一点。
问题
我了解自定义 linux 构建包含三个组件
- boot0 - 加载 BootLoader 的东西
- U-Boot - 众多 BootLoader 之一。(项目使用这个)。
- Rootfs - 文件系统和其他一切。
电路板制造商的网站提供了这些用于构建自定义操作系统的说明。我按照这些说明进行了所有操作,包括对 SD 卡进行正确分区(前面有用于 boot0 的可用空间,带有 uImage 和 Script.bin 的引导分区,以及用于 rootfs 的分区)
问题是板子在启动时加载内核,但没有安装文件系统并证明用户提示。
这是 Dmesg 输出。
我与他们提供的图像的 Dmesg 进行了比较,它是相同的(没有额外的错误)。唯一的区别是它不会在最后一条消息及以上停止,而是继续发送更多这样的消息
所以我想问题是没有正确检测和安装rootfs。请指导我。
c++ - linux下使用nanopi2 fire的硬件编码
我正在尝试使用 nanoPi 2 防火板计算机对原始帧进行编码。我为它创建了 api: https ://github.com/friendlyarm/nexell_linux_platform
根据 nx_video_api.h 我需要打开设备,初始化它,为输入和输出帧分配内存,然后使用“NX_VidEncJpegRunFrame”推送编码。
然而这就是问题所在,谁能帮我为这个结构“NX_VID_ENC_IN”分配内存?如何在那里放置原始框架?它应该是什么像素格式?如何从“NX_VID_ENC_OUT”读回数据?
我在该芯片上找不到任何用于硬件编码的示例或教程,因此任何示例都会非常有用。
boot - NanoPi 2 Fire 无法启动操作系统映像
通过 buildroot 构建输出后,我在 image dir 中找到了 4 个文件:u-boot.bin uImage rootfs.tar.gz 和 rootfs.tar。
我用 sdfuse nanopi2 和 master 提取它,当然我从预建目录中删除 zImage 并通过 HDMI 连接在板上通电,但屏幕仅显示彩色水平条,板上的蓝色 LED 持续亮起。
当我使用 win32diskimager 提取 NanoPi2 Debian 映像时,它可以工作并启动 Debian 操作系统。
我使用 UART 并显示以下消息:
assembly - Allwinner H3 上的多核组件
我正在使用 NanoPi Neo Air,我发现无法让任何代码在任何其他内核上运行。我没有使用操作系统。这个例子展示了如何让多核代码在 Raspberry Pi 上运行。但是,除了Linux 源代码之外,我还没有找到任何关于 NanoPi 等效代码的信息。我试图在 ARM 程序集中编写一个等效的 smp_boot_secondary 函数,但这不起作用。
我是以错误的方式接近这个吗?
gpio - 我认为是 Geany 与 nanopi M1 的链接错误
你好吗?。我对 Geany 有一个大问题(或者至少我不知道如何解决),在 nanopi M1 中使用 Debian jessie。
历史如下:
我正在尝试运行 nanopi M1 附带的一些修改后的演示代码来控制 GPIO 端口,因此,当我在编译后试图“构建”程序时,它显示以下错误:
在 main 函数中它说:
我正在使用 gcc,这些命令是在 geany 中预加载的,并且是:
编译:
建造:
所以我认为(如果我理解了我在 stackoverflow 的其他帖子中读到的内容)这是一个链接错误,但不知道如何解决它。
之后,我将 Build 命令修改为:
这使得没有错误,但生成的文件现在是“目标代码”类型(这是错误的),因为我需要“可执行”文件(没有扩展名)并且终端给出以下消息:
我不知道如何解决这个问题,请帮助!
linux - 无法使用官方驱动程序从嵌入式 linux 上的 IR 传感器获取数据
我在 nanopi NEO 空气板上运行 linux 映像(使用 buildroot 和制造商提供的 4.11.2 内核制作),IR 传感器直接插在 IR 引脚上。我想使用传感器从红外遥控器获取数据。
我按照此处找到的程序,使用相同的驱动程序,得到了相同的结果,但我无法从中获取任何数据/dev/input/eventX
,也无法让我的遥控器出现/proc/bus/input/devices
(我尝试在插入驱动程序时使用遥控器发送数据,或者在启动时驱动程序是内置的,但它显然没有工作,我没有找到太多的信息)。
我也尝试使用 lirc 和 evtest / irrecord,但我仍然无法获得任何数据,我相信问题出在其他地方。
我用示波器测试了传感器和遥控器,所以我知道传感器正在从遥控器获取帧。我也相当确定这不是驱动程序方面的协议不匹配。
所以我有两个问题:
- 问题出在哪里,为什么我跑步时什么都得不到
cat /dev/input/eventX
? - 我的遥控器是否应该显示出来
/proc/bus/input/devices
,是否有我应该注意的配对程序?
如果这些是微不足道的问题,请原谅(我以前从未从事过 IR 工作),并提前感谢您。
编辑
我设法让我的遥控器使用制造商提供的旧图像之一(内核 3.4.39-h3),我注意到:
- 我正在使用的驱动程序不起作用(它永远不会进入读取 FIFO 的中断函数,并且与 FIFO 关联的物理地址始终为 0)
- 旧图像的驱动程序在其 init 函数(硬编码)中注册了以下输入设备,然后我使用它从远程(使用
cat /dev/input/event1
)获取数据:
所以现在我想知道我是否也应该在我正在使用的驱动程序中注册该设备,如果是,我应该怎么做?
docker - 在 nanoPI 上运行 docker 容器会导致“执行格式错误”
目标是在我的 nanoPI 上以与在 ubuntu 服务器机器上相同的方式运行 docker 容器。
我最近在尝试时遇到了以下错误docker run -it kylemanna/openvpn
:
standard_init_linux.go:185: exec user process caused "exec format error"
docker-compose
使用容器方法执行时我也遇到同样的错误
由于无论我是否使用 docker compose 都会遇到问题,因此我开始认为该错误可能是我在 nanoPI 上使用 docker。它可能不会以相同的方式得到支持。
但是,我可以很好地执行其他容器/图像hello-world
,, ubuntu
, 等。
如何确定此错误的原因?的源代码在哪里standard_init_linux.go:185
?而且,我做错了什么?
bluetooth - 无法将蓝牙遥控器连接到运行 linux 的 SBC
我在 nanopi NEO 空气板上运行 buildroot 生成的 linux 映像(内核 4.11.2),我很难连接到我的 ruwido 遥控器。
当我使用 hcitool 扫描设备时,我可以看到它:
但我无法建立连接(它就像遥控器不在这里):
我唯一能做的就是获取一些有关它的信息:
我也不能使用 bluetoothctl,因为它没有检测到我的界面,即使它已初始化,bluetoothd 正在运行并且模块已加载:
我的问题是,如何将遥控器配对并连接到电路板?不管是通过 hcitool、bluetoothctl 还是其他工具。
更新
感谢Prabhakar Lad 的评论,bluetoothctl 现在正在检测接口,但是问题仍然存在并且问题似乎已经缩小:
SMP错误似乎与蓝牙低功耗安全有关,所以我应该使用不同的工具进行配对吗?
附加信息
我实际上将busybox初始化系统与我在制造商的图像中找到的蓝牙初始化脚本(即nanopi-neo-air_FriendlyCore-Xenial_4.11.2_20171113.img)一起使用并进行了调整,以便它们可以与busybox init(图像是 systemd/upstart)。
所以我有两个文件:
- /etc/init.d/S35brcm_patchram_plus:补丁固件(该卡使用 AMPAK ap6212 蓝牙/wifi 组合模块)
- /etc/init.d/S38bluetooth:启动蓝牙
我在 buildroot 2017.08.1 中使用 bluez 5.47 和以下选项:
video - 我们希望以 30 FPS (nanoPi NEO Air) 获得 h264 编码全高清视频
我们正在使用带有 CAM500B 摄像头的 NanoPi NEO Air 板。我们希望以 30 FPS 的速度对全高清视频进行 h264 编码,但最高可达到 7FPS。我们正在使用以下命令来使用 H3 处理器的硬件加速:
有没有办法使用此硬件获得等于 30 FPS 的视频传输速率?
如果不可能,您能否向我们推荐具有上述支持的相同 NanoPi Neo Air 尺寸内的可操作硬件解决方案?
或者,如果您不能推荐硬件,您能否向我们推荐一款与 NanoPi NEO Air 兼容并可以提供 1080p@30fps 视频的相机?
python - 为什么我的OV5640相机图片在使用Python和OpenCV时出现竖条?
我有一个连接到 NanoPi NEO Air 板的 CAM500B OV5640 相机。使用开发板附带的 mjpg-streamer 演示时,相机输出看起来正确。然而,当尝试在 Python 中使用 OpenCV 拍摄静止图像时,图像输出看起来像一条垂直拉伸的像素线。