【发布时间】:2017-11-01 12:47:22
【问题描述】:
我正在尝试在 Arduino Yun 板上运行 linux。 Arduino 板包含一个Atheros AR9331 chipset
在 U-Boot 这些是我正在做的步骤:
1- 下载内核:
ar7240> tftp 0x80060000 openwrt-ar71xx-generic-uImage-lzma.bin;
Load address: 0x80060000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
######################
done
Bytes transferred = 1441863 (160047 hex)
2- 擦除 Flash 以复制内核:
ar7240> erase 0x9fEa0000 +0x160047
Error: end address (0xa0000046) not in flash!
Bad address format
这就是问题0x9fEa0000 +0x160047似乎超过了flash的总大小。
所以我的问题是:
1- 我如何计算为 Uboot 中的闪存保留的内存总量(从它开始和结束的地址),我正在考虑将 0x9fEa0000 更改为更少的地址,但我担心我会伤害其他的东西
这是帮助的输出:
ar7240> help
? - alias for 'help'
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootm - boot application image from memory
cp - memory copy
erase - erase FLASH memory
help - print online help
md - memory display
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nm - memory modify (constant address)
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
progmac - Set ethernet MAC addresses
reset - Perform RESET of the CPU
run - run commands in an environment variable
setenv - set environment variables
tftpboot- boot image via network using TFTP protocol
version - print monitor version
2- 有没有使用Atheros AR9331 chipset 经验的人可以帮助我从数据表中找到 Flash 映射(从哪里开始和结束)
【问题讨论】:
-
显然,flash 映射到 0x9f000000,它是 16 MB。闪存布局要么在 U-Boot 中硬编码,要么在 U-boot 脚本或参数区域中指定,也在闪存上。在内核映像之前,可能有根文件系统。
printenv有输出吗?
标签: linux boot openwrt u-boot flash-memory