embedded-linux相关内容

嵌入式linux ARM启动地址

我按照一些文档通过 sdcard 在 ARM 板上启动嵌入式 Linux(例如:飞思卡尔 Vybrid 塔).文档中有构建uImage和将u-boot写入sdcard的步骤如下: sudo dd if=u-boot.imx of=/dev/sdX bs=512 seek=2mkimage -A arm64 -O linux -T 内核 -C 无 -a 0x81000000 -e 0x810000 ..
发布时间:2021-11-17 21:59:22 其他开发

从 FIQ 中断处理程序访问内核驱动程序数据失败

在 ARM FIQ 中断上,我们保留了一些仅供 FIQ 使用的寄存器,这些是“保存状态"的便捷方式,例如 FIQ 调用之间的数据传输. 目前我正在从 FIQ 触发一些 GPIO 引脚,它按预期工作.在设置 FIQ 处理程序时,我将指针传递到数据寄存器,这些寄存器是用 ioremap 映射的.工作代码如下所示: //驱动初始化:静态字符* dout0;静态字符* din0;...静态 int ..

使用 GDB 生成时如何限制核心转储文件的大小

我在 ARM9 板上运行嵌入式应用程序,其中总闪存大小仅为 180MB.我能够运行 gdb,但是当我这样做时 (gdb) 生成核心转储 出现错误 警告:核心文件部分的内存读取失败,0x4156c000 处为 1048576 字节.警告:核心文件部分的内存读取失败,0x50c00000 处为 1048576 字节.保存的核心文件 core.5546程序正在运行.无论如何退出(并分离它) ..
发布时间:2021-11-17 21:58:42 服务器开发

uboot 如何在不使用 DTS 的情况下将硬件信息传递给内核

我是嵌入式 Linux 开发的新手.我必须将 uboot 和自定义 Linux 发行版移植到新的基于 ARM 的主板上. 我们使用的 uboot (2009.08) 没有 Arch 和 DTS 文件夹.我想它是一个较旧的版本,它不使用 DTS 将硬件信息传递给内核(v 3.0).我已经阅读了很多关于 DTS 的信息,但是关于这种(过时的?)将硬件信息从 uboot 传递到我们正在使用的内核的 ..
发布时间:2021-11-17 21:58:20 其他开发

如何在嵌入式Linux中更改看门狗定时器

我必须使用 linux 看门狗驱动程序 (/dev/watchdog).效果很好,我写了一个这样的角色: echo 1 >/开发/看门狗 看门狗启动,大约1分钟后,系统重新启动. 问题是,如何更改超时时间?我必须在驱动程序中更改时间间隔? 解决方案 请阅读Linux 文档.从用户空间更改超时的标准方法是使用ioctl(). int timeout = 45;/* 以秒为单位的 ..
发布时间:2021-11-17 21:54:55 服务器开发

无法为 ARM 交叉编译 Mono

在过去的三天里,我一直在尝试使用我的 Win7 32 位机器上的虚拟 Ubuntu (12.04) 和 CodeSourcery Sourcery 为 TechNexion Blizzard 板(运行未知版本的 Angstrom)交叉编译 Mono 2.11.4G++ ARM 工具链,但很少/没有成功.我已经学习了网络上的每个教程,但它不起作用. CodeSourcery Sourcery ..
发布时间:2021-11-17 21:48:37 其他开发

如何在buildroot中重建rootfs

我将设置构建环境,为 AT91SAM9X25 开发板制作我自己的 linux 嵌入式系统.我正在使用 buildroot 来做到这一点.make 命令构建所有目标,首先构建工具链,然后打包,然后是 rootfs 和 rootfs 的图像(tar、cpio ...).要重建 rootfs,我通常使用 make clean 然后 make.make clean 命令删除所有工具链,包括工具链. ..
发布时间:2021-11-17 21:47:22 服务器开发

ARM9上的valgrind?

我看到 valgrind 有一个 ARM7 目标,但我发现有关 valgrind 是否支持 ARM9 的信息相互矛盾.我正在使用的 ARM9 目标正在运行 linux. 有没有人特别成功地在 ARM9 目标上使用 valgrind?如果是这样,您可以提供的任何指示都会有所帮助,包括“您是如何构建它的?". 谢谢 -z 解决方案 Valgrind 在 ARM-v7(架构名称 ..
发布时间:2021-11-17 21:47:00 其他开发

linux内核如何管理小于1GB的物理内存?

我正在学习 linux 内核内部结构,在阅读“了解 Linux 内核"时,很多与内存相关的问题让我印象深刻.其中之一是,如果我的系统上仅安装了 512 MB 的物理内存,则 Linux 内核如何处理内存映射. 据我所知,内核将 0(或 16)MB-896MB 物理 RAM 映射到 0xC0000000 线性地址,并且可以直接对其进行寻址.因此,在上述情况下,我只有 512 MB: 内核 ..

为什么 arm-linux-gnueabi-g++-4.4 总是构建一个“7-A"?二进制?

我正在运行 Ubuntu 12:04LTS 并安装了 arm-linux-gnueabi C 和 C++ 编译器.编译后的二进制文件不会在我的目标板上运行.看起来即使我指定了 cpu 和 arch,编译器仍然会为错误的 CPU 构建二进制文件.而不是 atm9tdmi 它构建和 7-A. 我做错了什么还是我应该配置什么?谢谢. ~/ArmTest$ arm-linux-gnueabi-g+ ..
发布时间:2021-11-17 21:43:09 服务器开发

将大量二进制数据从 u-boot 传递到 linux 内核

在 imx50 ARM 板上将大量数据 (3 MB) 从 uboot 传递到 linux 内核 2.6.35.3 时遇到一些问题.此数据在内核设备驱动程序探测函数中是必需的,然后应将其释放.首先 uboot 将数据从闪存加载到 RAM,然后使用 bootargs 为 linux 内核传递物理地址.在内核中,我尝试使用 arch/arm/kernel/setup.c 文件中的 Reserve_res ..
发布时间:2021-11-17 21:40:03 其他开发

为 arm 交叉编译单声道

有没有人在没有scratchbox或qemu的情况下成功地在Linux下为ARM交叉编译mono? (可能使用 distcc 或一些交叉编译器工具链) 解决方案 我使用 CodeSourcery Lite 工具链在 Ubuntu 机器上安装了 Scratchbox 2,成功地交叉编译了 mono(2.0, 2.4, 2.6, 2.8, 2.10.1).我使用了 Mono 项目页面中的 ..
发布时间:2021-11-17 21:39:26 其他开发

ARM(特别是移动设备)外设寻址和总线架构的解释?

我先说我不是该领域的专家,我的问题可能包含误解,在这种情况下,如果你纠正我并附上资源,我会很高兴,以便我了解更多细节. 我试图弄清楚系统总线以及移动设备中出现的各种设备(例如传感器芯片、wifi/BT SoC、触摸面板等)是如何被 CPU 寻址的(以及其他 MCU). 在 PC 世界中,我们有将命令/数据路由到设备的总线仲裁器,而且地址是硬连线在板上的(如果我错了,请纠正我).然而,在 ..
发布时间:2021-11-17 21:39:14 其他开发

__asm__ __volatile__ ("" :: : "memory") 的工作

__asm__ __volatile__ () 的基本作用是什么,“内存" 对 ARM 架构有什么意义? 解决方案 asm volatile("" ::: "memory"); 创建编译器级别的内存屏障,强制优化器不重新排序跨屏障的内存访问. 例如,如果您需要以特定顺序访问某个地址(可能是因为该内存区域实际上由不同的设备而不是内存支持),您需要能够将此告诉编译器,否则它可能只是优化 ..
发布时间:2021-11-17 21:37:44 其他开发

如何在 u-boot 中禁用串行控制台(非内核)

我正在为 Intel Edison 构建 Yocto 映像. 图像的一个组件是带有 Edison 特定补丁的 u-boot.默认情况下,Edison 的 UART 端口用于 u-boot 控制台.我想禁用此功能,但只能在串行接口上​​(u-boot 也侦听 USB 并且需要保留). 我主要关心的是 UART 端口上的“按任意键停止自动启动"功能.我需要这个端口来连接一个附件,它可能会在 ..
发布时间:2021-10-04 19:50:28 服务器开发

Yocto Dunfell 在单个自定义元层中使用多台机器出现错误“无可用配方"

我维护了一个与 Dunfell 兼容的自定义 Yocto 元层.它支持基于 Microchip SAMA5D27 处理器的开发板.我在这一层中有几个 bbappend 文件,它们仅适用于来自 meta-atmel 和其他 Microchip 特定封装的文件. 现在,我想重用这个自定义元层的许多部分,并支持来自不同供应商的新处理器.我在我的层中创建了自己的新图像配方,其中不包含这些仅与 Mic ..
发布时间:2021-10-04 19:50:07 服务器开发