打印

阿满的WinCE on SkyEye 初探成果!

阿满的WinCE on SkyEye 初探成果!

阿满移植WinCE到SkyEye上的初步成果!
下面是阿满的email内容和图示(在附加档案中)
------------------------------------------------------------------
1 收到wince bootload启动,广播 bootme消息之后,pb里出现skyeye模拟板名称,最
让我激动得一步,赫赫



2 下载内核,改进后速度可以到6K/s,



3 用pb debug wince内核,中间一栏是target control窗口,相当于uclinux的console
跑得是tiny kernel,到这一步,内核已经加载完毕
附件: 您所在的用户组无法下载或查看附件

TOP

1 操作系统及网络环境
win2000+pb4.2 ip 192.168.0.1
colinux(虚拟网卡为tap)+Debian ip 192.168.0.40
skyeye ip 192.168.0.40
虚拟lubbock ip 192.168.0.201

所需工具
  iproute
  bootp
  udp-broadcast-relay-0.3
  
运行EBOOT步骤
1 运行PB,可以先基于XSC1BD新建平台,编译

2 修改skyeye.conf中file为EBOOT.nb0,运行skyeye,tar s

3 运行命令,使win2000能访问虚拟lubbock
ip route del 192.168.0.0/24 dev tap0
ip route add 192.168.0.201 dev tap0
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
echo 1 > /proc/sys/net/ipv4/ip_forward

4 添加
wince:ha=08003E21C7F7:ht=ether:ip=192.168.0.201:
到/etc/bootptab,运行bootpd

5 运行命令(需要修改命令路径),使EBOOT发送的UDP广播报能广播到PB
/udp-broadcast-relay -d 1 980 eth0

6 打开PB /target /Configure remote Connection /services /download /configure

7 在skyeye中run.等屏幕上打印出 ..send bootme...时,PB中应该可以看到模拟板的名称

8 打开PB /target /Download initialize,重新run skyeye,之后会自动开始下载内核(下载完写到flash时会报错)

运行NK.nb0步骤(Tiny Kernel)
1 修改skyeye.conf file=NK.nb0,运行skyeye,tar s
2 同上3,4
3 运行/udp-broadcast-relay -d 1 981 eth0
4 PB /target /connect
5 在skyeye中run,控制台、PB debug窗口都会有信息输出
经过漫长的等待,直到PB debug窗口显示
Welcome to the Windows CE Shell. Type ? for help.

这时,kernel已经加载完毕,打开 pb \target \CE Target Control窗口,就可以输入shell命令了
......
PB debug窗口完整的输出,供参考,免得等的失去信息:)
Kernel debugger is waiting to connect with target.
      0 PID:0 TID:0 Booting Windows CE version 4.20 for (ARM)
      0 PID:0 TID:0 &pTOC = 9838bb8c, pTOC = 9852b594, pTOC->ulRamFree = 82155000, MemForPT = 00000000
      0 PID:0 TID:0
Old or invalid version stamp in kernel structures - starting clean!
      0 PID:0 TID:0 Configuring: Primary pages: 7008, Secondary pages: 0, Filesystem pages = 3504
      0 PID:0 TID:0
Booting kernel with clean memory configuration:
      0 PID:0 TID:0 Memory Sections:
      0 PID:0 TID:0 [0] : start: 82156000, extension: 00002000, length: 01b60000
      0 PID:0 TID:0 Sp=ffffc7cc
      2 PID:0 TID:0 Windows CE KernelInit
