S3C6410的WinCE系统烧录

//=====================================================================
//TITLE:
//    S3C6410的WinCE系统烧录
//AUTHOR:
//    norains
//DATE:
//    Tuesday 13- April-2010
//Environment:
//    DMA6410
//=====================================================================

 

      对于嵌入式CPU而言,各自有各自的系统烧录方式,即使是同一款型号,对于不同的系统,烧录方式也不尽相同。

 

  相对而言,S3C6410的WinCE系统烧录,并不是我见过的最简单的,也不是一成不变的:因为随着代码的不同,烧录的方式可能会有所差异。
  
  在开始我们的烧录旅程之前,先简单地说一说S3C6410的启动过程。在其用户手册上,关于启动,有这么一个列表:


  
  
  列表中所提到的IROM,全名为Internal ROM,意味内部ROM。从列表中我们可以得知,无论哪种启动方式,无一例外都是要和IROM打一次交道。这个和S3C6400就有区别了,因为S3C6400完全支持不经过IROM,直接运行NAND FLASH上的代码。也许三星为了代码的统一,或是别的什么目的,所以在S3C6410必须先运行IROM。
  
  如果具体到WinCE系统启动流程来说,简单而言,大致如下:IROM启动-->加载eboot并执行-->加载NK执行。
  
  更详细的加载流程,请查阅相关的资料,本文重点不在于此,只需要大家对启动流程有个基本的概念即可。
  
  本文的目标是,将WinCE系统烧录到全新的开发板的NAND FLASH中。那么,现在让我们开始,在一片干净的开发板上烧录我们的WinCE系统吧!
  
  PS:本文的烧录方法,基于DMA6410开发板。
  
  因为开发板是纯洁上,上面一片空白,什么都没有,所以我们必须要先进行启动的设置。对于DMA6410这款开发板来说,启动方式的选择在SW18。在本文我们所需要的启动选项如下列表所示:

OM4

OM3

OM2

OM1

OM0

IOM2

IMO1

IMO0

备注

0

0

1

1

-

-

-

-

执行NAND程序

1

1

1

1

-

1

1

1

执行大SD卡程序

1

1

1

1

-

0

0

0

执行小SD卡程序

 
  新的开发板,NAND 上是空白的,所以我们只能先从SD卡启动。至于是选择大卡还是小卡,就看你爱好了。
  
  编译完系统以后,会生成很多文件。首先我们需要做的是,制作一张能启动的SD CARD。
  
  这时候,我们就需要用到三星自带的工具,IROM_FUSING_TOOLS:


  
  SD/MMC Drive是你SD CARD插入到电脑上的盘符,Image File to Fuse表示的是你要烧录的nb0文件。一般来说,如果你正常编译的话,在你的工程下面应该会有一个名为IROM_SD_EBOOT.nb0的文件,那你就选择这个。(题外话:我用的板子是MLC,所以实际我板子使用的是block0img.nb0)。
  
  点击START,短暂的一秒钟不到以后,那你的SD启动卡就制作好了。
  
  接下来,你就需要设置DMA6410的启动模式。根据之前的启动列表,我这里选择的是从大的SD卡启动。
  
  当然,这只是设置了启动模式,我们还没能开始进行烧录。所以,这时候你需要将串口线一端连接到DM6410的DB_UART,另一端连接到电脑。
  
  接着,运行附带的DMATEK DNW程序,并将波特率设置为115200,下载地址设置为0x50030000。如图所示:


  
  
  波特率设置完毕之后,点击软件的Serial Port-->Connect,连接到电脑的COM口。
  
  当这一切繁琐的准备工作弄好以后,那么恭喜你,终于可以正式进行系统的烧录了!
  
  让我们给开发板上电吧,看看板子给予了我们什么信息!
  
  上电之后,迅速按下空格,映入我们眼帘的是一大堆选项;而这些选项,有部分是不符合我们要求的,需要进行整改的!没关系,不要紧张,其实我们需要修改的,仅仅只是两个选项而已,如图:
  
  
  将图中标示的选项更改后完毕后,我们需要按下"W"将设置保存,否则下一次重启以后,迎接我们的将是再一次的设置。
  
  这时候,我们已经可以不用借助于SD CARD了。换而言之,我们可以将插入的SD卡取下,然后将跳线选择到NAND模式。以后每次上电,你都能获得之前同样的菜单信息。
  
  因为NAND是新的,为了保险起见,我们还是选择一次"A":格式化所有块区域。
  
  OK,来到这里,说明你已经为烧录系统做好了充足的准备!那么,拿出你的USB线,将DMA6410的USB_H和电脑的USB口连接起来吧!毫无疑问,电脑会提示找到新硬件,没关系,驱动已经在你所得到的资料中附送了。还等什么,选择它,安装它!
  
  这些的这些全部弄好以后,剩下的事情,就简单多了:
  
1. 选择"U",通过USB下载程序
2. 点击USB Port-->Uboot-->选择生成的eboot.bin,程序自动下载
3. 烧录成功后,会提示halt,重启开发板
4. 选择"U",通过USB下载程序
5. 点击USB Port-->Uboot-->选择生成的nk.bin,程序自动下载
6. 烧录成功后,会提示halt,重启开发板
7. 不再按空格键,等待5s后,系统直接进入WinCE

  S3C6410的系统烧录,只有第一次是最麻烦的,以后的系统更新,只需要用到DNW进行相应的设置,然后再选择更新的系统即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值