标签: embedded

(linux) 帧缓冲区和 GPU 内存有什么区别?

Linux 或软件控制的帧缓冲区与 GPU 内存有什么区别?有没有好的图解指南来解释 Linux 帧缓冲区的工作原理?在带有 GPU 的嵌入式板上,我们通常使用帧缓冲区还是 GPU 来处理实时视频输入?

embedded video framebuffer

4
推荐指数
1
解决办法
3058
查看次数

为什么ICU库这么大?

我正在尝试减小嵌入式系统的大小。所以我正在研究我可以删除什么。

最大的文件之一是:libicudata.so.52.1,长度为 23 Mo。这是我系统的重要组成部分。

  • 我正在使用 java 和 apache :他们使用 libicu 吗?
  • 为什么这个文件这么大?
  • 有没有替代库?

linux embedded debian

4
推荐指数
1
解决办法
5606
查看次数

如何在 iPhone / iPad / Kindle 等嵌入式设备上测试触摸屏?

我想根据以下标准在 iPhone、iPad 和 Kindle 等嵌入式设备上测试触摸面板:

  1. 做一个手势,比如点击、滑动、捏合(放大/缩小)10000 次,并验证每次手势确实被检测到并被检测为点击、滑动、捏合(放大/缩小)。

  2. 在触摸面板(屏幕)上轻敲 10000 次,并确保软件堆栈报告的触摸位置坐标确实是您轻敲的位置。

我还想了解更多关于我可以做什么其他触摸测试的想法?

linux bash embedded touch-screen touchpad

3
推荐指数
1
解决办法
1911
查看次数

如何使用 qemu 运行 Buildroot Linux 镜像?

我已经为 i386 编译了一个带有 Buildroot 的嵌入式 Linux。我没有编辑太多,只是默认。现在我想在qemu下运行它。但我看到的唯一一件事是: 在此处输入图片说明

我正在使用以下选项运行 qemu:

qemu-system-i386 -kernel vmlinux -hda rootfs.ext2 -m 256
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我已经按照 buildroot 文档中的示例进行了编译。

embedded qemu buildroot

3
推荐指数
1
解决办法
5589
查看次数

如何在自定义构建的嵌入式设置中禁用 IPv6

我有一个使用 buildroot 构建的嵌入式系统。我遇到了许多网络问题,其中之一是我的机器尽管位于同一子网上,但无法看到其网关。我曾尝试使用 wireshark 来分析发生了什么但没有成功,因此作为最后的手段,我正在考虑尝试关闭对 IPv6 的支持,因为我不需要它(我的设备不需要 DNS 或任何类似的东西,只需要能够与其子网上的其他本地计算机通信)。我已经读到我可以通过编辑关闭 IPv6,/etc/modprobe.conf但我的设置中不存在此文件。我还能做些什么来禁用 IPv6 或者是在没有 IPv6 支持的情况下从头开始构建内核的唯一选择?

networking embedded ipv6 linux-kernel ipv4

3
推荐指数
1
解决办法
7265
查看次数

我的 cpio 命令中的错误是什么意思?

我一直在我的系统上使用以下命令来创建 .cpio 存档来为我的嵌入式目标设备创建一个 initramfs

sudo find . | cpio -H newc -oc > ~/initramfs.cpio
Run Code Online (Sandbox Code Playgroud)

这一直对我有用,没有任何问题。昨天我正在生成一个新的存档,我收到以下错误:

cpio: Archive format multiply defined: Operation not permitted
cpio: ./etc/shadow: Function open failed: Permission denied
cpio: ./usr/lib/ssh-keysign: Function open failed: Permission denied
64842 blocks
Run Code Online (Sandbox Code Playgroud)

我过去从未收到过这些错误,提到的打开失败的文件也没有被触及,所以我不明白为什么会发生这种情况。我使用 Ubuntu 包管理器更新了我的主机系统,因此我的cpio包也可能已更新。由于所有让我非常困惑的错误,我显然不相信这里生成的 initramfs。我能想到的唯一选择是尝试找出我的cpio版本是否已更改,如果已更改,请删除并替换为我拥有的旧版本。有什么办法可以在我的系统(Ubuntu 12.04)上找到这些信息?或者有其他方法可以解决这个问题吗?

