Skip to content
Tang Shizhi edited this page Sep 16, 2018 · 4 revisions

U-Boot编译方法

注意:使用gcc 7.3.0无法正常工作。但是由于我之前的虚拟机镜像坏了,我也不知道正常的版本是多少……

export CROSS_COMPILE=mipsel-linux-gnu-
make naivemips_thinpad_defconfig
make all

u-boot为产生的ELF文件。

使用TFTP boot μCore

以下介绍实验版与Windows笔记本电脑直连的方法,如果是其他情况,也可以参考下面的做法。

  1. 将电脑与实验版用双绞线相连。现在大部分笔记本电脑的网卡可以自动识别直连线和交叉线,如果你的笔记本不能,你需要用一根交叉线。
  2. 运行u-boot。有一些默认设置需要注意,这些设置在u-boot中称为环境变量,可以通过printenv 环境变量名命令查看,或通过setenv 环境变量名 环境变量值修改。这些设置包括:ipaddr表示实验板的IP地址,默认是192.168.1.60;serverip表示TFTP服务器的IP地址,默认是192.168.1.30,请将笔记本电脑与实验板相连的网卡设为此IP,或将此环境变量设为笔记本电脑该网卡的IPbootfile表示需要被boot的镜像文件名,没有默认值,需要手动设置
  3. 下载并安装Windows下的TFTP服务端,设置好你要用于文件共享的文件夹。
  4. 编译μCore。将专用于u-boot的镜像obj/ucore.ub复制到共享文件夹下。注意:为了编译ucore.ub,μCore的Makefile已做了修改,请使用更改后的版本。此外,编译此版本需要安装依赖mkimage,安装方法:sudo apt-get install u-boot-tools
  5. 在u-boot中运行tftpboot,此命令会下载镜像,并将其加载到内存。
  6. 在u-boot中运行bootm,进行boot。

U-Boot需要的指令

  • add
  • addiu
  • addu
  • and
  • andi
  • b
  • bal
  • beq
  • beqz
  • bgez
  • bgtz
  • blez
  • bltz
  • bne
  • bnez
  • break
  • cache
  • div
  • divu
  • jalr
  • jr
  • lb
  • lbu
  • lh
  • lhu
  • li
  • lui
  • lw
  • lwl
  • lwr
  • madd
  • mfc0
  • mfhi
  • mflo
  • move
  • movn
  • movz
  • mtc0
  • mul
  • mult
  • multu
  • nop
  • nor
  • or
  • ori
  • sb
  • sdbbp
  • sh
  • sll
  • sllv
  • slt
  • slti
  • sltiu
  • sltu
  • sra
  • srav
  • srl
  • srlv
  • sub
  • subu
  • sw
  • sync
  • wait
  • xor
  • xori
Clone this wiki locally