问题标签 [u-boot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2876 浏览

linux-kernel - Root-NFS:挂载 rootfs 时服务器返回错误 -5

我正在尝试在我的设备上加载嵌入式 linux。

内核命令行:

系统加载失败:

Server returned error -5- 这是什么意思,我在哪里可以知道这个错误?

0 投票
2 回答
196 浏览

c - 为什么函数有两个下划线

我目前正在研究 ARM 的 u-boot 流程。我发现许多具有这种格式的功能__funcname__。为什么文件名前后要两个下划线?

0 投票
2 回答
1665 浏览

linux - 为什么 uboot 使用 arm-linux-gcc 作为默认 arm CROSS_COMPILE?

我对工具链、arm-eabi-gcc、arm-linux-gcc 和 arm-elf-gcc 非常陌生。

对于 arm-linux-gcc 和 arm-elf-gcc,在我看来,只是使用了不同的 libc。

但是 arm-eabi-gcc 和 arm-linux-gcc 有什么区别?

我认为 arm-eabi-gcc 没有内置在 libc 中。我对吗 ?

如果没有,你能帮我纠正一下吗?

还有为什么 uboot 使用 arm-linux-gcc 作为默认的 arm 交叉编译器?

据我所知,uboot不需要那个libc来依赖。

所以这是我的问题。

谢谢!

0 投票
0 回答
3158 浏览

android - 为最终将运行 android 的嵌入式板创建可启动 sdcard

语境:

我设计了一个嵌入式系统,并移植了 Android Gingerbread 以在其上运行。我使用基于 ARM Cortex-A8 的 CPU 模块,上面有 CPU、SDRAM、NANDFLASH,其余的都在模块引脚上可用,因此我可以添加自己的硬件接口。第一个预装了 u-boot。安装 Gingerbread 所需要做的就是将 4 个映像(kernel.img、system.img、ramdisk-yaffs.img 和 userdata.img)放在 SD-CARD 上的目录 (/sdfuse) 中,然后将其烧录使用命令“sdfuse flash kernel kernel.img”和其他 3 个文件的等效命令到板载 NANDFLASH。很简单。之后,我将 Android 中的 SDCARD 用作外部存储。(生活是美好的!)

问题:

现在我购买了更多模块,但它们没有预装 u-boot。所以,我需要制作一个带有 u-boot 的可引导 SD 卡。它必须是 FAT 才能在启动时被我的处理器识别。我实际上有一个 FAT32 的 SDHC 4GB 卡,成功安装了 U-boot,它引导我的系统到 u-boot 提示,告诉我它找不到 4 个映像文件。这是预期的,因为图像还没有。现在的问题是我无法创建 /sdfuse 文件夹并将 4 个图像文件放在上面。我的 MACBook 和我的 Ubuntu 机器都不允许我挂载该 SD 卡以在其上创建“/sdfuse”文件夹。两个磁盘管理器都看到了 SD 卡,但都不允许挂载它。显然,我在某个地方漏掉了一些东西。我现在拥有的是一个带有 U-boot 的可引导 4GB FAT32 SD 卡,但该卡的其余部分不再可用。任何人都知道问题可能是什么?为什么我不能使用这个 4GB 可引导 FAT32 分区来安装我的“/sdfuse”文件夹和图像?我使用 Ubuntu 机器创建了可启动的 SD 卡,所以 USB/SD 卡读卡器运行良好,换句话说,问题不在于帽子软件,而在于某种软件配置。

在 Chris Stratton 关于文件系统的评论之后进行编辑:我有一张包含“/sdfuse”的 SD 卡,其中包含 4 个图像文件(kernel.img 等)和一堆其他文件和文件夹。使用 Ubuntu Diskutility,我可以将其视为一个分区 W95 FAT32 (LBA) (0x0c) 主引导记录。我可以从 Ubuntu 和 MacOSX 上读/写任何东西。我制作的第二张 SD 卡也有一个 FAT32 分区主引导记录,类型为 W95 FAT32 (LBA) (0X0c),但我既不能从 Ubuntu(但在 /dev/sdb 下看到)也不能从 MacOSX 安装它。最后一个,是带有u-boot的那个。只是奇怪!只是为了解决这个问题,我只是有了一个想法,这样我就可以继续工作了,我只是尝试使用“u-boot SD-Card”启动然后,我将 SD-Card “live”更改为带有 4 的 SD-Card文件。我使用了命令“sdfuse” 将 u-boot、内核、android 等闪存到我的 NANDFLASH 设备。然后,当我从 NAND 强制重启时,它会启动到 Android。这对于开发来说是可以的,但这对于生产过程来说太复杂了。当 Chris Stratton 指出文件系统分区或结构时,他可能是对的。我只是还没弄清楚。有人有一些线索吗?

从 Ubuntu 终端“dmesg | tail”运行后,我得到以下结果:

因此,即使卡启动并且看到有 W95 FAT32 (LBA)(0x0c),格式似乎也有问题

根据TheCodeArtist的评论进行 编辑

这是我创建“u-boot”可引导映像磁盘的方法。我运行了一个由三星创建的脚本(在我的 Ubuntu 机器上)。这是脚本中的内容:

此外,您可以看到对函数“sd_fdisk”的调用。我有源代码,但它也在谷歌代码上:sd_fdisk.c

0 投票
1 回答
90 浏览

linux - 我想知道在哪里可以找到 u-boot 的通用或理想 DDR 设置?

我正在研究开源的u-boot。因此,我想知道在哪里可以找到 u-boot 的通用 DDR 设置?理想的设置和喜好是什么?我不需要任何具体的 SoC 相关细节,只是一般情况。

0 投票
1 回答
281 浏览

porting - u-boot:mpc5xxx.h不支持mpc55xx?

我是 u-boot 的新手,目前正试图将它移植到一个 mpc5554 板(来自 phytec)以获得乐趣。

我很高兴找到mpc5xxx.h文件,表明它可以在我的情况下使用。然而,我越是研究它,似乎该文件并不像名称所暗示的那样通用。在我的情况下它似乎不可用。

  1. 我弄错了吗?
  2. 有没有人尝试过类似的东西?
  3. 我需要创建自己的 mpc555x.h 等吗?
  4. 是否应该在分发中重新命名文件?

任何想法表示赞赏,谢谢!

0 投票
1 回答
996 浏览

c - U-Boot:只读环境变量

在 U-Boot 中,我们应该如何在启动期间配置一个只读的环境变量。setenv不应该允许对这个变量(在 U-​​Boot 控制台中或实际)上的IOW 。

0 投票
2 回答
1663 浏览

linux - 关于 Uboot 中的 BOOTCMD

我的板子是S3C6410,当我阅读uboot的源代码时。有事困扰我。

#define CONFIG_BOOTCOMMAND "nand read 0xc0008000 0x100000 0x500000;bootm 0xc0008000"

这是什么意思 ?它从 nand 地址读取数据:0x100000,大小为:0x500000。到0xc0008000(SD-RAM),是吗?..但是SD-RAM的起始地址是:0x50000000,0xc0008000的地址如何有意义?...超出范围?谢谢。

我的 sdram 大小:256M ... nand boot ..

有一些关于它的配置。

0 投票
1 回答
1504 浏览

timer - 带中断的 Uboot 定时器

我想用闪烁的 LED 来显示 Uboot 的进度。为此,我需要延迟,它不会使用 while 循环(非阻塞),而是使用中断。

Uboot 里面有没有定时器的实现?我看了一点,但我没有发现非阻塞延迟。如果从头开始,我需要实施吗?

我将 at91SAM9 与 Uboot 2010.06 一起使用。

谢谢

0 投票
2 回答
2857 浏览

arm - ARM U-Boot 构建问题的跨工具链

我正在尝试为 Raspberry-Pi 构建自己的工具链。我知道有很多预建的工具链。这项工作是出于教育原因。我正在从头开始关注嵌入式 arm linux。并且目前成功构建了gcc和uClib。我正在为目标 arm-unknown-linux-eabi 构建。

现在谈到准备一个可引导的文件系统,我正在质疑自己关于引导加载程序构建的问题。

关于这个系统的引导加载程序的部分似乎不完整。现在我在问自己如何使用我的 arm-unknown-linux-eabi 工具链为这个系统构建一个 uboot。

我是否需要构建一个不依赖于 linux 内核调用的工具链。我的第一个研究使我指出,有不同类型的工具链依赖于操作系统(linux 内核系统调用等......)和不需要在下面有内核的工具链。有时称为“裸机”工具链或“独立”工具链。

一些消息来源提到可以使用 linux 工具链构建 U-Boot。如果这是真的,为什么以及如何工作?

如果我必须为“Bare Metal”工具链构建第二个工具链,我在哪里可以找到有关这两者之间差异的信息。我需要另一个 libstdc 吗?