embedded initramfs cpio

3
推荐指数
1
解决办法
2690
查看次数

Systemd - 服务如何从重新启动运行确定第一次运行?

我想要一个在第一次运行和重新启动服务时表现不同的服务。这可以用 systemd 实现吗?(我在嵌入式操作系统中使用 systemd)。

我尝试使用 ExecReload 和 ExecStart,但仅当我使用命令“systemctl restart”时才运行 ExecReload。另一方面 ExecStart 在服务重启后运行(我有 Restart=on-failure 和 RestartSec=5)。

linux embedded systemd

3
推荐指数
1
解决办法
1084
查看次数

如何使用 yocto 项目在内核中生成 /sys/kernel/debug/tracing 文件夹?

我想perf在 Renesas 目标上使用,我配置了 yocto“local.conf”,如本链接所示

#avoid stripping binaries 
INHIBIT_PACKAGE_STRIP = "1"

#add the debug information
EXTRA_IMAGE_FEATURES= "debug-tweaks tools-debug dbg-pkgs tools-profile"

#format the debug info into a readable format for PERF
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
Run Code Online (Sandbox Code Playgroud)

perf正在工作,但我需要监视需要使用的上下文切换perf timechart以及依赖于性能事件的其他命令,但这些命令找不到此路径 "/sys/kernel/debug/tracing/events" 。

我应该怎么做才能用我的内核编译这个文件夹及其文件?

debugging embedded linux-kernel perf yocto

3
推荐指数
1
解决办法
5358
查看次数

有没有办法在 eMMC 上以原子方式将文件和目录从 tempfs 移动到 ext4 分区

我们有基于 beaglebone 黑色的定制板,具有 256MB RAM 和 4GB eMMC。主板运行 Linux 内核 4.9

我们遇到了一种情况,我们在其中创建了一个文件tempfs,然后在验证之后,我们必须将它移动到 eMMC 的 ext4 分区。只归档一个certificate

在某些情况下,我们在一个目录中有多个证书,因此我们必须将整个目录从 tempfs 移动到 eMMC 上的 ext4 分区。

所以,我们所担心的问题之一是atomicitymv(移动)操作。

根据rename系统调用 Linux 手册页重命名文件是一个原子操作。 http://man7.org/linux/man-pages/man2/rename.2.html

但是我们不确定重命名操作是否涉及在两个文件系统之间移动文件,原子性仍然可用。所以问题是将文件从原子移动tmpfsext4原子吗?

显然,一种可能的解决方案是将文件保存在同一分区上的不同文件夹中(显然在同一文件系统上)并使用mv. 对于使用以下重命名方法的目录

SRC_dir  --> TMP_DEST_dir
DEST_dir --> BAK_DEST_dir
TMP_DEST_dir --> DEST_dir
delete BAK_DEST_dir
Run Code Online (Sandbox Code Playgroud)

对替代品的任何建议?

编辑
在我得到回复后,我尝试在板上遵循测试代码,

#include <stdio.h>
#include <errno.h>

int main()
{
    int retcode = 0;

    system("touch /tmp/rename_test");

    retcode = rename("/tmp/rename_test", "/home/fs_rename_test");

    if ( retcode …
Run Code Online (Sandbox Code Playgroud)

linux embedded ext4 rename tmpfs

3
推荐指数
1
解决办法
1824
查看次数

减少启动时间

我很想找到减少启动时间的方法,特别是在嵌入式相关环境中。

我已经在某处阅读了一种避免内核加载某些驱动程序或模块的方法,但我完全迷失了,而且我在互联网上找到的所有信息都非常复杂和密集。

任何人都可以提出实现这一目标所需的一般步骤吗?也许我错了,这与内核无关。

boot embedded kernel-modules raspberry-pi beagleboneblack

3
推荐指数
1
解决办法
1601
查看次数