AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[embedded](unix)

Martin Hope
SMAero22
Asked: 2023-06-02 12:16:45 +0800 CST

为什么 linux 在尝试访问连接到轻量级 hps-to-fpga 桥接器(或任何桥接器)的外围设备时会冻结?

  • 6

我已经在 Altera DE1-SoC 开发板上工作了 8 个月。我正在处理的系统包括一个 Cyclone V FPGA 芯片,尤其是 5CSEMA5F31C6N。它在芯片上运行嵌入式 Linux 操作系统。

一切都很好,开发正在进行中。两周前,公司的一名硬件工程师组装了一块新的定制板。设计和组件与开发板的大部分相似。所有与 HPS 相关的引脚都以相同的方式连接,一个主要区别是默认控制台端口是 UART1。这个问题已经解决,我现在可以通过 UART1 接收 U-boot 和内核消息。

但是系统并没有完全启动。我已将此归因于多种原因。首先,我有一个 init.d 脚本可以导出 GPIO LED 并创建一个 sysfs 文件。导出 gpio pin 有效,但是,改变方向,或改变值,或从中读取,会导致系统冻结。我在 init.d 脚本上禁用了该功能并重新启动了设备。这次引导在另一个 init.d 脚本行上失败。该行将更改轻量级桥中寄存器的值。命令是devmem 0xFF200XXX 32 1,其中 XXX 是特定的寄存器。

我尝试在所有网桥上使用 devmem,但所有尝试都会冻结 Linux。我尝试在 HPS 的 UART 寄存器、HPS 的 SDCard 寄存器(此处引用)上使用 devmem ,但它没有冻结。

我可以通过读取每个桥的状态 sysfs 文件来验证桥是否已启用: fpga_bridge state returns enabled

我还可以通过此 dmesg 输出验证网桥是否链接到驱动程序: dmesg output

我使用 Quartus Platform Designer 在 hps 配置中启用了所有三个桥接器。我的 u-boot.scr 中也有以下几行:

fatload mmc 0:1 $fpgadata soc_system.rbf;
fpga load 0 $fpgadata $filesize;
setenv fdtimage soc_system.dtb;
run bridge_enable_handoff;
run mmcload;
run mmcboot;

我还尝试按照这些说明通过 U-boot 命令行启用网桥。

但是,我无法将任何内容写入 $l3regs: 写入 l3regs

我正在使用带有 4.4 Linux 内核的 Buildroot 2016.05 构建操作系统。要创建 .rbf、.dts、.dtb、preloader-mkpimage.bin 和 u-boot 文件,我使用的是 SoC EDS 18.1 [Build 625]。

我已经没有什么可以尝试的了。

如果我能够使用 sysfs 文件从 Linux 操作系统打开和关闭 LED,我会认为问题已解决。

假设硬件是正确的,还有什么可能是原因,我该如何解决?

embedded
  • 1 个回答
  • 23 Views
Martin Hope
user1104939
Asked: 2022-10-07 04:43:54 +0800 CST

USB转以太网:无法传输任何包

  • 2

我有一个通过 USB 连接的带有 lan7500i-ABZJ 的定制嵌入式 linux 板。

所以我用内置的 smsc75xx 模块编译了 linux 内核(使用 buildroot)。启动内核消息确实显示:

    [    5.315124] usb 1-1: New USB device found, idVendor=0424, idProduct=7500, bcdDevice= 2.00
    [    5.324072] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    5.340746] smsc75xx v1.0.0
    [    5.539195] smsc75xx 1-1:1.0 eth1: register 'smsc75xx' at usb-ci_hdrc.0-1, smsc75xx USB 2.0 Gigabit Ethernet, 8e:64:f6:eb:5e:65

现在我添加一个 IP 地址:

    ifconfig eth1 192.168.1.44 netmask 255.255.255.0 up

但是,一旦我尝试 ping 本地网络上的地址,所有数据包都会丢失:

    # ping 192.168.1.40
    PING 192.168.1.40 (192.168.1.40): 56 data bytes
    ^C
    --- 192.168.1.40 ping statistics ---
    3 packets transmitted, 0 packets received, 100% packet loss
    # arp
    ? (192.168.1.40) at <incomplete>  on eth1

并且没有包通过接口传输:

    eth1      Link encap:Ethernet  HWaddr 8E:64:F6:EB:5E:65  
              inet addr:192.168.1.44  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

没有其他网络接口处于活动状态。对 localhost 的 ping 是有效的,所以我假设 TCP/IP 级别的一切正常。为什么我不能使用我的以太网接口?

networking embedded
  • 1 个回答
  • 18 Views
Martin Hope
Gabriel Staples
Asked: 2022-09-13 16:57:35 +0800 CST

Buildroot:syslog-ng 登录到“/var/log/messages.1”文件而不是“/var/log/messages”

  • 1

我正在使用 Buildroot 构建嵌入式 Linux 板(此处为用户手册)。

我已经syslog-ng在板上运行了。它的配置文件在此处的 buildroot 中指定:https://github.com/buildroot/buildroot/blob/master/package/syslog-ng/syslog-ng.conf:

@version: 3.37

source s_sys {
    file("/proc/kmsg" program_override("kernel"));
    unix-stream ("/dev/log");
    internal();
};

destination d_all {
    file("/var/log/messages");
};

log {
    source(s_sys);
    destination(d_all);
};

请注意,它将目标指定为"/var/log/messages",但板上的活动日志记录正在进入一个名为 的文件/var/log/messages.1,并且该/var/log/messages文件甚至不存在。这是为什么?有没有办法/var/log/messages代替登录到文件?

我们过去使用的 Syslog 登录到/var/log/messages,我们正试图保持这种行为以保持一致性。

