返回> 网站首页 

[总结]使用Jtag烧写uboot,以及bootdelay=0的解决办法

yoours2012-04-14 11:39:39 阅读 1164

简介一边听听音乐,一边写写文章。

一、XP 中安装GiveIO 的方法
     正确连接Jtag烧写线,如果提示找不到cpu可能是插线接反。

1.首先将giveIO 文件夹下的Giveio.sys 拷贝到C:\Windows\System32\drivers 目录下。
2.进入控制面板,点击“添加硬件”。
3.选择“是,我已经连接了此硬件”
4.选择“添加新的硬件设备”,点击“下一步”
5.选择“安装我手动从列表选择的硬件(高级)”,点击“下一步”
6.选择“端口(COM 和LPT)”,点击“下一步”
7.在厂商中选择“(标准端口类型)”,点击“从磁盘安装(H)…”
8.在跳出的“从磁盘安装”窗口中点击“浏览(B)…”
9. 选择当前目录中的“giveio.inf”文件。
10. 在跳出的“硬件安装”窗口中点击“仍然继续(C)”
最后点击“完成”,结束安装,现在可以运行ZSJF24X0.exe 来对NandFlash 进行烧写了。

二、正常烧写
E:\aa>sjf2410.exe /f:u-boot.bin

+------------------------------------+
|     SEC JTAG FLASH(SJF) v 0.4      |
|     (S3C2410X & SMDK2410 B/D)      |
|           --- 18/02/2004 [Nx]      |
+------------------------------------+
Usage: SJF /f:<filename> /d=<delay>
> S3C2410X(ID=0x0032409d) is detected.

[SJF Main Menu]
 0:K9F1208 prog     1:28F128J3A prog   2:AM29LV800 Prog   3:Memory Rd/Wr
 4:Exit
Select the function to test:0

[K9F1208 NAND Flash JTAG Programmer]
K9F1208 is detected. ID=0xec76
 0:K9F1208 Program      1:K9F1208 Pr BlkPage   2:Exit
Select the function to test :0

[SMC(K9S1208V0M) NAND Flash Writing Program]

Source size:0h~1c4abh

Available target block number: 0~4095
Input target block number:0
target start block number     =0                                         烧写起始块
target size        (0x4000*n) =0x20000                               烧写占用字节数
STATUS:Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
 0:K9F1208 Program      1:K9F1208 Pr BlkPage   2:Exit
Select the function to test :2

三、bootdelay=0的解决办法
       首先我们要明确:
              1. uboot烧写地址为0x0~0x20000
              2. uboot参数保存在地址 0x20000~0x3FFFF

       那么我们要做的就是?擦除参数保存的区域内容,或者说是让这个区域内容变得混乱一些。这样uboot在加载时会提示CRC校验错误,从而加载默认参数,实现我们的目的。
       我的做法是将uboot.bin文件写入这个参数区域中,实现CRC检验失败的目的。
E:\aa>sjf2410.exe /f:u-boot.bin

+------------------------------------+
|     SEC JTAG FLASH(SJF) v 0.4      |
|     (S3C2410X & SMDK2410 B/D)      |
|           --- 18/02/2004 [Nx]      |
+------------------------------------+
Usage: SJF /f:<filename> /d=<delay>
> S3C2410X(ID=0x0032409d) is detected.

[SJF Main Menu]
 0:K9F1208 prog     1:28F128J3A prog   2:AM29LV800 Prog   3:Memory Rd/Wr
 4:Exit
Select the function to test:0

[K9F1208 NAND Flash JTAG Programmer]
K9F1208 is detected. ID=0xec76
 0:K9F1208 Program      1:K9F1208 Pr BlkPage   2:Exit
Select the function to test :0

[SMC(K9S1208V0M) NAND Flash Writing Program]

Source size:0h~1c4abh

Available target block number: 0~4095
Input target block number:8            起始块数为8,那么开始地址就是0x4000*8=20000
target start block number     =8
target size        (0x4000*n) =0x20000    终止地址为20000+1FFFF=3FFFF
STATUS:Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
 0:K9F1208 Program      1:K9F1208 Pr BlkPage   2:Exit
Select the function to test :2

说明:起始地址是由0开始的,所以加上字节数要减1。

破解延时问题后,建议在uboot下使用命令擦除参数区域。
erase 20000 3ffff

    
微信小程序扫码登陆

文章评论

1164人参与,0条评论