embedded-linux

配置 Linux 内核的保留内存量
embedded-linux

配置 Linux 内核的保留内存量

我在具有 64MB 物理 RAM 的嵌入式设备上运行 Linux。Linux 在启动时打印以下消息: [ 0.000000] Memory: 58944K/65536K available (3072K kernel code, 576K rwdata, 832K rodata, 1024K init, 192K bss, 6592K reserved, 0K cma-reserved) 6592K 的“保留”内存用于什么?是否可以手动更改此值?我似乎无法在互联网上找到对此的任何令人满意的解释。 这答案表明“保留”内存由设置/proc/sys/vm/m...

Admin

cdrtools 和 dvd+rw 工具在 am5728 Linux 内核中安装问题?
embedded-linux

cdrtools 和 dvd+rw 工具在 am5728 Linux 内核中安装问题?

我正在使用以下命令在 am335x 中安装 dvd+rw-tools-7.1 和 Cdrtools-3.02a09 1.dvd+rw-tools-7.1 root@am57xx-evm:/dvd+rw-tools-7.1#sed -i '/stat.h/a #include <sys/sysmacros.h>' growisofs.c && sed -i '/stdlib/a #include <limits.h>' transport.hxx && make all rpl8 btcflash roo...

Admin

如何使用 TFTP 和 TBS Bootloader 恢复损坏的 D-LINK DAP-1360 wifi 接入点?
embedded-linux

如何使用 TFTP 和 TBS Bootloader 恢复损坏的 D-LINK DAP-1360 wifi 接入点?

screen我有一个 D-LINK DAP-1360 WiFi 接入点(硬件版本 F2),它似乎已损坏。我可以通过 RX 和 TX 端口以及使用命令的会话访问终端screen /dev/ttyACM0 115200。 以下是我从 RX/TX 端口获取的终端上可用的命令D-LINK DAP-1360: RTL8196# ? ? - alias for 'help' base - print or set address offset booth - boot kernel from host bootm - boot applicat...

Admin

如何启用 BeagleBoard X15 上的 4 个 SPI 接口,以便它们在 /dev 目录中可见?
embedded-linux

如何启用 BeagleBoard X15 上的 4 个 SPI 接口,以便它们在 /dev 目录中可见?

我已经使用 buildroot 配置并编译了 Linux 内核。我想在用户模式下访问此板上的 spi 总线。以下是我编译内核的步骤。 1- 克隆 buildroot repo:版本 2023.02-rc1 $ git clone https://github.com/buildroot/buildroot.git && cd buildroot 2- 为主板加载 defconfig $ make beagleboardx15_defconfig 3- 对菜单配置所做的更改 $ make menuconfig Toolchain ---&...

Admin

如何确定 USB 设备已协商的电量大小?
embedded-linux

如何确定 USB 设备已协商的电量大小?

