Questions tagged «embedded»

在嵌入式计算机系统(例如网络设备,移动电话,媒体播放器,机顶盒等)中使用Unix。

5
适用于嵌入式Linux的防腐蚀SD卡文件系统?
最近,我们的客户遇到了一个非常不愉快的情况-用于显示遥感数据的基于Raspberry Pi的“信息亭”(比显示信息收集服务器中的自我更新网页的信息亭模式的浏览器更有趣)由于以下原因而无法启动文件系统损坏。Ext4,需要手动fsck,系统将成为明天重要演示的一部分,需要立即维修。当然,当晚上关闭系统时,我们不能要求客户很好地关闭系统。系统必须简单地承受这种虐待。 我希望将来避免此类情况,并且希望将操作系统移至可以防止这种情况的文件系统。有许多用于MTD设备的文件系统,要使其在SD卡(标准块设备)上运行,需要进行一些严重的跳动。还有一些其他文件系统(新闻发布系统等)具有良好的抵御腐败能力。我仍然需要对它们的优缺点进行一些合理的比较。 Linux中可用的哪种文件系统可以最好地抵御意外电源故障时的损坏,并且不需要为了安装到SD 而跳过像yaffs2这样的不可能的箍。 磨损平衡是一个加号,但不是必须的-SD卡通常具有其自身的机制,即使不够完美,尽管该系统应该是“温和的闪存”(例如NTFS之类的系统可以在一个月内谋杀SD卡)。

2
将zip文件挂载为只读文件系统
我正在寻找一种将ZIP归档文件挂载为文件系统的方法,以便可以透明地访问归档文件中的文件。我只需要读取访问权限-ZIP不会被修改。RAM消耗很重要,因为这是针对(资源受限的)嵌入式系统的。有哪些可用选项?


3
如何从uImage提取文件?
Buildroot正在为应在其上运行的嵌入式设备生成映像。这运作得很好。在那些映像中,包括rootfs。 由于进行了一些研究,我想研究一下生成的文件(例如,应用了Buildroot设置的不同压缩模式,现在将检查是否正确完成了压缩模式),但是在网络中找不到有用的东西。 据我所知,uImage和zImage之间的区别只是一个很小的头,因此u-boot能够读取该二进制文件。但是我无法打开uImage或zImage。 谁能给我提示如何在主机上解压缩(u / z)图像?

3
将具有自定义PID的USB串行设备连接到嵌入式ttyUSB0
我试图获得带有自定义PID的FTDI USB串行设备,以自动(甚至手动)连接到ttyUSB%n,但没有成功。设备的常规VID / PID为0403/6001。以这种方式进行编程后,它可以完美工作并在插入后自动将其自身附加到ttyUSB0。即使重新编译驱动程序以遵守我们的新PID,使用自定义编程时也不会出现一个ttyUSB0,但它确实将其识别为ftdi_sio设备,并且加载驱动程序。 我已经将我们的PID添加到标题和源中: // in ftdi_sio_ids.h #define FTDI_CUSTOM_PID 0xABCD // not the actual pid // then in ftdi_sio.c static struct usb_device_id id_table_combined [] = { // devices.... { USB_DEVICE(FTDI_VID, FTDI_CUSTOM_PID) }, // .... 重新编译整个内核并刷新设备。当我插入设备时,我得到: usb 1-1: new full-speed USB device number 2 using at91_ohci usbcore: registered new interface …

6
Shell命令读取设备寄存器?
在运行Linux的单板计算机上,是否可以读取控制硬件的设备配置寄存器的内容?我认为这将是的包装inw()。 我正在寻找与U-boot内存转储(md)命令等效的命令,以便在驱动程序调试的上下文中使用。
18 linux  memory  embedded 

4
完全引导linux所需的最小根文件系统应用程序是什么?
这是有关用户空间应用程序的问题,但是请听我说! 可以说,启动Linux的功能发行版需要三个“应用程序”: Bootloader-对于嵌入式设备,通常不是U-Boot,虽然不是硬性要求。 内核-非常简单。 根文件系统-没有它就无法启动到外壳。包含内核引导至的文件系统,并在其中init称为表格。 我的问题是关于#3的。如果有人想构建一个极小的rootfs(对于这个问题,可以说没有GUI,仅shell),那么引导到shell需要什么文件/程序?

3
如何在RAM中使用rootfs进行Linux引导?
rootfs是一个squashfs映像,我的引导程序正在将其加载到SDRAM中的某个地址中。我需要将什么参数传递给内核,以便可以从那里挂载rootfs?Squashfs支持是内置的,已经可以与 root=/dev/mtdblock2 rootfstype=squashfs 从闪存启动。 编辑:这是使用自定义引导程序的基于MIPS的嵌入式设备。通常,引导加载程序将闪存中的压缩内核提取到SDRAM中,然后内核将/ dev / mtdblock2挂载为rootfs。我正在尝试改进引导程序,以便它可以将映像下载到其RAM并引导而不写入闪存。 我无法弄清楚如何使Linux在RAM中将文件系统映像作为rootfs挂载。
16 linux  embedded  mips 

