eboot无法启动wince

LouisScola 2010-07-28 10:59:32
用nboot+eboot方式把wince6.0烧到Flash上,但是有时无法启动,有时又可以,可以的概率只有20%左右,大部分都启动不了,串口打印如下:

Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor.

Initiating image launch in 0 seconds.
Launching image from boot media ...
OEMPlatformInit: IMAGE_TYPE_RAMIMAGE
+=OEMVerifyMemory+ dwStartAddr:0x80200000 dwLength:0x4
RAM image 0xa 0x80200003
+=OEMVerifyMemory+ dwStartAddr:0x80201000 dwLength:0x4
RAM image 0xa 0x80201003
System ready!
Preparing for download...
waitforconnect
INFO: OEMLaunch: Jumping to Physical Address 0x30201000h (Virtual Address 0x80201000h)...
就是在这个地方卡住了,不能跳转,大家说说是什么问题?
...全文
341 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinesedragon2010 2010-08-13
  • 打赏
  • 举报
回复
谢谢楼主的分享,既然楼主解决问题了,就应该结贴了啊,哈哈!
LouisScola 2010-08-05
  • 打赏
  • 举报
回复
这个配置的是wince系统的时钟,所以也很重要
LouisScola 2010-08-05
  • 打赏
  • 举报
回复
MPLL,UPLL的配置在stepldr,eboot中的startup.s汇编文件中配置,参照三星的datasheet配置

另外一个就是我这个帖子遇到的问题就是,需要在D:\WINCE600\PLATFORM\TQ2440\Src\OAL\OALLIB\startup.s中配置,参考datasheet配置你需要的时钟,下面是我的配置:

ldr r0, =UPLLCON
ldr r1, =((0x3c<<12)+(0x4<<4)+0x2) ; Fin=16.9344MHz, Fout=48MHz.
str r1, [r0]
ldr r0, =MPLLCON
ldr r1, =((0x76 << 12) + (0x2 << 4) + 0x2) ; Fin=16.9344MHz, Fout=266.72MHz.
str r1, [r0]
str r1, [r0]
xiao_rq 2010-08-04
  • 打赏
  • 举报
回复
楼主说说MPLL和UPLL的配置过程嘛,大家期待中~
unsway123 2010-08-03
  • 打赏
  • 举报
回复
跳转不对,是你跳转地址的那个地方的数据不对吗?你可以打印你跳转地址处的数据,和nk。nb0比较,如果对的话就分析startup.s不对你就仔细看看你的load
chairsszj 2010-08-03
  • 打赏
  • 举报
回复
路过,学习一下....
chinesedragon2010 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 louisscola 的回复:]
。恩。。。
不好意思现在才来,我的问题解决了,其实是我的WINCE系统的时钟MPLL和UPLL没有配好导致的,重新配置后问题搞定,到今天起,三周过去了,操作系统完全跑起来了,其实移植最重要的就是找一个很相近的BSP就很顺利了
[/Quote]
楼主你好,可以分享一下你的系统的时钟MPLL和UPLL修改前后的设置,我很想学习一下,十分感谢!
LouisScola 2010-07-30
  • 打赏
  • 举报
回复
纠正一下,我的系统是S3C2440+64M nandflash+64M SDRAM
LouisScola 2010-07-30
  • 打赏
  • 举报
回复
。恩。。。
不好意思现在才来,我的问题解决了,其实是我的WINCE系统的时钟MPLL和UPLL没有配好导致的,重新配置后问题搞定,到今天起,三周过去了,操作系统完全跑起来了,其实移植最重要的就是找一个很相近的BSP就很顺利了
chinesedragon2010 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 louisscola 的回复:]
用nboot+eboot方式把wince6.0烧到Flash上,但是有时无法启动,有时又可以,可以的概率只有20%左右,大部分都启动不了,串口打印如下:

Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor.

Initiating image launch in 0 se……
[/Quote]
“INFO: OEMLaunch: Jumping to Physical Address 0x30201000h (Virtual Address 0x80201000h)...”的后面会调用Launch(dwPhysLaunchAddr),而Lauch在Util.s定义,如下
PHY_RAM_START EQU 0x30000000
VIR_RAM_START EQU 0x80000000

TEXTAREA

LEAF_ENTRY Launch

ldr r2, = PhysicalStart
ldr r3, = (VIR_RAM_START - PHY_RAM_START)

sub r2, r2, r3

mrc p15, 0, r1, c1, c0, 0
bic r1, r1, #0x0001 ; Disable MMU
mcr p15, 0, r1, c1, c0, 0


;mov r1, #0x0070 ; Disable MMU
;mcr p15, 0, r1, c1, c0, 0

nop
mov pc, r2 ; Jump to PStart
nop

; MMU & caches now disabled.

PhysicalStart

mov r2, #0
mcr p15, 0, r2, c8, c7, 0 ; Flush the TLB
mov pc, r0 ; Jump to program we are launching.

PHY_RAM_START EQU 0x30000000
VIR_RAM_START EQU 0x80000000
分别表示SDRAM的cached address, physical address,出现上面这个问题的原因有可能和SDRAM有关,请问你的系统的FCLK和HCLK分别是多少?
博说医械研发 2010-07-29
  • 打赏
  • 举报
回复
不一定是不能跳转,可能是已经跳过去了,但是那个地址没有需要的代码,通过JTAG和其它的工具看看当前的PC值吧
LouisScola 2010-07-29
  • 打赏
  • 举报
回复
我的FCLK是266.72M,HCLK=FCLK/3
Util.s我也看了,这是我的eboot里的Util.s文件

INCLUDE kxarm.h

PHY_RAM_START EQU 0x30000000
VIR_RAM_START EQU 0x80000000

TEXTAREA

LEAF_ENTRY Launch

ldr r2, = PhysicalStart
ldr r3, = (VIR_RAM_START - PHY_RAM_START)

sub r2, r2, r3

mov r1, #0x0070 ; Disable MMU
mcr p15, 0, r1, c1, c0, 0
nop
mov pc, r2 ; Jump to PStart
nop

; MMU & caches now disabled.

PhysicalStart

mov r2, #0
mcr p15, 0, r2, c8, c7, 0 ; Flush the TLB
mov pc, r0 ; Jump to program we are launching.



LEAF_ENTRY ShowLights

mov pc, lr

END
请问为什么和FCLK和HCLK这两个时钟有关?怎么解决在这里卡住的问题
luixing67 2010-07-29
  • 打赏
  • 举报
回复
楼主的RAM实在太小了。
我遇到的NBOOT加载EBOOT的时候,不知道是不是 不能跳转过去呢,还是跳转过去运行不了。不过测试出来时拷贝好了。
正在纠结中,问题好多。
chinesedragon2010 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 veabol 的回复:]
不一定是不能跳转,可能是已经跳过去了,但是那个地址没有需要的代码,通过JTAG和其它的工具看看当前的PC值吧
[/Quote]
是啊,可以通过I/O来控制LED来判断程序是否跳转到这里!
luixing67 2010-07-28
  • 打赏
  • 举报
回复
nk多大
LouisScola 2010-07-28
  • 打赏
  • 举报
回复
和硬件有关系吗?我的是64M nandflash+32M SDRAM,这个跑wince6.0是不是太吃力了?
LouisScola 2010-07-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 luixing67 的回复:]

nk多大
[/Quote]
NK.BIN有28.7M,很大吗?

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