bootloader---24.u-boot-2010.06-rc1移植之4saveenv

原创 2016年08月30日 11:14:10
1. 重新开机启动
  1. U-Boot 2010.06-rc1 (Sep 10 2012 - 09:34:54)

  2. DRAM: 64 MiB
  3. Flash: 512 KiB
  4. NAND: 256 MiB
  5. *** Warning - bad CRC or NAND, using default environment

  6. In: serial
  7. Out: serial
  8. Err: serial
  9. Net: dm9000
  10. SMDK2410 # printenv
  11. bootdelay=3
  12. baudrate=115200
  13. ethaddr=08:00:3e:26:0a:5b
  14. ipaddr=192.168.4.251
  15. serverip=192.168.4.250
  16. netmask=255.255.255.0
  17. stdin=serial
  18. stdout=serial
  19. stderr=serial
  20. ethact=dm9000

  21. Environment size: 175/65532 bytes
  22. SMDK2410 # setenv ipaddr 192.168.4.253
  23. SMDK2410 # saveenv
  24. Saving Environment to NAND...
  25. Erasing Nand...
  26. Warning: Erase size 0x00010000 smaller than one erase block 0x00020000
  27.          Erasing 0x00020000 instead
  28. Erasing at 0x40000 -- 100% complete.
  29. Writing to Nand... done
这看似好像是成功了,但是重新开机之后,又出现 
Warning - bad CRC or NAND, using default environment
之前修改的环境变量没有保存,这是什么情况?

2.先判断是读出错还是写出错,因为己经可以进入uboot的命行行,可以利用里面的命令来进行判断.
   2.1 判断读是否出错: 