2
使用只读根文件系统是嵌入式安装的一个好主意吗?
我的任务是在嵌入式设备上将Linux作为操作系统运行。 该目标具有x86处理器和8 GB CompactFlash设备用于存储。 我设法使用buildroot来创建内核映像和交叉编译工具。我将CF设备划分为一个小的FAT分区,该分区中包含内核映像以及syslinux引导配置和一个ext3文件系统,在其中我将buildroot生成的根文件系统解压缩到该文件系统中。 该系统已成功地引导使用syslinux由根目录设置为CF ext3分区在我的buildroot的文件系统所在。 我的问题集中在面对即时(且频繁)断电的鲁棒性需求上,因为断电后设备能否成功启动至关重要。我已经读过,将根文件系统安装为只读是确保数据完整性的一种方法。这是我进行下去的明智方式吗? 我还阅读了将根文件系统加载到RAM中以实现相同功能的可能性,但目前尚不知道如何实现。 有没有实现该目标的首选方法,如果是,那么我进行下去的最佳方法是什么?

3
增加内核内存大小
我有一个带有512MB RAM的嵌入式板,运行Linux 2.6.29和UBoot引导程序。但是内核只能使用128MB的RAM。 我尝试更改的值XCODE_MEMSIZE,我认为该值确定内核使用多少RAM。 当我将其设置为512时,内核在启动时崩溃。是否还有其他需要更改的配置参数?

2
守护程序(即后台)进程是否可以从USB键盘查找按键?
我正在从事一个嵌入式Linux项目,在该项目中,我将开发一个程序,该程序将在启动时自动运行,并通过字符显示和某种按钮阵列与用户进行交互。如果我们使用简单的GPIO按钮阵列,我可以轻松编写程序来查找这些GPIO线上的按键。但是,我们的想法之一是使用USB数字键盘设备代替用户输入。我的理解是,这些设备将以USB键盘的形式呈现给操作系统。如果沿着这条路走,我的程序有一种方法可以从Linux内部在此USB键盘上寻找输入,请记住没有虚拟终端或VGA显示。插入USB键盘后,“ / dev”中是否有一个实体可以为我打开文件描述符?
13 linux  usb  keyboard  embedded 

1
如何观察内存带宽?
我有一个嵌入式Linux ARM系统,该系统显示出的吞吐量明显低于以太网和USB上的预期。我怀疑内存可能有所贡献。有没有办法观察在以太网或USB上进行吞吐量测试时消耗的内存带宽?

4
使用交叉编译的Valgrind
我已经从Valgrind主干下载了源代码,并将其构建为可在由ARM926(ARMv5t架构)支持的嵌入式Linux系统(Montavista Linux)上使用。一切运行良好,直到我尝试运行它以检查我已完成的某些应用程序为止。瓦尔格朗德告诉我: “ valgrind:无法为平台“ arm-linux”启动工具“ memcheck”:没有此类文件或目录”。 尝试运行任何其他工具都会给出相同的消息。对于make install,我使用--prefix选项指向通过NFS挂载的嵌入式系统的文件系统(例如--prefix = / home / NFS_ Mounted / opt / valgrind)。我检查了安装位置,其中的lib目录包含正确的工具;我还检查了Valgrind的相应pkgconfig文件,它似乎还可以,所以我现在有点笨拙,无法弄清楚出了什么问题。2个问题: 这样使用/安装交叉编译的Valgrind是否正确?也许我在设置方面做错了,或者也许我缺少了涉及主机系统的某些东西(例如gdb / gdbserver)。 有没有人尝试过在ARM体系结构上运行它?我知道该支持是最近才开始的,所以我想知道是否可以取得不错的结果。

5
选择哪种最小但可扩展的Linux发行版
我需要一个可扩展的Linux发行版,可以轻松减小其大小,使其适合64 mb CF卡。 在此剥离版本中,它将在Via C7上运行,并且需要内核,网络,shell,基本perl和ftp服务器。嵌入式系统有一些可以做到这一点的发行版,但是我要求将来应该可以扩展此集合,例如,扩展到基本的X设置或python,而不是perl等。 您知道哪个发行版可以执行此操作?Fedora,Debian,Ubuntu等主要发行版中的任何一个都可以减少这么多吗? 编辑:我看了嵌入式Debian似乎很接近我需要的东西。可悲的是,由于主要维护者的健康问题,发展似乎停滞了。

1
使只读/ etc可写
我正在处理运行Linux的嵌入式设备。该设备的制造商对其进行了设置,以便将根文件系统加载为只读。 在/ etc / mtab中: rootfs / rootfs rw 0 0 /dev/root / squashfs ro,relatime 0 0 这意味着我无法修改/ etc中的任何文件,例如添加新用户。 我试过重新挂载根目录: mount -o remount,rw -t squashfs /dev/root / 但是我得到一个错误 mount: cannot remount block device /dev/root read-write, is write-protected 我查了这个错误,有人说要使用blockdev。该系统未安装blockdev,因此我对其进行了交叉编译并进行了复制。然后我跑了 blockdev --setrw rootfs 但是我又得到一个错误: blockdev: cannot open rootfs: No such file or …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.