我知道当 USB 设备首次连接到计算机/集线器时,它只能消耗 100mA 电流(如果是 USB 3.0,则为 150mA)。它必须通过配置描述符的字段协商更高的功率bMaxPower。然后主机可以选择此配置或选择较小的配置。 因此,例如,某个设备可能请求 500mA,但它可能只接收 300(例如,如果集线器无法提供更多电流)。 有没有办法(最好在 Linux 中)知道这个协商的结果?更具体地说,如果我正在开发嵌入式设备,我想知道我是否收到了我的全部请求。如果我无法获得足够的功率来实现全部功能,我希望减少功能或向用户显示错误。 到目前为止(使用lsusb和下的...

Admin

如果我们不使用可加载模块,我们可以放弃 Linux 初始 ramdisk 吗?
embedded-linux

如果我们不使用可加载模块,我们可以放弃 Linux 初始 ramdisk 吗?

我想在不使用 ramdisk 映像的情况下启动嵌入式机器。我理解使用 ramdisk 的原因之一是它可以加载访问根分区所需的文件系统模块(以便继续从根分区加载剩余的模块)。但是,如果我们将所有内容编译到内核映像中会怎么样?我们还需要 ramdisk 吗?我说的是一个非常基本的嵌入式系统,所以我不需要很多功能。这可能吗? ...

Admin

“udevadm info”命令未显示 ID_BUS 数据
embedded-linux

“udevadm info”命令未显示 ID_BUS 数据

我正在开发一款具有 ARM cortex-a53 的嵌入式主板。为了在此主板上添加对“udevadm”的支持,我下载了“buildroot-2022.02”(https://buildroot.org/downloads/buildroot-2022.02.tar.gz) 并为我的平台进行交叉编译。 当我跑步时乌德瓦德命令我得到了以下输出。 root@root:~$ udevadm info /dev/sda P: /devices/platform/2f0b80000.sata/ata1/host0/target0:0:0/0:0:0:0/block/sd...

Admin

嵌入式Linux发行版中redis-server的内存优化
embedded-linux

嵌入式Linux发行版中redis-server的内存优化

我正在尝试优化redis-server 版本 6.0.5安装在具有 2 GB RAM 的嵌入式 Linux 发行版中。 目前 redis 服务器没有出现任何特定故障。 redis-server命令的输出top如下: Mem: 1539492K used, 342412K free, 80900K shrd, 21288K buff, 412440K cached CPU: 9% usr 4% sys 0% nic 85% idle 0% io 0% irq 0% sirq Load average: 1.24 1.32 1.30 1...

Admin

如何使用 inotify 和 cpp 监视 Linux 设备上的文件更改?
embedded-linux

如何使用 inotify 和 cpp 监视 Linux 设备上的文件更改?

我在嵌入式 Linux 设备上运行了一个 cpp 应用程序。现在,我希望应用程序报告设备上的文件是否发生变化。我遇到了std::filesystem库和inotify(推荐),但无法完全理解如何将其集成到我的应用程序中。有没有包装器或库inotify?要工作(lib)需要满足哪些依赖关系inotify?任何入门示例都会有所帮助。有人能帮我理解吗? PS:Linux 发行版是使用 Yocto 项目构建的。我是否应该使用 Yocto 安装任何库(inotify-tools)? ...

Admin

DVR 错误:kex_exchange_identification:读取:对端重置连接
embedded-linux

DVR 错误:kex_exchange_identification:读取:对端重置连接

我的 DVR 已连接到互联网,但使用 ssh 时,错误为 kex_exchange_identification:读取:对等方重置连接。它是端口 22,我无法访问 Linux 终端。系统无法通过命令行访问,因为它没有功能,修复需要 cli 访问,而由于 ssh 错误,DVR 无法访问。客户端是 Zmodo H.264 DVR zmd-dt-sfn6。请问有什么修复方法吗? ...

Admin

除了详细(-vvv)命令之外,我们如何调试 SSH 日志?
embedded-linux

除了详细(-vvv)命令之外,我们如何调试 SSH 日志?

尝试使用 Putty 通过主板 IP 地址通过 SSH 进入主板时,端口 6655 关闭了 SSH 连接。除了详细命令外,我还能如何调试 SSH 日志和进程? 详细日志如下: mytsp00382@mytsp00382-OptiPlex-7040:/media/mytsp00382/ROOTFS$ ssh -vvv 192.168.10.102 OpenSSH_7.6p1 Ubuntu-4ubuntu0.6, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /et...

Admin

dhcpd 在重启后不发出相同的租约
embedded-linux

dhcpd 在重启后不发出相同的租约

我正在运行由 Yocto(Zeus,3.0.0)构建的 4.14.149,并且我们正在提取 dhcpd 的 OpenEmbedded 版本(我认为是 4.4.1 版本)。 这是我的配置文件: # # DHCPd config for private network # # The ddns-updates-style parameter controls whether or not the server will # attempt to do a DNS update when a lease is confirmed. We default to t...

Admin

我如何知道连接到 Linux 计算机的 USB 3 设备是否实际使用了 SuperSpeed 通道?
embedded-linux

我如何知道连接到 Linux 计算机的 USB 3 设备是否实际使用了 SuperSpeed 通道?

我有一个在 ARM 处理器上运行 Linux 的嵌入式平台。 有一个通过 USB3 HUB(永久嵌入在 PCB 上的 Hub,而不是手动连接到 PC 的 Hub)连接的 USB3 摄像头。 我的目标是查明: a) 相机是否真正使用了 SuperSpeed 或 b) 尽管它声称是 3.0,但实际上只是标准的 2.0 速度。 为了发现这一点,我已经做了以下事情: ls -D给我这样的信息: bcdUSB 3.10 bDeviceClass 239 Miscellaneous Device ...

Admin

具有不平衡块擦除计数的 EMMC
embedded-linux

具有不平衡块擦除计数的 EMMC

我们开发了一款嵌入式Linux产品,需要每周7天、每天24小时不间断的往8GB eMMC芯片中写入数据。通过发送CMD56命令读取eMMC芯片内部每个块的块擦除次数,发现擦除次数分布并不均衡,比如从块号50-83开始,每个块大约被擦除了6000次,其他块每个块大约被擦除了500次。 。 据我所知,eMMC 在其自己的固件中具有 FTL(闪存转换层)和磨损均衡功能。因此,无论分区数是多少以及每个文件系统有多大,擦除次数都应该等于平均值​​。我说得对吗?现在我们有 3 个分区:P1:250MB(根文件系统)、P2:250MB(备份根文件系统)、P3:6.7GB...

Admin

为什么 Yocto Linux 中的 IPtables 和内核模块版本不匹配?
embedded-linux

为什么 Yocto Linux 中的 IPtables 和内核模块版本不匹配?

我正在尝试将 IPtables 添加到 Yocto Linux 映像中,但我认为已编译模块的版本和 IPtables 所需的模块不匹配。IPtables 正在寻找 下的模块,/lib/modules/4.9.88但内核模块位于 下/lib/modules/5.4.94。 root@imx6ullevk:~# iptables -L modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.9.88+g5e23f9d61147 iptables v1.8.5 (legacy)...

Admin