补充说明

  1. ls -1 /var/log在运行的板上syslog包含以下messages文件:
    messages
    messages.1
    messages.2
    messages.2.gz
    messages.3
    messages.4
    messages.5
    messages.6
    messages.7
    
  2. ls -1 /var/log在运行的板上syslog-ng包含这些messages文件(缺少通知messages):
    messages.1
    messages.2
    messages.3
    messages.4
    messages.5
    messages.6
    messages.7
    
  3. 在syslog-ng板上,tail -f /var/log/messages.1显示它不断接收记录的消息,这是出乎意料的,因为当使用syslog“活动”文件时/var/log/messages。
linux embedded
  • 1 个回答
  • 47 Views
Martin Hope
Gabriel Staples
Asked: 2022-06-18 13:45:04 +0800 CST

当我尝试在嵌入式 Linux 板上使用 netcat 发送 UDP 数据包时,“连接被拒绝”

  • 0

我正在尝试通过 netcat ( nc) 将二进制数据包发送到本地进程,如下所示:

nc -w 1 -u localhost 10000 < my_binary_packet.bin

输出是:

read(net): Connection refused

有谁知道发生了什么?

我得到相同的结果nc -w 1 -u 127.0.0.1 10000 < my_binary_packet.bin

networking embedded
  • 1 个回答
  • 471 Views
Martin Hope
arcomber
Asked: 2022-06-07 23:08:06 +0800 CST

如何测量linux需要多长时间关机

  • 1

我需要计算 linux 需要多长时间才能关机。我在 ARM i.MX7 上运行嵌入式busybox linux。我看了看,/var/volatile/log/messages但那只显示了最后一次启动。我需要知道系统需要多长时间才能关闭,例如shutdown -h -P now。

我怎样才能得到一个相当精确的测量值?

embedded performance
  • 1 个回答
  • 63 Views
Martin Hope
E.M.
Asked: 2022-04-12 19:36:47 +0800 CST

Yocto 如何将 systemd 嵌入到最终项目中?

  • 0

如何自定义 systemd 源代码?当我进行 bitbake 时,systemd 出现在我的最终项目中,但我在本地目录中找不到它的任何源文件。我想在我的嵌入式项目的 journalctl 中跟踪单元文件的生命周期,log_debug(...) 和 log_info(...)s 没有显示(出现一些消息,但没有为我提供足够的信息)。Yocto 是否会提取 systemd 源文件,编译然后删除它们,如果是这样,我该如何防止删除,自定义代码然后重新编译?

systemd embedded
  • 1 个回答
  • 135 Views
Martin Hope
mistyron
Asked: 2022-03-04 17:30:22 +0800 CST

为什么我无法使用 U-Boot 从分区加载文件?

  • 0

由于某种原因,我的 U-Boot 似乎无法从我的 FAT32 分区加载文件:

=> mmc part

Partition Map for MMC device 1  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            62519296        a1d1165e-01     0b
=> fatls mmc 1:1
    52560   file1.bin
     1984   file2.bin
      456   file3.bin
       64   file4.bin
=> fatload mmc 1:1 0x0001FF80 file1.bin
** Reading file would overwrite reserved memory **
Failed to load 'file1.bin'

为什么我会得到Failed to load以及如何绕过它?

partition embedded
  • 1 个回答
  • 403 Views
Martin Hope
Philippos
Asked: 2021-09-28 21:25:25 +0800 CST

yocto:未安装 psplash 自定义可执行文件

  • 0

根据检测到的硬件,我需要启动两个psplash具有不同图像的可执行文件之一,所以在我psplash_%.bbappend的

SPLASH_IMAGES = "file://bootscreen1.png;outsuffix=type1 \
                 file://bootscreen2.png;outsuffix=type2"

如果我这样做了,我会在 in以及 in甚至in 中bitbake找到一个psplash-type1andpsplash-type2可执行文件,但它不会包含在最终的 rootfs 中(我只找到了)。tmp/work/.../psplash/buildpackagepackages-splitimagepsplash-write

我真的需要显式安装可执行文件,同时psplash-default自动psplash创建链接,并且还神奇地创建了自定义可执行文件吗?

linux embedded
  • 1 个回答
  • 115 Views
Martin Hope
Sir Muffington
Asked: 2020-03-05 14:32:59 +0800 CST

如何仅使用文本编辑器更改 eth0 MAC 地址?

  • 0

我正在运行 OpenWrt(=每个 SSH 的 Busybox),所以我的二进制文件数量是有限的。我想只使用 nano 之类的文本编辑器来更改我的 MAC 地址。

network-interface embedded
  • 1 个回答
  • 892 Views
Martin Hope
GENIVI-LEARNER
Asked: 2020-02-09 14:59:40 +0800 CST

从编译嵌入式 Linux 内核到为目标平台生成镜像

  • 0

所以我最近收购了基于君正 SoC 的 RS-97 游戏,它运行 MIPS 指令集。供应商含糊地提供了有关如何为目标 SoC 编译 linux 内核的说明。因此,根据供应商说明和在线搜索,需要以下内容才能获得该平台的嵌入式 linux 映像。

  1. 编译工具链(mipsel for mips based architecture)
  2. 使用工具链使用给定的驱动程序/BSP 编译 linux 内核
  3. 编译根文件系统 - Busybox 建议(不知道为什么)
  4. 为目标 SoC 编译 uBoot
  5. 使用目标特定的分区表对 sd 等存储进行分区
  6. 将整个图像刷入sd

所以问题是,为什么根文件系统与内核映像是分开的?busybox 在生成文件系统中起什么作用?另外,如果 linux 映像是在没有根文件系统的情况下编译的,如何将两者合并以在根文件系统的 /sys 目录中拥有驱动程序?

linux embedded
  • 1 个回答
  • 242 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve