embedded-linux相关内容

如何在 ARM 上设置 Linux 内核命令行?

我的理解是,对于 ARM,内核引导命令行一般有三个来源: 在内核配置中作为 CONFIG_CMDLINE 给出的那些 引导加载程序传递的那些(通常是 ARM 处理器上的 U-Boot) 那些包含在设备树中的,在 selected/bootargs 下使用哪一个取决于内核配置参数.我的问题是如何使用内核配置在这些选项之间进行选择? 一个可以附加到另一个,即我们可以使用 CONFIG_ ..

为 ARM 编译 QEMU

我正在编译 Compiling QEMU for ARM.参考以下链接:--http://opensourceforu.efytimes.com/2011/06/qemu-for-embedded-systems-development-part-1/ 我正在使用以下下载:-- http://download.savannah.gnu.org/releases/qemu/qemu-0. ..
发布时间:2021-11-17 22:30:19 服务器开发

在用户空间处理 GPIO ARM9 Embedded Linux AM1808

我必须将我的 GSM 模块与基于 ARM9 的 AM1808 连接起来. 我已将所有 GPIO 引脚分配给 Da850.c 以及 mux.h 文件.我成功创建了一个 uImage 并将该图像插入到我的闪存中. 我需要处理来自用户应用程序的一些 GPIO. 我知道我们可以从 Kerel 空间处理 GPIO,但我需要从用户空间处理. 例如,我为 GSM 模块分配了一个用于电源键 ..
发布时间:2021-11-17 22:29:59 其他开发

为什么交叉编译 Arm Linux GCC 会出错?

我正在尝试使用 AppWeb,我编写了一个非常简单的程序将 AppWeb 嵌入到我的应用程序中,它使用 AppWeb 库中的一个函数. #include int main(int argc, char** argv){返回 maRunWebServer("appweb.conf");} 不知道什么时候用gcc(或cc)编译,编译成功.但是,当我交叉编译到 Arm 架构时,一直出错.这是我的 M ..
发布时间:2021-11-17 22:29:06 其他开发

gcc --- __attribute__((interrupt(irq)))

我从 arm 的设备驱动程序开始......我看到每个处理程序提到 --- __attribute__((interrupt( irq ))) -.我很困惑这个属性如何放置调用我们的驱动程序..?? arm 的 IRQ 有以下向量地址--- 0x00000018 (或 0xFFFF0018)因为同一行上可以有许多中断处理程序.假设我们有 4 个设备驱动程序,每个驱动程序都有自己的 IRQ 需 ..
发布时间:2021-11-17 22:22:02 其他开发

为什么我不应该在 ARMv6+ 的系统内存上使用 ioremap?

我需要从内核中保留一个物理连续 RAM 的大缓冲区,并能够保证缓冲区将始终使用特定的硬编码物理地址.该缓冲区应在内核的整个生命周期内保留.我编写了一个 chardev 驱动程序作为访问用户空间中该缓冲区的接口.我的平台是一个 ARMv7 架构的嵌入式系统,运行 2.6 Linux 内核. Linux 设备驱动程序,第三版的第 15 章对该主题有以下说明(第 443 页): 保留顶部 R ..
发布时间:2021-11-17 22:18:56 服务器开发

Linux系统调用

我能够执行系统调用调用并在内核中进行处理.但我还不清楚一些事情.进入 swi 例程后,内核会保存用户模式在堆栈上注册.问题是—— 是谁的筹码?(因为 swi 处理和相应的系统调用例程需要堆栈帧来处理) 如果是Kernel自己的栈,从哪里得到栈分配..?它会开始使用当前的堆栈吗?如果是,那么 current 可以是当时内核中可能正在执行的任何进程.这不会耗尽当前的堆栈吗? 如果它在 ..
发布时间:2021-11-17 22:18:47 其他开发

如何使用QEMU学习ARM Linux内核开发?

