嵌入式-uboot读写sd卡

date:20191024. 过节啊,为了拿个勋章,把之前的笔记挑了一个出来。

嵌入式开发,免不了升级烧个flash,难免也会烧错内核或者要 copy一下原先flash上的内核文件系统等,从flash上取出来的文件,可以通过网络传输到pc,或者,存储在外接SD卡上,这个笔记记录下uboot 读sd卡内容到pc端的过程。

读sd卡的内容进行升级,读flash的内容使用tftp存储

1.0 设置环境变量:

setethaddr 00:e0:4c:02:00:40; setenv ipaddr 192.168.1.169;

上面setethaddr 和 setenv ethaddr 一样的 命令。

mac地址一定要设置正确,可以用别的开发板先跑起来看mac地址,把它的mac地址拿过来用先。

2.0  设置好环境变量后确保网络畅通:

3.0 使用mmc命令,查看mmc 设备

mmcinfo:

mmc part

mmc list

mmc rescan :

首先用mmc rescan ,重新扫描一下,然后用 mmc list命令得到 mmc设备编号。 然后用fat命令。

4.0 fat:

fatinfo mmc 0

fatls mmc 0 列出文件信息

fatload 读mmc 0 上的文件 test.sh 到地址  0x81800000 注意这个地址是相对于cpu的地址,是sdram上的。也就是内存, 这个需要查看硬件的block接线。

5.0 pc端开启tftp服务端,tftpput。 在uboot上把从sd卡上读到的文件传输到tftp服务端。

6.0

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PetaLinux是一个基于Yocto Project的嵌入式Linux开发工具,可用于构建自定义Linux发行版。在PetaLinux中,uboot是用于启动Linux内核的引导加载程序。在uboot中,环境变量是一些可以配置uboot行为的参数。 要将uboot环境变量保存到SD卡中,可以按照以下步骤进行: 1. 在PetaLinux项目中的uboot源代码目录下,找到`include/configs`文件夹,其中包含了与硬件平台相关的uboot配置文件。 2. 打开对应的配置文件,例如`zynq_common.h`。 3. 在配置文件中,找到`#define CONFIG_ENV_IS_IN`宏定义。该宏定义指定了uboot环境变量的存储位置,默认为“nand”或“nor”等闪存设备。 4. 修改`#define CONFIG_ENV_IS_IN`宏定义为`"sd"`,指定uboot环境变量存储在SD卡中。 5. 在配置文件中,找到`#define CONFIG_ENV_OFFSET`宏定义。该宏定义指定了uboot环境变量在存储设备中的偏移地址。 6. 修改`#define CONFIG_ENV_OFFSET`宏定义为SD卡中的偏移地址,例如`0x100000`。 7. 保存并关闭配置文件。 8. 在uboot源代码目录下执行`make clean`命令来清理之前的编译结果。 9. 执行`make`命令重新编译uboot。 10. 将生成的uboot二进制文件烧录到SD卡的启动区域。 11. 将SD卡插入目标设备中,启动设备。 12. 在uboot启动时,可以使用命令`printenv`来验证uboot环境变量是否成功保存在SD卡中。 通过以上步骤,你可以将uboot环境变量保存到SD卡中。这样,在使用SD卡启动设备时,uboot可以从SD卡读取环境变量并进行相应的配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值