找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2320|回复: 1

关于SPI闪存 uboot刷机命令的研究

[复制链接]
本帖最后由 hcy42003 于 2017-3-31 10:46 编辑

由于 网上很少有 SPI 闪存地址的详细说明
比如: sf erase 100000 700000   
# 从1mb的位置开始,擦除7MB大小的数据  各位大神,看看我做的是否正确。

大神们能不能解答下,
0x000002000000  = 32MB   所有的spi 地址和大小都是这么定义的?
nand 地址 好像 1000000 =10MB




   对于地址对应的闪存大小 网上都没有说明
并留给其他思考SPI uboot命令刷机的入门小白一起思考。

32MB SPI分区
0x000000000000-0x0000000a0000 : "boot"    640KB
0x0000000a0000-0x000000100000 : "env"       384KB
0x000000100000-0x000000800000 : "system"    7MB
0x000000800000-0x000001800000 : "rootfs"       16MB
0x000001800000-0x000002000000 : "rootfs_data"   8MB


tftp 1000000 kernel                               #上传文件到内存 1000000地址
sf erase 100000 700000                         #擦除 100000 起始地址  , 擦除700000大小的空间
sf write 1000000 100000 700000        # 把内存1000000地址的数据 写入 100000 地址, 大小为700000

tftp 1000000 rootfs                                   #上传文件到内存 1000000地址
sf erase 800000 1000000                       #擦除 800000 起始地址  , 擦除1000000大小的空间
sf write 1000000 800000 1000000          # 把内存1000000地址的数据 写入 800000 地址, 大小为1000000




nand 和 spi 都有一个块/页的概念.
一写就是一个块.
spi 是可以按字节为地址单位寻址的(读).
0x 2 00 00 00 =32MB (地址范围 0x0 00 00 00 - 0x1 ff ff ff )
估计nand 有所区别.但我没驱动过 nand ,不了解.
另外 这个地址还涉及到映射区域的起始位置不同而有所差异,具体映射要看 cpu 的 datasheet,至于更深的我也不懂.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-12 22:06

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表