问题标签 [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.
linux-kernel - Root-NFS:挂载 rootfs 时服务器返回错误 -5
我正在尝试在我的设备上加载嵌入式 linux。
内核命令行:
系统加载失败:
Server returned error -5
- 这是什么意思,我在哪里可以知道这个错误?
c - 为什么函数有两个下划线
我目前正在研究 ARM 的 u-boot 流程。我发现许多具有这种格式的功能__funcname__
。为什么文件名前后要两个下划线?
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来依赖。
所以这是我的问题。
谢谢!
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
linux - 我想知道在哪里可以找到 u-boot 的通用或理想 DDR 设置?
我正在研究开源的u-boot。因此,我想知道在哪里可以找到 u-boot 的通用 DDR 设置?理想的设置和喜好是什么?我不需要任何具体的 SoC 相关细节,只是一般情况。
porting - u-boot:mpc5xxx.h不支持mpc55xx?
我是 u-boot 的新手,目前正试图将它移植到一个 mpc5554 板(来自 phytec)以获得乐趣。
我很高兴找到mpc5xxx.h文件,表明它可以在我的情况下使用。然而,我越是研究它,似乎该文件并不像名称所暗示的那样通用。在我的情况下它似乎不可用。
- 我弄错了吗?
- 有没有人尝试过类似的东西?
- 我需要创建自己的 mpc555x.h 等吗?
- 是否应该在分发中重新命名文件?
任何想法表示赞赏,谢谢!
c - U-Boot:只读环境变量
在 U-Boot 中,我们应该如何在启动期间配置一个只读的环境变量。setenv
不应该允许对这个变量(在 U-Boot 控制台中或实际)上的IOW 。
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 ..
有一些关于它的配置。
timer - 带中断的 Uboot 定时器
我想用闪烁的 LED 来显示 Uboot 的进度。为此,我需要延迟,它不会使用 while 循环(非阻塞),而是使用中断。
Uboot 里面有没有定时器的实现?我看了一点,但我没有发现非阻塞延迟。如果从头开始,我需要实施吗?
我将 at91SAM9 与 Uboot 2010.06 一起使用。
谢谢
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 吗?