我想像开发一些设备驱动程序等一样学习它,并为此使用 QEMU,因为我没有像 beagle 板这样的 ARM 硬件板.大家有什么建议?我可以使用 Qemu 模拟器在 ARM 目标上学习 Linux 内核吗?或我应该尝试的任何其他选择? 解决方案 这取决于你想学习什么:硬件还是软件.如果您真的想尝试使用不同的 GPIO 输出来实现伺服电机控制、LED 灯闪烁和显示等功能,那么便宜的板(例如,R ..
发布时间:2021-11-17 22:18:42 服务器开发

在 ARM Linux 上注册多个 Fast 中断源

我一直在处理 ARM 上的 Linux 中断: request_irq() 可用于注册中断. 在单个中断线上,您可以使用 SHA_SHIRQ 注册多个中断,即正常的 IRQ. Linux 是否允许在特定中断线上注册多个 SA_INTERRUPT ? 也就是说,我们可以为 ARM 快速中断 或 FIQ 注册多个中断处理程序吗? 解决方案 与 IRQ 一样,FIQ 也有一个 ..
发布时间:2021-11-17 22:16:35 其他开发

在 ARM 9 板上显示图像

我需要在嵌入式系统上显示图像.板卡配置如下: 它是 AT91sam9263-EK,上面运行着 Linux 2.6.20 内核.有没有这个板子的图像处理库.处理器是ARM​​926EJ-S. 谢谢大家 解决方案 如果在 Linux 操作系统中没有激活帧缓冲区,我知道它在 Linux4Sam.您可以随时尝试通过发出命令 cat/bin/sh > 来激活它./dev/fb0;屏幕上应 ..
发布时间:2021-11-17 22:14:33 其他开发

无法在 Freescale i.MX28 上启动基本的 OpenEmbedded-Core

我一直在尝试在 评估工具包用于飞思卡尔的ARM i.MX28,将 Freescale ARM 层用于OpenEmbedded-Core.不幸的是,我找不到基本的“入门"指南(尽管有一个 Yocto 入门指南).不幸的是,我无法“开始",无法成功启动到主板调试串行端口上的基本命令提示符. 这是我能够拼凑起来的东西,并且到目前为止我已经设法做到了. 获取来源 mkdir -p oe-co ..
发布时间:2021-11-17 22:12:48 其他开发

如何修改内核DTB文件

总结 我目前正在使用一些用于定制板的定制驱动程序编译 Linux 内核(内核、模块和 DTB).有时我会编译内核并意识到 DTB 文件中的兼容性字符串不是自定义驱动程序要查找的内容.现在,我可以解决此问题的唯一方法是修改 DTS 或内核驱动程序,使字符串匹配,然后再次重新编译内核.有没有办法可以只编辑 DTB 文件来更新兼容性字符串? 失败的尝试 我已经能够使用以下命令将 DTB ..
发布时间:2021-11-17 22:07:19 服务器开发

用于可视化 Linux 内核使用的设备树文件 (dtb) 的工具?

我正在寻找一种工具,它可以以图形方式表示 linux 内核中使用的硬件设备树.我正在尝试了解特定 arm 芯片组的 linux 内核.这将是一个非常有用的工具. 解决方案 您可以试试组件检查器工具. 它是 QorIQ 配置套件的一部分 这是 Eclipse 的插件. 下载在这里.(需要注册.免费下载.) 就我个人而言,因为我大部分时间都在 cmd 行上,并且非常沉迷于 v ..
发布时间:2021-11-17 22:05:37 服务器开发

如何知道Linux中特定引脚的中断/GPIO编号

我正在做一个需要在 Linux 中处理中断的项目. 我使用的板子是 ARM9Board 基于三星的 s3c6410 MCU(arm 11 处理器),具有以下 I/O 接口: 如图所示,我有用于外部中断的 EINTx 引脚和作为 GPIO 引脚的 GPxx 引脚,我不介意使用它们中的任何一个,但我没有它们的编号! 对于 EINTx 引脚: 当我打电话 int request ..
发布时间:2021-11-17 22:05:15 服务器开发

在 Scratchbox 中构建单声道时出错

我尝试在 Ubuntu 11.10 上的 Scratchbox 中为 arm 编译 mono.但是当我进行安装时,我收到一条错误消息. [sbox-ARMEL:~] ./configure --enable-minimal=profiler,debug,logging,soft_debug --with-tls=--with-tls=__thread --with-monotouch=no -- ..
发布时间:2021-11-17 22:03:40 其他开发

嵌入式 linux,应用程序状态冻结,重新启动

我们有一个嵌入式应用程序,现在它需要保存和重新加载其状态.就像在 PC 游戏中一样,您必须在出去呼吸新鲜空气之前保存它.该产品本质上是安静的进化,没有适当的设计,因此无法识别要保存的数据. 软件是用 C 语言编写的,所以所有数据都有固定地址(.data 段),它也是确定性的,没有动态内存分配.所以理论上我会在文件中备份这个数据段,并在重新启动应用程序时从文件中更新它.这种方法可能会保存比所需 ..
发布时间:2021-11-17 22:02:03 服务器开发

在 arm-linux 中打印堆栈跟踪

我按照这篇文章打印堆栈跟踪 如何在我的 gcc C++ 应用程序崩溃时生成堆栈跟踪.它在 x86 linux 中运行良好.谁能教我如何让它在 arm-linux 上工作? 我使用的是 arm-linux-gcc 4.4.3. [root@FriendlyARM/]# ./test1错误:信号 11:[0x0] 在 x86 中 mickey@mickeyvm:~/Desktop/work ..
发布时间:2021-11-17 22:00:25 C/C++开发