请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
主题中讨论的其他器件:AM3352工具/软件:Linux
您好!
我正在尝试使用 AM3352在我的定制硬件上从 Linux 刷写 NAND。 在 Linux 用户空间中、我将刷写 NAND、一切看起来都很好、但当我重新启动时、我将引导回原始内核。 我需要对 Linux 用户空间中的闪存 NAND 执行什么操作?
RIM # cat /proc/mtd dev:size erasesize name mtd0:00020000 00020000 "SPL" mtd1:00020000 00020000 "SPL.Backup1" mtd2:00020000 00020000 "Backup2" mtd3:00020000 00020000 "SPL.backup3" mtd4:001e20000 00020000 80000000 “内核0006”mtd7:00020000 00020000 “md5000”td5:00020000 00008000 00000001 "FRAM" RIM# uname -A Linux RIM 3.2.0-ts-armv7l #46 Mon Jun 12 16:06:45 EDT 2017 armv7l GNU/Linux RIM# flash_erase /dev/mtd6 0 Erasing 128 Kibyte @ 4e0000 -- 100%完成 RIM# nandwrite -p /dev/mtd6 /tmp/uImage 在偏移量0x0处向块0写入数据 在偏移量0x20000处向块1写入数据 在偏移量0x40000处向块2写入数据 在偏移量0x60000处向块3写入数据 在偏移量0x80000处向块4写入数据 在偏移量0xa0000处块5 在偏移量0xc0000处写入数据到块6 在偏移量0xe0000处写入数据 到块7在偏移量0x100000处写入数据 到块9在偏移量0x120000处 写入数据到块10在偏移量0x140000 处写入数据到块 11在偏移量0x160000写入 块12在偏移量0x180000 写入块13在偏移量0x1a0000 写入块14在偏移量0x1c0000 写入块15在偏移量0x1e0000 写入块16在偏移量0x200000 写入数据在块17 偏移量0x220000 在偏移量0x240000处写入数据到块18 在偏移量0x260000处写入数据 到块19在偏移量0x280000处写入数据 到块21在偏移量0x2a0000 处写入数据到块22在偏移量0x2c0000 处写入数据到块23在偏移量0x2e0000处写入数据 在偏移量0x300000处向块24写入数据 在偏移量0x320000处向块25写入数据 在偏移量0x340000处向块26写入数据 在偏移量0x360000处向块27写入数据
然后、在重新启动后、我检查内核。 编译日期和版本应该已经更新、但它仍然显示旧内核。
RIM # uname -A Linux RIM 3.2.0-ts-armv7l #46 Mon Jun 12 16:06:45 EDT 2017 armv7l GNU/Linux
我知道内核构建日期和版本将会改变、因为我可以从 U-Boot 闪存 NAND、并且它可以正常工作。 我无法从 Linux 中执行该过程。 有什么想法吗?
谢谢、
Michael