nand flash中从0-256存的是编译出来的u-boot.bin,可以显示出0x0-0x40000与u-boot.bin这个文件进行比较,如果不一样,则说明读出错.
  1. //a. 将nand中从0x40000-0x40000+0x100处的数据读到内存0x30000000处
  2. SMDK2410 # nand read 0x30000000 0x0 0x100 

  3. NAND read: device 0 offset 0x0, size 0x100
  4. 256 bytes read: OK
 //b. 按字节读取0x3000000,个数为0x100
  1. SMDK2410 # md.b 0x30000000 0x100

  2. 30000000: 12 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5    ................
  3. 30000010: 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5    ................
  4. 30000020: 20 01 d8 33 80 01 d8 33 e0 01 d8 33 40 02 d8 33     ..3...3...3@..3
  5. 30000030: a0 02 d8 33 00 03 d8 33 60 03 d8 33 ef be ad de    ...3...3`..3....

  6. //c. 跟u-boot.bin比较一下
  7. root@ubuntu:~/uboot/u-boot-2010.06-rc1_hw# od -tx1 ./u-boot.bin | head

  8. 0000000 12 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5
  9. 0000020 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5
  10. 0000040 20 01 d8 33 80 01 d8 33 e0 01 d8 33 40 02 d8 33
  11. 0000060 a0 02 d8 33 00 03 d8 33 60 03 d8 33 ef be ad de
  12. 数值一样说明读没有出错
2.2 验证写是否出错
  1. //a. 紧接上一步把0x30000000处的数据写到0x40000处
  2. SMDK2410 # nand write 0x30000000 0x40000 0x10000

  3. NAND write: device 0 offset 0x40000, size 0x10000
  4.  65536 bytes written: OK
  5. //b.从nand中把0x400000-0x40000+0x100处的数据读取到内存0x30000000
  6. SMDK2410 # nand read 0x30000000 0x400000 0x100

  1. NAND read: device 0 offset 0x400000, size 0x100
  2.  256 bytes read: OK
  3. //c. 显示内存0x3000000处的数据
  4. SMDK2410 # md.b 0x30000000 0x100
  5. 30000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  6. 30000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  7. 30000020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  8. 30000030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  9. 30000040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  10. 30000050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  11. 30000060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
  12. 说明写有问题



版权声明:本文为博主原创文章,转载请注明出处。

Zynq-Linux移植学习笔记之二-知识点

在zynq上进行Linux的移植并基于Linux进行驱动开发需要涉及到很多东西,用一张图说明要掌握哪些知识: 如上图所示,对开发驱动的人来说,既要懂软件也要懂硬件,软件上需要对操作系统结构和接...
  • jj12345jj198999
  • jj12345jj198999
  • 2017年01月18日 22:53
  • 1385

友善之臂 tslib一线触摸完美移植

开发板:友善之臂 mini210   博主曾耗费两三天移植tslib,都没有成功,各种失败,各种报错。 经过本人对 友善之臂 /etc/init.d/rcS (PS:该文件是文件系统初始化文件) 严格...
  • ESD1406
  • ESD1406
  • 2015年01月30日 16:29
  • 328

移植Qt4.7到友善之臂mini6410开发板全过程

pc系统:ubuntu14.04 材料:qt-everywhere-opensource-src-4.7.0.tar.gz 交叉编译环境:arm-linux-gcc 首先在/opt路径下创建min...
  • pillarzheng
  • pillarzheng
  • 2016年10月06日 16:09
  • 509

Android系统移植(二)

一、启动镜像制作 上一讲当中我们总结了,Android系统运行所需要的三大部分:bootlader,kernel和ramdisk.那我们怎么才能获得它们呢?接下来我们来看看怎么制作bootlader,...
  • u014770862
  • u014770862
  • 2016年02月05日 09:20
  • 1152

移植u-boot之修改代码

(三)修改代码(I)修改代码— 建新板 _ 时钟 _ SDRAM _ UART两个PLL(phase locked loop):1.UPLL:用于USB; 2.MPLL:用于CPU及其他外围器件;2....
  • tpmamba
  • tpmamba
  • 2017年12月22日 09:55
  • 61

物联网核心之MQTT移植

在上一篇文章中,只是讲了MQTT的主要内容,至于怎么移植到STM32上,怎么使用才是最重要的关键。这里使用的平台是RT8711的WIFI SOC,使用的LWIP跟FreeRTOS,移植使用跟STM...
  • mzwhhwj
  • mzwhhwj
  • 2017年09月11日 23:01
  • 831

Zynq-Linux移植学习笔记之22-Linux应用程序调用shell脚本

编写Linux下的应用程序时有时需要调用Linux的相关shell脚本,在这些脚本中通过调用Linux的相关函数实现对应的功能。比如使用ifconfig配置本地的IP地址,采用这种方式省去了自己编写应...
  • jj12345jj198999
  • jj12345jj198999
  • 2017年09月22日 20:07
  • 316

Zynq-Linux移植学习笔记之五-rootfs配置

这一篇讲一讲zynq移植linux操作系统时需要使用的 rootfs 1、rootfs简介 rootfs用于生成linux启动时ramdisk.image,其和devicetree,linux-ker...
  • jj12345jj198999
  • jj12345jj198999
  • 2017年02月10日 21:41
  • 1780

U-boot-2009.03移植之十:第一阶段之修改/board/samsung/mini2440/mini2440.c

 参考http://zjbintsystem.blog.51cto.com/964211/211345 需要注意的是,为了引导内核,需要制定开发板类型代码,因此加上了这几句:#if defined(C...
  • hadise
  • hadise
  • 2010年11月24日 20:13
  • 720

移植uboot之修改代码支持NorFlash记录

今天我们的任务是修改uboot源码支持NorFlash。 上两篇关于uboot移植的文章,我们修改了uboot源代码,支持了串口的输出,以及nand启动(点击连接可以查看上两面文章的相关内容移植ub...
  • qq_37375427
  • qq_37375427
  • 2017年12月16日 23:26
  • 169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bootloader---24.u-boot-2010.06-rc1移植之4saveenv
举报原因:
原因补充:

(最多只允许输入30个字)