4294767297 PID:3cb7002 TID:3cb7262 Updated eptr->e32_vsize to = 000b3000
4294767303 PID:3cb7002 TID:3cb7262 Scheduling the first thread.
4294767309 PID:3cb7002 TID:3cb7262 0x83cb7024: KernelInit2: pCurThread=83cb7024 hCurThread=03cb7262 hCurProc=03cb7002, KernelInit = 983a563c
4294767312 PID:3cb7002 TID:3cb7262 0x83cb7024: Detecting VFP...
Kernel debugger connected (KDBG stream opened).
Kernel Version 1169  loaded at 0x98380000, data relocated at 0x820c6000
Debugger connection established (Target CPU is ARM).
4294767315 PID:3cb7002 TID:3cb7262 0x83cb7024:  VFP Not Found!
4294767318 PID:3cb7002 TID:3cb7262 0x83cb7024: Updated eptr->e32_vsize to = 00016000
4294767326 PID:3cb7002 TID:3cb7262 0x83cb7024: >>> Loading module NK.EXE at address 0x98380000-0x98433000 (RW data at 0x820C6000-0x82134B8B)
Loaded 'NK.EXE', no matching symbolic information found.
Loaded 'kd.dll', no matching symbolic information found.
Finished re-loading kernel modules.
4294767338 PID:3cb7002 TID:3cb7262 0x83cb7024: Updated eptr->e32_vsize to = 00005000
4294767342 PID:3cb7002 TID:3cb7262 0x83cb7024: >>> Loading module celog.dll at address 0x9844D000-0x98452000 (RW data at 0x8213B310-0x8213B850)
Loaded 'celog.dll', no matching symbolic information found.
4294767350 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLogInit
Loaded 'coredll.dll', no matching symbolic information found.
4294767353 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLog: Large buffer size unspecified, using default size
4294767356 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLog: Small buffer size invalid or unspecified, using default size
4294767358 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLog: Large buffer size = 131072
4294767361 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLog: Small buffer size = 4096
4294767449 PID:3cb7002 TID:3cb7262 0x83cb7024: -CeLogInit
4294767452 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLog Zones : CE = 0xFFBFFFFF, User = 0xFFBFFFFF, Proc = 0xFFFFFFFF
4294767455 PID:3cb7002 TID:3cb7262 0x83cb7024: CeLog is now live!
4294767469 PID:3cb7002 TID:3cb7262 0x83cb7024: first = 01ff0000, last = 02000000, SharedDllBase = 03f30000
4294767758 PID:3cb7002 TID:3cb7262 0x83cb7024: >>> Loading module coredll.dll at address 0x03F70000-0x03FF2000 (RW data at 0x01FFF000-0x01FFF850)
4294768045 PID:23c80cba TID:23c80c96 0x83c80a58: >>> Loading module filesys.exe at address 0x04010000-0x0405E000
Loaded 'filesys.exe', no matching symbolic information found.
4294768153 PID:23c80cba TID:23c80c96 0x83c80a58: FileSystem Starting - starting with clean file system
4294775119 PID:23c80cba TID:23c80c96 0x83c80a58: >>> Loading module fsdmgr.dll at address 0x03F30000-0x03F4C000 (RW data at 0x01FF9000-0x01FF9754)
Loaded 'fsdmgr.dll', no matching symbolic information found.
4294775647 PID:23c80cba TID:23c80c96 0x83c80a58: InitSharedHeap: 42100000 10000 c
4294775676 PID:23c80cba TID:23c80c96 0x83c80a58:   InitSharedHeap: return 42100050
4294776361 PID:23c80cba TID:23c80c96 0x83c80a58: >>> Loading module relfsd.dll at address 0x03F60000-0x03F6B000 (RW data at 0x01FFD000-0x01FFDABC)
Loaded 'relfsd.dll', no matching symbolic information found.
4294777093 PID:23c80cba TID:3c659d6 0x83c83d20: Mounted ReleaseFSD volume '\Release'
4294781075 PID:23c80cba TID:23c80c96 0x83c80a58: FSREG: Logging in default user.
4294781115 PID:23c80cba TID:23c80c96 0x83c80a58: SetCurrentUser: Logging out (nobody), logging in default
4294781118 PID:23c80cba TID:23c80c96 0x83c80a58: FS: Using default path "\profiles\"
4294781416 PID:23c80cba TID:23c80c96 0x83c80a58: SetCurrentUser: User hives not supported -- using same registry for all users
4294781448 PID:23c80cba TID:23c80c96 0x83c80a58: FS: Using default path "Windows\"
4294848106 PID:23c80cba TID:23c80c96 0x83c80a58: FS: Using default path "Windows\"
4294848776 PID:23c80cba TID:23c80c96 0x83c80a58: Filesystem initialized!
4294848806 PID:3cb7002 TID:c3c83f5e 0x83c80400: InitializeJit
4294848813 PID:3cb7002 TID:c3c83f5e 0x83c80400: InitMUI: DISABLED (-1039664356)
4294849486 PID:43c80a36 TID:43c808c2 0x83c5e340: InitSharedHeap: 42100000 0 c
4294849489 PID:43c80a36 TID:43c808c2 0x83c5e340:   InitSharedHeap: return 42100050
4294849650 PID:43c80a36 TID:43c808c2 0x83c5e340: >>> Loading module toolhelp.dll at address 0x03F50000-0x03F56000 (RW data at 0x01FFB000-0x01FFB05
Loaded 'toolhelp.dll', no matching symbolic information found.
4294849711 PID:43c80a36 TID:43c808c2 0x83c5e340: >>> Loading module shell.exe at address 0x06010000-0x06027000
Loaded 'shell.exe', no matching symbolic information found.


Welcome to the Windows CE Shell. Type ? for help.

4294850910 PID:43c80a36 TID:43c808c2 0x83c5e340: Shell: No extension DLLs found

TOP

好样的!

TOP

不知道现在WINCE的程序跑得怎么样了?

TOP

开发者没有持续下去,如果有感兴趣做的,我们大力支持和配合!

TOP

:)最近还在用skyeye,准备把redboot‘移植’到skyeye模拟的2410上面。
skyeye改动比较大,跟以前的截然不一样了。安装什么的方便很多了
跑了半天才跑通了2410那个testcase,赫赫,不知道testcase下有没有readme,小小的一个参数难倒很多人啊。
比较郁闷的是ctrl+c它就给我直接退出了,以前可以调试的阿:)
要跑wince的朋友可以跟我联系,有时间我也想再在新版本上跑,最好能跑出图形界面

