u-boot编译

已经是前几天的事情了.记下来.

希望用u-boot的原因是mx1使用的bootloader是针对windows开发平台的.利用USB"弹出"这个特性作为烧写信号,

每次下载根文件系统都要换到XP(文档上是windows 2000 only). 在ubuntu上使用umount是无法触发烧写的,使用eject可以触发,可以"正常" 烧写, 但是无法正常运行.这个问题需要时间去研究一下.呵呵.

还有, 想尝试一下大名鼎鼎的u-boot

重要的是,发现u-boot上已经有针对mx1的移植了!

编译u-boot的关键是交叉编译器要"合适"

开始的时候下载的u-boot(2009)是最新的,而我的工具

gcc-3.2.3

binutils-2.13.90

glibc-2.25

用上面的工具编译时,出现下面问题

start.S: Assembler messages:
start.S:187: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:188: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:210: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:211: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:375: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:376: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:381: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:382: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:387: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:388: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:393: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:394: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:399: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:400: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:424: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:425: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:430: Error: internal_relocation (type: OFFSET_IMM) not fixed up
start.S:431: Error: internal_relocation (type: OFFSET_IMM) not fixed up
make[1]: *** [start.o] Error 1
make[1]: Leaving directory `/home/ochapman/u-boot/cpu/arm920t'
make: *** [cpu/arm920t/start.o] Error 2

在start.S上187,188行是

    ldr    r2, _armboot_start
    ldr    r3, _bss_start

对比其他CPU的start.S对应的地方,发现跟arm920t的一样, 不可能是u-boot上错了.

可能是u-boot使用了gcc的新特性,于是:

gcc-3.3.2

glibc-2.3.2

binutils就不清楚了,这是在imxl_imx1ads_v2-BSP-b12.iso(freescale上可以下载)里面的工具.

修改环境变量.

为了保险,呵呵,下载了u-boot-1.3.4

 

按照正常的步骤, 一次性通过编译.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 编译mt7621配置的U-Boot需要进行以下步骤: 首先,确认已经准备好编译环境,包括安装好交叉编译工具链和相关依赖库。 然后,从U-Boot官方仓库中获取最新的源代码。可以使用git命令进行克隆,例如: git clone https://github.com/u-boot/u-boot.git 接下来,切换到代码目录并进入配置界面,执行以下命令: cd u-boot make menuconfig 在配置界面中,选择"MTK",然后选择"MTK_MT7621"作为目标平台。根据需要,可以进行其他选项的配置,如串口、网络等。 配置完成后,保存退出配置界面。然后,执行以下命令进行编译: make CROSS_COMPILE=<交叉编译工具链前缀> 编译过程可能需要一段时间,取决于计算机性能和代码规模。 编译完成后,可以得到u-boot.bin文件作为编译结果。该文件可以烧录到MT7621芯片的Flash中,用于启动设备。 以上是编译mt7621配置的U-Boot的大致步骤。根据具体需求,可能还需要进行其他配置和调整。在进行编译前,建议查阅U-Boot的官方文档和相关资料,以便更详细地了解配置和编译过程。 ### 回答2: 编译 U-Boot for MT7621 配置需要先准备编译环境和相关工具链。以下是编译 MT7621 配置的步骤: 1. 首先,确保你的系统上已经安装了交叉编译工具链。可以通过执行以下命令来检查是否已安装交叉编译工具链: ``` arm-openwrt-linux-gcc -v ``` 如果显示出工具链的版本信息,则表示已经安装成功。 2. 下载 U-Boot 的源码。你可以通过 Git 或者下载压缩包的方式获取源码。例如,使用 Git 命令来克隆 U-Boot 的仓库: ``` git clone https://github.com/u-boot/u-boot.git ``` 3. 进入源码目录,并创建编译配置文件。执行以下命令: ``` cd u-boot make mt7621_xxx_config ``` 其中,`mt7621_xxx_config` 是针对你的具体设备的配置文件,例如 `mt7621_rfb_config` 或 `mt7621_xxx_config` 等。你可以查阅相关文档来确定正确的配置文件。 4. 根据配置文件生成编译规则。执行以下命令: ``` make oldconfig ``` 根据你的需求来回答一些提示问题。默认选项通常是可以满足大多数需求的。 5. 开始编译。执行以下命令: ``` make ``` 编译时间会根据你的机器性能和代码大小而不同。最终编译产生的 U-Boot 可执行文件将位于生成文件夹中。 完成上述步骤后,你将获得一个适用于 MT7621 的 U-Boot 可执行文件。你可以将它用于你的项目中,并在启动过程中加载它。当然,在编译之前,你可能需要修改一些配置文件,以确保 U-Boot 适配你的具体硬件环境。 ### 回答3: 要编译 mt7621 的 u-boot 需要进行一些配置。 首先,你需要下载 u-boot 的源代码。可以从官方网站或者 GitHub 上找到 mt7621 相关的 u-boot 仓库,并下载代码至你的开发环境中。 接下来,你需要进入 u-boot 的源代码目录。使用终端命令行工具进入该目录。 在源代码目录中,你可以找到一个名为 `configs` 的文件夹,其中包含了不同平台的配置文件。你需要找到一个名为 `mt7621_bpir2_defconfig` 的文件,这是针对 mt7621 平台的默认配置文件。 如果你想进行自定义配置,可复制该文件,并在复制的文件上进行修改。你可以使用一个文本编辑器打开配置文件,找到需要修改的选项,并进行相应的修改。例如,你可以修改串口配置、内存配置、网络协议等选项,以适配你的具体需求。 完成修改后,你可以保存文件,并返回到源代码的根目录。 最后,你需要运行编译命令来生成可执行的 u-boot 映像文件。通常情况下,你可以通过运行 `make` 命令来进行编译编译过程可能会耗费一些时间,请耐心等待。 当编译完成后,你可以在源代码目录下找到生成的 u-boot 映像文件。该文件一般以 `u-boot.bin` 或者 `u-boot.img` 的形式存在。 编译完成后,你可以将生成的 u-boot 映像文件烧录到 mt7621 平台的 Flash 存储器中,以替换原有的 u-boot 程序。 总而言之,编译 mt7621 的 u-boot 需要下载源代码、进行配置修改,并通过编译命令生成 u-boot 映像文件。最后,将生成的映像文件烧录到目标平台中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值