Chinaunix首页 | 论坛 | 博客
  • 博客访问: 493940
  • 博文数量: 174
  • 博客积分: 2502
  • 博客等级: 少校
  • 技术积分: 1923
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-28 09:47
文章分类

全部博文(174)

文章存档

2011年(8)

2010年(16)

2009年(68)

2008年(82)

我的朋友

分类:

2009-03-16 12:58:50


A. 利用JTAG烧写

1.把25针并口线插到pc机的并口,并口线另一端与JTAG小板相连,JTAG小板JP3接口通过20针JTAG线与开发板的14 针JTAG口相连。
2.把S3C2410公共文件目录下的"Flash烧写"目录整个拷贝到C:\下,并把该目录下的GIVEIO.SYS(5.12kB)文件拷贝到C:\WINDOWS\system32\drivers下。
3.在控制面板经典视图(如果是分类视图,请切换到经典视图)里,双击"添加硬件"->点击"下一步">选择"是,我已经连接了此硬件",并点击"下一步">在已安装的硬件列表中,选择"添加新的硬件设备",并点击"下一步"->选中"安装我手动从列表选择的硬件",并点击下一步->选择"显示所有设备",并点击下一步->点击"从磁盘安装",然后点击"浏览",指定驱动为C:\Flash烧写\GIVEIO\giveio.inf 文件,点击确定,继续下一步,选择"仍然继续",最后完成.
4. 开发板跳线J8要插上短路块,(如果是烧写NOR FLASH,拔掉短路块),然后上电。
 烧写NOR FLASH or NAND FLASH 需要根据核心板上J8跳线来决定,从NOR 还是NAND 启动也是有J8跳线决定。
 J8插上短路块,复位之后将从NAND FLASH启动
 J8没插短路块,复位之后将从NOR FLASH启动
5. 打开命令行提示符,cd 进入目录"C:\Flash烧写\",然后输入sjf2410.exe /f:S3C2410_BIOS.bin (将bootloader文件S3C2410_BIOS.bin烧写到FLASH中) [此目录下有一个批处理文件,点击批处理文件也可] 会出现如下对话框
C:\Flash烧写>sjf2410 /f:s3c2410_bios.bin

+------------------------------------+
|     SEC JTAG FLASH(SJF) v 0.4      |
|     (S3C2410X & SMDK2410 B/D)      |
+------------------------------------+
Usage: SJF /f: /d=
> S3C2410X(ID=0x0032409d) is detected.  [注: 此处说明检测到cpu类型]

[SJF Main Menu]
 0:K9S12(56)08 prog     1:28F128J3A prog   2:AM29LV800 Prog   3:SST39VF160 Prog

 4:Memory Rd/Wr     5:Exit
Select the function to test:0   [输入0,选择FLASH型号,若烧写NOR FLASH,输入3]

[K9S1208 NAND Flash JTAG Programmer]
K9S1208 is detected. ID=0xec76
 0:K9S1208 Program      1:K9S1208 Pr BlkPage   2:Exit
Select the function to test :  [输入0,选择JTAG对FLASH的两种功能]

[SMC(K9S1208V0M) NAND Flash Writing Program]

Source size:0h~1f523h

Available target block number: 0~4095
Input target block number:0   [输入0,选择烧写起始block块地址]
                              [然后会出现如下的烧写过程]
target start block number     =0
target size        (0x4000*n) =0x20000
STATUS:Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp  [烧写完成后,会退出,出现如下提示]
 0:K9S1208 Program      1:K9S1208 Pr BlkPage   2:Exit
Select the function to test :  [输入2退出烧写]

6. 关闭电源,拔掉JTAG插头,将PC串口和开发板子串口0通过串口线相连,在PC机上启动DNW程序,配置Serial Port Baud Rate -> 115200, COM Port -> COM1, Download Address-> 0x30100000  [(YL2410 SDRAM addr 0x30000000-0x34000000)],然后点击Serial Port/Connect [注: 若是想从NAND FLASH启动,J8短路帽要接上;从NOR FLASH启动,J8不接短路帽];

