手头上有一个友善之臂的SBC2410x的实验板,原本是用来给客户做Demo的,现在项目都停了,所以就自己拿来玩玩。 以前玩ARM的时候,下载的是linux,这次打算玩玩Wince。现在就把这次的过程写出来好了:(Linux的过程以后有机会的话可以也写一个 ^_^) 因为以前
手头上有一个友善之臂的SBC2410x的实验板,原本是用来给客户做Demo的,现在项目都停了,所以就自己拿来玩玩。
以前玩ARM的时候,下载的是linux,这次打算玩玩Wince。现在就把这次的过程写出来好了:(Linux的过程以后有机会的话可以也写一个 ^_^)
因为以前板子上都有linux了,所以最先考虑的就是想直接使用以前的vivi版本,结果发现不行。也可能不是不行,只是我的操作出错罢了,那就从头安装好了。
首先要准备一些软件方面的:GIVEIO(Jtag烧写板驱动),三星的PC端usb驱动文件secbulk.sys和secbulk.inf,wince版本的vivi文件(vivi_wince_64m_32bit),DNW软件,u2410mon.bin,wince的Eboot程序EBOOT_0702.nb0,2410的WinCE内核NK.bin。
硬件当然就是Jtag烧写板以及串口线了。
好了现在开始:
1.先要安装GIVEIO,将GIVEIO.SYS复制到c:/windows/system32/drivers下面,然后安装一个新硬件,将驱动指向giveio.inf就行了。
2.将Jtag板和板子连接,打开电源。在dos窗口写入 sjf2410 /f:vivi_wince_64m_32bit,然后连续输入0,0,0三个将vivi直接考入K9F1208这个flash内。然后关电,将Jtag板拔下来。
3.现在需要安装usb驱动了,将secbulk.sys文件复制到c:/windows/system32/drivers。打开DNW,设置好configuration后点击串口的connect,按住空格键后给板子上电,进入vivi。这时pc会识别到新usb设备,就按步骤安装,选择手动指定到secbulk.inf。正确安装后dnw上应该显示:“USB:OK”,而不是“USB:x”了。
4.下面就要进行分区格式化Flash了,键入bon part 0 192k 1216k将Nandflash分为3个区1-192k,192k-1216k,1216k-64M。
5.这时因为flash已经清空了,所以还需要再load一遍vivi:load flash vivi u 看到"USB host is connected. Waiting a download."后点击USB->transmit,再次选择vivi_wince_64m_32bit,就可以了。
6.安装Eboot:load flash eboot u,和上面的vivi一样,点击USB->transmit,选择Eboot.nb0下载。
7.重点到了,安装Wince内核: 一样的,输入 load flash wince u 用USB->transmit 选择NK.bin。好了。再次开机以后你就可以通过串口看到如下的wince启动代码了:
“
OEMSetRealTime: Year: 2003, Month: 9, Day: 1, Hour: 12, Minute: 0, second: 0 rcn
r=1h
OEMSetRealTime(register): Year: 3, Month: 9, Day: 1, Hour: 12, Minute: 0, se
cond: 0 rcnr=1h
FMD::FMD_Init
Prescaler:2
384 clock
SL_Open 0x315F0 (0 opens)
USB:OhcdPdd_Init
++InitializeOHCI
USB:*pIrq=11, *pioPortBase=0x280000
OHCD: MapIrq2SysIntr(11): 27
OHCD: Memory Object
--InitializeOHCI
+CS8900:DriverEntry
::: PBT_InitializeAddresses - Success
charlie::SDIO::SDHOST::SDCSDCardDllEntry::DLL_PROCESS_ATTACH
::: SYSINTR_SDMMC OEMInterruptDisable
::: SYSINTR_DMA0 OEMInterruptDisable
::: SYSINTR_SDMMC_CARD_DETECT OEMInterruptEnable
::: SYSINTR_SDMMC_SDIO_INTERRUPT OEMInterruptEnable
--S3C2410DISP::InitializeHardware
+SL_GetStatus 0x315F0
”
ok,完了。
注:当时在玩的时候,发现总是flash有坏区,当时很是不理解。后来通过现象(每次都是刚开始的时候没有问题,但是过一阵子就不行了),发现应该不是硬件本身的问题。在排查了是否有短路,断线等问题之后,才发现是电池没电了。晕。。。。
看来还是用5v变压器比较好,呵呵。