主题 : h-jtag 烧写nand flash问题 复制链接 | 浏览器收藏 | 打印
在乎在乎的,无视不屑的,宁真实
级别: 新手上路
UID: 79720
精华: 0
发帖: 40
金钱: 205 两
威望: 41 点
综合积分: 80 分
注册时间: 2012-10-12
最后登录: 2014-01-07
楼主  发表于: 2013-03-21 18:55

 h-jtag 烧写nand flash问题

最新版本的 H-jtag  可以烧写 nand flash。
第一步 烧写super vivi 进入nand flash 烧写成功。
不过到烧写内核这一块的时候,不知该如何烧写 ,根据信息

信息一:
name            :       offset          size            flag
------------------------------------------------------------
vivi            :       0x00000000      0x00040000      0
param           :       0x00040000      0x00020000      0
kernel          :       0x00060000      0x00500000      0
root            :       0x00560000      0x3fa80000      0

似乎是把kernel 的地址烧写到   0x00060000

信息二:
                 Flash:  S3C2440+ K9F2G08   0x00DA00EC
                 Target:   ARM920T  LITTLE-ENDIAN

                  1 Page  = (2048 + 64) Bytes
                  1 Block  =  64 Pages

因为烧写中使用的地址稍微需要些转换
我应该把 kernel 的16进制地址 转换成 相应的  __Block __Page才行。

即6*((16)^4) / (2048+64) = 186.18181818 Page = 187 Page
即 2Block 59Page。
因此 烧写的时候 按这个地址 烧写 kernel 内核。

结果是
load Image of Linux...
Wrong Linux Kernel

我想请教下斑竹,以上的步骤是哪里错了,还请指正,谢谢。
在乎在乎的,无视不屑的,宁真实
级别: 新手上路
UID: 79720
精华: 0
发帖: 40
金钱: 205 两
威望: 41 点
综合积分: 80 分
注册时间: 2012-10-12
最后登录: 2014-01-07
1楼  发表于: 2013-03-22 13:41
个人理解出错, 1page = 2048 + 64 ,后面的64  为校验等其他 使用。不计入正常数值。
所以kernel  的初始地址  为  3block  0 page。
再烧写进入文件 系统 即可。   问题解决。