ARM开发——uboot的修改和烧写

前言

由于我们使用的友善之臂,他把我们boot loader 完全的固化了,我们无法阻止或者中断他的过程,我们无法进入boot loader,也无法对他进行修改
我们正常启动顺序应该是boot loader ->Linux Kernel -> file system
所有我们只能使用德国的uboot来进行裸板开发

uboot的修改

我们将我们提前准备好的uboot拷入我们的家目录
首先进行make distclean 来进行
但是我们我们的uboot还需要修改
首先我们需要关闭掉MMU,我们不能再uboot阶段打开MMU,不然会导致编译失败,我们只能在写驱动的时候打开MMU,我们只能在编译的时候取消MMU的编译,在他的配置文件中,取消对MMC的定义

vi ~/uboot/innclude/config/tiny4412.h

由于我们关闭了虚拟地址,所以我们需要修改,修改他的寻址范围

vi ~/uboot/board/samsug/tiny4412/congfig.mk

在里面将他的里面的地址改为在这里插入图片描述
这些修改完以后,我们回到目录来进行make进行编译

uboot的烧写

这时候我们通过烧写工具,先将uboot烧写到sd卡上,现在我们将sd卡插入到我们开发板中,用sd卡来启动uboot
我们通过kermit来连接到我的板子上,这时候我们可以看见我们的uboot正常的运行,我们可以在这个环境下输入命令
比如 pri 查看当前的环境变量,ip地址
mmc list 可以看见我们板子挂载了两个设备信息,根据谁启动谁是0号,所以我们可以知道我们sd卡是0号,板载的是1号
在这里插入图片描述
到了这里,我们需要通过一个内存烧写工具 dnw来将文件写到内存中,将mmc卡中的superboot变为我们的uboot,用这种方式来模仿那个烧写脚本的动作
这时候注意,我们需要将dnw文件中的makefile做一些修改
现在我们先来看一下我们的mmc的分区

mmc disk -p //来查看分区

在这里插入图片描述

我们现在要他来给他分区和格式化

fdisk -c 1 320 2070 520 
fatformat mmc  1:1 //将他第一个分区改为fat文件格式
ext3format mmc  1:2 //将他第二个分区改为ext3文件格式
ext3format mmc  1:3 //将他第三个分区改为ext3文件格式
ext3format mmc  1:4 //将他第四个分区改为ext3文件格式

有关文件系统和格式可以参考我的另一篇文章https://blog.csdn.net/dongdong7_77/article/details/106391889

分区完成以后,我们就需要来将我们的文件写入mmc卡中,我们通过dnw工具和MINI use线来传输

emmc open 1 //打开mmc卡,这时候记住一定要保存
dnw 50000000  //打开一个空闲地址,将文件发到这里
//在linux下通过命令 sudo dnw filexxx 来发送到这个地址中
mmc write 1  50000000 0 10 //将文件写到地址中,从0号地址开始到10
dnw 50000000  //打开一个空闲地址,将文件发到这里
//在linux下通过命令 sudo dnw filexxx 来发送到这个地址中,这是第二个文件
mmc write 1  50000000 10 20 //将文件写到地址中,从10号地址开始到20
..........
emmc close 1  //我们发送完我们的文件并写入后,我们关闭mmc卡,这样才可以保存

这些完成之后,我那将板子放到mmc卡启动,去掉sd卡,我们发现启动了我们的uboot,烧写完成

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值