加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

通过u-boot把内核和文件系统烧录到Nand Flash

发布时间:2020-12-15 06:11:14 所属栏目:百科 来源:网络整理
导读:通过u-boot把内核和文件系统烧录到Nand Flash ? 前提条件: 板子可以启动到u-boot环境; 内核文件、文件系统都准备好而且能正常运行; tftp服务器打开; 测试环境: AT91SAM9263-EK; 设置板子和tftp服务器的ip地址以及板子的mac地址; U-Bootsetenv ipaddr

通过u-boot把内核和文件系统烧录到Nand Flash

?

前提条件: 板子可以启动到u-boot环境; 内核文件、文件系统都准备好而且能正常运行; tftp服务器打开; 测试环境: AT91SAM9263-EK; 设置板子和tftp服务器的ip地址以及板子的mac地址; U-Boot>setenv ipaddr 192.168.1.2 U-Boot>setenv serverip 192.168.1.100 U-Boot>setenv ethaddr 0:1:2:3:4:5 通过tftp下载内核文件vmlinux和文件系统ramdisk.gz,并将他们写入Nand Flash中; 先擦除flash U-Boot>nand scrub 或者 nand erase 下载并写入flash U-Boot>tftp 0x22000000 vmlinux U-Boot>nand write 0x22000000 0x0 0x200000 U-Boot>tftp 0x22000000 ramdisk.gz U-Boot>nand write 0x22000000 0x400000 0x300000 从Nand Flash读出内核和文件系统到SDRAM上,注意此处读出操作可以省,只要上一步的下载地址指定好既可; U-Boot>nand read 0x22000000 0x0 0x16c58a (vmlinux大小) U-Boot>nand read 0x20500000 0x400000 0x24bc12 (ramdisk.gz大小) 从SDRAM启动系统 U-Boot>go 0x22000000 如果能正确运行系统,烧录文件到Nand Flash成功。 自动启动(自动从Nand Flash拷贝文件到SDRAM里),设置U-boot的环境变量: U-Boot>setenv bootcmd nand read 0x22000000 0x0 0x16c58a;nand read 0x20500000 0x400000 0x24bc12;go 0x22000000 U-Boot>saveenv reset板子即可。 附上U-boot下Nand Flash的相关命令(u-boot-/common/cmd_nand.c -- U_BOOT_CMD) : ? ? "nand - NAND sub-systemn",? ? "info - show available NAND devicesn" ? ? "nand device [dev] - show or set current devicen" ? ? "nand read[.jffs2] - addr off|partition sizen" ? ? "nand write[.jffs2] - addr off|partiton size - read/write `size' bytes startingn" ? ? " at offset `off' to/from memory address `addr'n" ? ? "nand erase [clean] [off size] - erase `size' bytes fromn" ? ? " offset `off' (entire device if not specified)n" ? ? "nand bad - show bad blocksn" ? ? "nand dump[.oob] off - dump pagen" ? ? "nand scrub - really clean NAND erasing bad blocks (UNSAFE)n" ? ? "nand markbad off - mark bad block at offset (UNSAFE)n" ? ? "nand biterr off - make a bit error at offset (UNSAFE)n" ? ? "nand lock [tight] [status] - bring nand to lock state or display locked pagesn" ? ? "nand unlock [offset] [size] - unlock sectionn";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读