TOP

我已经装了pb4,想尝试一下你的工作,希望多联系!

TOP

陈渝大侠弄得怎么样了?
我下载了那个linux2.4.13 for ep7312,加载rootfs时报错,大侠指点一二,多谢
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 1500 blocks [1 disk] into ram disk... done.
Freeing initrd memory: 2048K
Blkmem: bad access: block=2, count=2 (pos=800, len=0)
end_request: I/O error, dev 1f:00 (Blkmem), sector 2
EXT2-fs: unable to read superblock
Blkmem: bad access: block=0, count=2 (pos=400, len=0)
end_request: I/O error, dev 1f:00 (Blkmem), sector 0
romfs: unable to read superblock
Kernel panic: VFS: Unable to mount root fs on 1f:00

TOP

问题解决了,原来是super.c,mout_root函数里指定死了ROOT_DEV,改成ram就可以加载ext2了

TOP

simplaman , 最近在fix skyeye的bug。还没有时间实验wince
不知你试过是否最新的skyeye对你移植的wince的支持情况。
非常希望你能够继续移植wince到skyeye上!

TOP

Can we add wince binary image to our testsuite?? That will make skyeye testsuite more completely.....

TOP

I didn't test them on newest skyeye.  I ask my student to do so.
simplaman will help us.

TOP

Can't find super.c

[quote:7c7842e116="simplaman"]问题解决了,原来是super.c,mout_root函数里指定死了ROOT_DEV,改成ram就可以加载ext2了[/quote]

super.c在哪个目录下呀,我昨晚找了半天也没找到啊,用find -name super.c也没在skyeye目录下找到.
谢谢.

TOP

simplaman指的是linux中的文件,不是skyeye中的文件。

TOP

那么在哪里能找到啊?我也碰到那个问题:
romfs: unable to read superblock
Kernel panic: VFS: Unable to mount root fs on 1f:00

如何解决这个问题呢?谢谢.

TOP