7. 打开电源,开发板上电,烧进FLASH中的程序S3C2410_BIOS.bin会启动运行,可以通过DNW看到启动信息BIOS的主功能菜单,下面在此菜单下进行简单设置:
 (1) 按"6"设置boot参数,进入空白行后输入如下:
     root=1f02 init=/linuxrc console=ttyS0,115200 devfs=mount display=sam240
 (2) 按"7"出现提示,紧接着输入"1"回车选择Linux自启动;

此bootloader对FLASH的分区划分为:
Please select which region to erase : Esc to abort
0 : offset 0x0       , size 0x40000    [bootloader]
1 : offset 0x40000   , size 0x1c0000   [zImage]
2 : offset 0x200000  , size 0x1e00000  [cramfs]
3 : offset 0x2000000 , size 0x2000000  [WinCE]

附注: 假如两块FLASH中有一块bootloader是正常的,可以启动,然后通过USB下载烧写,启动DNW和打开电源后,DNW->USB Port->Transmit->S3C2410_BIOS.bin,发送,BIOS下载成功后会自动运行.
以上参考了http://cupidsd.blogchina.com/blog/2382140.html


B. 假如有一块FLASH的bootloader可以正常使用[注意J8短路帽是否需要插上],将PC串口和开发板串口0通过串口线接好,在PC机上启动DNW程序:
 (1). 配置DNW Serial Port Baud Rate -> 115200, COM Port -> COM1, Download Address-> 0x30200000 [因为bootloader占了内存分区0x30000000开始的前一部分,所以要写为 0x30200000]
 (2). 点击Serial Port/Connect,开发板上电启动进入BIOS菜单:
 (3). 输入0 选择 USB download file;然后点击USB Port->Transmit选择要烧写的文件 S3C2410_BIOS.bin,确定发送文件;
 (4). Download O.K.后会提示是否需要运行下载到ram中的文件[y/n],选择输入 y或n 都会重新回到BIOS菜单.
 (5). 输入 2 或 5 选择 Write [Nand]/[NOR] flash with download file,将下载的文件烧写到另一块FLASH;仅接着选择要烧写的FLASH分区,因为是bootloader,所以输入0,然后烧写;
 (6). 最后会选择是否确定烧写[y/n],输入 y 确定烧写。
 (7). 烧写完毕,重新回到BIOS菜单,至此另一块FLASH的bootloader也可以使用了。[有坏块或烧写有问题另算]
 [注1:] 烧写 内核zImage或文件系统cramfs等与此类似;
 [注2:] YL2410的SDRAM物理地址范围为0x30000000 ~ 0x34000000; BIOS自身占用了0x0x30000000 ~ 0x30100000的空间,所以USB下载地址要大于等于0x30100000
 [前提:] 使用USB下载前,需安装开发板USB设备对应的驱动程序:secbulk.sys和secbulk.inf(这些文件在S3C2410公共文件/USB驱动程序),将secbulk.sys文件复制到%systemroot%\system32\drivers中,将驱动程序指向ecbulk.inf---参照上述giveio安装说明。可以参考开发板帮助手册

C. 假如有一块FLASH的bootloader是正常的,同样可以通过串口烧写bootloader [对于串口,BIOS内部固定了下载地址]
 首先配置同方法B,然后启动后选择BIOS菜单1 : Uart download file;然后点击Serial Port->Transmit->S3C2410_BIOS.bin,发送,最后方法同B.


[注1:] 以上的S3C2410_BIOS.bin可以换成其他程序,如自己修改过的bootloader 内核zImage或文件系统cramfs等.
[注2:] 开发板提供了bootloader源码,可以根据需要修改,用ADS编译;

阅读(2649) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~