9034|41

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于NK烧到FLASH中运行的问题 [复制链接]

问题是这样的,原来将NK.BIN烧到FLASH的首地址中 0x60000000 (FLASH的物理地址)可以正常启动镜像.
现在需要把NK往后一段,以保证不把原来烧在FLASH里EBOOT覆盖掉,比如0x60080000 现在我修改了CONFIG.BIB,下载后通过超级终端看到了确实是烧在了0x60080000 后面,最后也JUMP到这里,但是无法启动镜像.是不是哪里还需要陪置下.

这个是修改的CONFIG.BIB

;**********************************************************************
;
; Boot from FLASH
;                                
;**********************************************************************
MEMORY
    RESERVED     80000000        00008000        RESERVED
    DRV_GLB      80008000        00001000        RESERVED
    CS8950       80010000        00030000        RESERVED
    EDBG         80040000        00080000        RESERVED
    FRAMEBUF     800C0000        00200000        RESERVED
    RAM          802C0000        01D40000        RAM
    NK           88080000        01B00000        RAMIMAGE
CONFIG           (原来是88000000)
    COMPRESSION=ON
    PROFILE=OFF
    ROMSTART=88080000(原来是88000000)
    ROMSIZE=1B00000
    ROMWIDTH=32

    ;
    ; Used for making a copy to RAM 0x80000000
    ;
    ; 0x88000000 + 0xD8000000 = 0x60000000
    ROMOFFSET=0xD8000000
    ROMFLAGS=1
    KERNELFIXUPS=ON
    AUTOSIZE=OFF

这个是通过超级终端看到的信息
NFO: Found file 'nk.bin' (start cluster = 0x00000000:00000003 size = 0x17F45CF)

Downloading BIN file using Hard Drive/CF card.
System ready!
Preparing for download...
Reading Image File.Erasing flash blocks: start Addr = 0x60080000  length = 0x182
7758
.......................OK
Continue to Erase the rest of Flash.
................................................................................
.....
Flash Erase Successfully Finished
Writing to flash at Address= 0x60080000, Length = 0x1827758
................................................................................
................Found pTOC signature.
ROMHDR at Address 60080044h
RomHdr.ulRAMStart=00FF0C07h RomHdr.physfirst=29A00C07h.
INFO: Jumping to image at 0x60081006...



原来可以起来的信息:

INFO: Found file 'nk.bin' (start cluster = 0x00000000:00000003 size = 0x17CECD3)

Downloading BIN file using Hard Drive/CF card.
System ready!
Preparing for download...
Reading Image File.Erasing flash blocks: start Addr = 0x60000000  length = 0x180
0504
.......................OK
Continue to Erase the rest of Flash.
................................................................................
......
Flash Erase Successfully Finished
Writing to flash at Address= 0x60000000, Length = 0x1800504
................................................................................
................Found pTOC signature.
ROMHDR at Address 60000044h
RomHdr.ulRAMStart=00FF0C07h RomHdr.physfirst=29900C07h.
INFO: Jumping to image at 0x60001006...

最新回复

先结贴了,等再开个贴问  详情 回复 发表于 2009-7-24 12:07
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
顶一下
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
地址没问题,明显是两次内核的 大小不一样了。length ,要在eboot中设置一下吧。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
但是这个length并没有超过我FLASH的范围啊,(我的是32M NOR FLASH)
而且我下载的是NK.BIN,这个length是根据NK.BIN的大小来的吧,应该和EBOOT中没关系把.
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
请各位大大指导下,哪里有问题
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
是不是TOC配置的不对,检查一下你的TOC
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
32M的nor flash牛逼。。我没有玩过nor flash
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 5 楼 hugohong 的回复:
是不是TOC配置的不对,检查一下你的TOC

稍微看了下TOC,感觉没什么问题,不过对TOC还没什么研究,具体应该看些什么地方呢

还有从终端信息来看好像是JUMP的地址不对(疑惑为什么要+1006H.不过那个能起来的NK也是+了1006H,不太明白).
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
继续顶一下
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
UP,现在毫无头绪啊
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
关注中
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 
再顶一下,希望有人能来指点下
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

14
 
没有来帮下忙吗,很急啊
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
你换一台机器重新编译一下内核试试,我碰到过类似的问题,自己编译出来的内核用VIEWBIN看那些地址都没问题的,用EBOOT一下载那些地址就全乱套了,后来换了一台机器编译出来的内核就没问题了。我估计是咱们的WINCE版本是试用版到期了的原因,ROMIMAGE.EXE打包的时候对pTOC做了手脚。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

16
 
Eboot里应该有NK的启动地址,可能这个地址你没改吧。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 14 楼 roy_ly 的回复:
你换一台机器重新编译一下内核试试,我碰到过类似的问题,自己编译出来的内核用VIEWBIN看那些地址都没问题的,用EBOOT一下载那些地址就全乱套了,后来换了一台机器编译出来的内核就没问题了。我估计是咱们的WINCE版本是试用版到期了的原因,ROMIMAGE.EXE打包的时候对pTOC做了手脚。

多谢你的帮助,不过我的PB是刚装的,而且改到0x60000000这个地址时就可以起来,明天去试试看好了,只能死马当活马医了。。。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(中级)

18
 
引用 15 楼 firefly123 的回复:
Eboot里应该有NK的启动地址,可能这个地址你没改吧。


NK的地址是在CONFIG.BIB里配置的吧,EBOOT是分析NK.BIN的信息而确定启动地址的
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

19
 
换了台机器重新编了下,发现果然还是不行.
现在发现能起来的NK 在JUMP TO IMAGE 后,还有如下信息
Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at 22:52:56
ProcessorType=0920  Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddre) Sp=ffffc7cc
ERROR: f:\wince420\platform\ep931x\drivers\wavdev\wav.cpp line 730: AudioDriver:
:Initialize: Failed to initialize AC97Codec
                                           Data Abort: Thread=83ffcbb4 Proc=802e
90b0 'device.exe'
AKY=00000005 PC=031a6d58 RA=031a6d50 BVA=06000004 FSR=00000007
Init Raster engine
Clearing screen
Returning from DDI init
OEMResetWakeupSource dwSource = 0x11
OEMSetWakeupSource dwSource = 0x11


但是起不来的NK就停在NFO: Jumping to image at 0x60001006...
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

20
 
换个号来发..
刚才去改了下NK.BIN,把原来能起来的NK中的跳转地址改成了0x60000000发现也能起来,说明应该 不是地址跳转的问题.
现在感觉是在JUMPING后系统没有跳转到OAL层?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表