4338|11

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

Wince 5 启动地址的問題? [复制链接]

编译了一个NK。BIN文件,下载到板子,启动后,程序执行下面就不动了。
应该是我的Jump地址0x8c208810有問題,但沒找到修改这个的地方,哪位熟悉
的朋友提醒一下,谢谢!

Jumping to image at virtual address 0x8C208810h
+ToPhysicalAddr:0x8C208810
-ToPhysicalAddr:0x30208810

::: Physical Launch Address: 0x30208810h
此帖出自WindowsCE论坛

最新回复

看你的虚拟内存映射表,这两个不同,主要是由此决定的。  详情 回复 发表于 2008-12-3 11:36
点赞 关注
 

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
jump的地址会在NK.bin里面看到,可以在platform\bsp\files\config.bib里面修改。另外还有在bsp.h文件里面会有相关的一些地址设置。
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
config.bib里面沒有jump 地址的设定
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
config.bib里NK的起始地址就是jump地址,boot下载nk.bin的时候会记录这个地址并保存,如果是下载nk.nb0就需要自己在boot中指定下载地址即jump地址了
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

5
 
我有两份启动信息,一份是能成功启动的,一份是有問題,请帮忙看看
可以启动的
Clear the free memory .............................................................
Read eboot image from flash ......
Sector addr on NAND: 0x100
TotalSector: 0x100
LoadAddress: 0x30038000
JumpAddr: 0x30038000

Now, to download the wince image(nk.bin) ......
USB host is connected. Waiting a download.

Now, Downloading [ADDRESS:30058000h,TOTAL:18393673]
Downloaded file at 0x30000000, size = 18393663 bytes
Mark bad blocks as unused ......
Mark Block 0 as unused, has mark 1 blocks
Mark Block 1 as unused, has mark 2 blocks
Mark Block 2 as unused, has mark 3 blocks
Mark Block 3 as unused, has mark 4 blocks
Mark Block 4 as unused, has mark 5 blocks
Mark Block 5 as unused, has mark 6 blocks
Mark Block 6 as unused, has mark 7 blocks
Mark Block 7 as unused, has mark 8 blocks
Mark Block 8 as unused, has mark 9 blocks
Mark Block 9 as unused, has mark 10 blocks
Mark Block 10 as unused, has mark 11 blocks
Mark Block 11 as unused, has mark 12 blocks
Mark Block 12 as unused, has mark 13 blocks
Mark Block 13 as unused, has mark 14 blocks
Mark Block 14 as unused, has mark 15 blocks
Mark Block 15 as unused, has mark 16 blocks
Mark Block 16 as unused, has mark 17 blocks
Mark Block 17 as unused, has mark 18 blocks
Mark Block 18 as unused, has mark 19 blocks
Mark Block 19 as unused, has mark 20 blocks
Extract wince image throught USB ......


OEMMultiBINNotify: Download BIN file information:

-----------------------------------------------------

[0]: Base Address=0x8c200000  Length=0x11ed9dc

-----------------------------------------------------

OEMVerifyMemory: StartAddr: 0x8c200000, Length:0x11ed9dc

*** Downloading UNKNOWN image type ***

.................
dwImageStart : 0x8c200000

dwImageLength: 0x11ed9dc

LaunchAddr   : 0x8c201000


rom_offset=0x0.

Run eboot, JumpAddr = 0x30038000
..

Microsoft Windows CE Ethernet Bootloader Common Library Version 1.0 Built Jan 28 2007 17:47:35
Copyright (c) 2000-2001  Microsoft Corporation
Microsoft Windows CE SMDK2440 Bootloader Version 1.2 Built Jan 28 2007 17:47:27
FMD::FMD_Init

FMD::FMD_Init Done

TOC_Read
FMD: ECC ERROR - Page #: 608
(0:FC 0:CF 0:F)
FMD: Unable to correct the ECC error - Page #: 608

TOC_Read ERROR: Unable to read TOC
TOC_Init: dwEntry:1, dwImageType: 0x6, dwImageStart: 0x0, dwImageLength: 0x0, dwLaunchAddr: 0x0
+BootConfigInit
-BootConfigInit
TOC {
dwSignature: 0x434F544E
BootCfg {
  ConfigFlags: 0x3020
  BootDelay: 0xF
  ImageIndex: 1
  IP: 0.0.0.0
  MAC Address: 00:00:00:00:00:00
  Port: 0.0.0.0
  SubnetMask: 255.255.255.255
}
ID[0] {
  dwVersion: 0x10002
  dwSignature: 0x45424F54
  String: 'eboot.nb0'
  dwImageType: 0x2
  dwTtlSectors: 0x100
  dwLoadAddress: 0x8C038000
  dwJumpAddress: 0x8C038000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x100
  sgList[0].dwLength: 0x100
}
ID[1] {
  dwVersion: 0x1
  dwSignature: 0x43465349
  String: ''
  dwImageType: 0x6
  dwTtlSectors: 0x0
  dwLoadAddress: 0x0
  dwJumpAddress: 0x0
  dwStoreOffset: 0x0
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
g_pViviWinceInfo = 0x301D8000, g_pViviWinceInfo->dwViviWinceMagic = 0x12345678
Low-level format nand flash ...

Reserving Blocks [0x0 - 0x13] ...

...reserve complete.

Low-level format Blocks [0x14 - 0xFFF] ...

...erase complete.

Format nand flash for BinFS, please wait several minutes ...

System ready!
Preparing for download...
Found pTOC signature.
ROMHDR at Address 8C200044h
RomHdr.ulRAMStart=8E600000h RomHdr.physfirst=8C200000h.
::OEMLaunch, ImageStart:0x8C200000, ImageLength:0x11ED9DC, LaunchAddr:0x8C201000
OEMLaunch: (IMAGE_TYPE_RAMIMAGE|IMAGE_TYPE_BINFS)
+WriteRegionsToBootMedia: ImageStart: 0x8C200000, ImageLength: 0x11ED9DC, LaunchAddr:0x8C201000
INFO: OEMLaunch: Found chain extenstion: '' @ 0x8C200000
Writing single region/multi-region update, dwBINFSPartLength: 18799068
dwRegionStart: 0x8C200000, dwRegionLength: 0x11ED9DC, dwStoreOffset: 0x0
Updateded TOC!
-WriteRegionsToBootMedia
+TOC_Write
Erasing Block: 19

FMD_WriteSector.............

FMD_ReadSector.............

memcmp.............

TOC {
dwSignature: 0x434F544E
BootCfg {
  ConfigFlags: 0x3820
  BootDelay: 0xF
  ImageIndex: 1
  IP: 0.0.0.0
  MAC Address: 00:00:00:00:00:00
  Port: 0.0.0.0
  SubnetMask: 255.255.255.255
}
ID[0] {
  dwVersion: 0x10002
  dwSignature: 0x45424F54
  String: 'eboot.nb0'
  dwImageType: 0x2
  dwTtlSectors: 0x100
  dwLoadAddress: 0x8C038000
  dwJumpAddress: 0x8C038000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x100
  sgList[0].dwLength: 0x100
}
ID[1] {
  dwVersion: 0x1
  dwSignature: 0x43465349
  String: ''
  dwImageType: 0x6
  dwTtlSectors: 0x8F6D
  dwLoadAddress: 0x8C200000
  dwJumpAddress: 0x8C201000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x520
  sgList[0].dwLength: 0x8F6D
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
-TOC_Write
TOC {
dwSignature: 0x434F544E
BootCfg {
  ConfigFlags: 0x3820
  BootDelay: 0xF
  ImageIndex: 1
  IP: 0.0.0.0
  MAC Address: 00:00:00:00:00:00
  Port: 0.0.0.0
  SubnetMask: 255.255.255.255
}
ID[0] {
  dwVersion: 0x10002
  dwSignature: 0x45424F54
  String: 'eboot.nb0'
  dwImageType: 0x2
  dwTtlSectors: 0x100
  dwLoadAddress: 0x8C038000
  dwJumpAddress: 0x8C038000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x100
  sgList[0].dwLength: 0x100
}
ID[1] {
  dwVersion: 0x1
  dwSignature: 0x43465349
  String: ''
  dwImageType: 0x6
  dwTtlSectors: 0x8F6D
  dwLoadAddress: 0x8C200000
  dwJumpAddress: 0x8C201000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x520
  sgList[0].dwLength: 0x8F6D
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}

Jumping to image at virtual address 0x8C201000h
+ToPhysicalAddr:0x8C201000
-ToPhysicalAddr:0x30201000

::: Physical Launch Address: 0x30201000h
Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:25:00
ProcessorType=0920  Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c2013bc

Windows CE Firmware Init
INFO: Initializing system interrupts...
INFO: Initializing system clock(s)...
INFO: Initializing driver globals area...
SDMMC config set rGPGCON: fd96ffba
OEMInit Done...
Sp=ffffc7cc
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
不能启动的
Clear the free memory .............................................................
Read eboot image from flash ......
Sector addr on NAND: 0x100
TotalSector: 0x100
LoadAddress: 0x30038000
JumpAddr: 0x30038000

Now, to download the wince image(nk.bin) ......
USB host is connected. Waiting a download.

Now, Downloading [ADDRESS:30058000h,TOTAL:15548077]
Downloaded file at 0x30000000, size = 15548067 bytes
Mark bad blocks as unused ......
Mark Block 0 as unused, has mark 1 blocks
Mark Block 1 as unused, has mark 2 blocks
Mark Block 2 as unused, has mark 3 blocks
Mark Block 3 as unused, has mark 4 blocks
Mark Block 4 as unused, has mark 5 blocks
Mark Block 5 as unused, has mark 6 blocks
Mark Block 6 as unused, has mark 7 blocks
Mark Block 7 as unused, has mark 8 blocks
Mark Block 8 as unused, has mark 9 blocks
Mark Block 9 as unused, has mark 10 blocks
Mark Block 10 as unused, has mark 11 blocks
Mark Block 11 as unused, has mark 12 blocks
Mark Block 12 as unused, has mark 13 blocks
Mark Block 13 as unused, has mark 14 blocks
Mark Block 14 as unused, has mark 15 blocks
Mark Block 15 as unused, has mark 16 blocks
Mark Block 16 as unused, has mark 17 blocks
Mark Block 17 as unused, has mark 18 blocks
Mark Block 18 as unused, has mark 19 blocks
Mark Block 19 as unused, has mark 20 blocks
Extract wince image throught USB ......


OEMMultiBINNotify: Download BIN file information:

-----------------------------------------------------

[0]: Base Address=0x8c200000  Length=0xf28c50

-----------------------------------------------------

OEMVerifyMemory: StartAddr: 0x8c200000, Length:0xf28c50

*** Downloading UNKNOWN image type ***

..............
dwImageStart : 0x8c200000

dwImageLength: 0xf28c50

LaunchAddr   : 0x8c208810


rom_offset=0x0.

Run eboot, JumpAddr = 0x30038000
..

Microsoft Windows CE Ethernet Bootloader Common Library Version 1.0 Built Jan 28 2007 17:47:35
Copyright (c) 2000-2001  Microsoft Corporation
Microsoft Windows CE SMDK2440 Bootloader Version 1.2 Built Jan 28 2007 17:47:27
FMD::FMD_Init

FMD::FMD_Init Done

TOC_Read
FMD: ECC ERROR - Page #: 608
(0:FF 0:C0 0:CF)
FMD: Unable to correct the ECC error - Page #: 608

TOC_Read ERROR: Unable to read TOC
TOC_Init: dwEntry:1, dwImageType: 0x6, dwImageStart: 0x0, dwImageLength: 0x0, dwLaunchAddr: 0x0
+BootConfigInit
-BootConfigInit
TOC {
dwSignature: 0x434F544E
BootCfg {
  ConfigFlags: 0x3020
  BootDelay: 0xF
  ImageIndex: 1
  IP: 0.0.0.0
  MAC Address: 00:00:00:00:00:00
  Port: 0.0.0.0
  SubnetMask: 255.255.255.255
}
ID[0] {
  dwVersion: 0x10002
  dwSignature: 0x45424F54
  String: 'eboot.nb0'
  dwImageType: 0x2
  dwTtlSectors: 0x100
  dwLoadAddress: 0x8C038000
  dwJumpAddress: 0x8C038000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x100
  sgList[0].dwLength: 0x100
}
ID[1] {
  dwVersion: 0x1
  dwSignature: 0x43465349
  String: ''
  dwImageType: 0x6
  dwTtlSectors: 0x0
  dwLoadAddress: 0x0
  dwJumpAddress: 0x0
  dwStoreOffset: 0x0
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
g_pViviWinceInfo = 0x301D8000, g_pViviWinceInfo->dwViviWinceMagic = 0x12345678
Low-level format nand flash ...

Reserving Blocks [0x0 - 0x13] ...

...reserve complete.

Low-level format Blocks [0x14 - 0xFFF] ...

...erase complete.

Format nand flash for BinFS, please wait several minutes ...

System ready!
Preparing for download...
Found pTOC signature.
ROMHDR at Address 8C200044h
RomHdr.ulRAMStart=8E600000h RomHdr.physfirst=8C200000h.
::OEMLaunch, ImageStart:0x8C200000, ImageLength:0xF28C50, LaunchAddr:0x8C208810
OEMLaunch: (IMAGE_TYPE_RAMIMAGE|IMAGE_TYPE_BINFS)
+WriteRegionsToBootMedia: ImageStart: 0x8C200000, ImageLength: 0xF28C50, LaunchAddr:0x8C208810
INFO: OEMLaunch: Found chain extenstion: '' @ 0x8C200000
Writing single region/multi-region update, dwBINFSPartLength: 15895632
dwRegionStart: 0x8C200000, dwRegionLength: 0xF28C50, dwStoreOffset: 0x0
Updateded TOC!
-WriteRegionsToBootMedia
+TOC_Write
Erasing Block: 19

FMD_WriteSector.............

FMD_ReadSector.............

memcmp.............

TOC {
dwSignature: 0x434F544E
BootCfg {
  ConfigFlags: 0x3820
  BootDelay: 0xF
  ImageIndex: 1
  IP: 0.0.0.0
  MAC Address: 00:00:00:00:00:00
  Port: 0.0.0.0
  SubnetMask: 255.255.255.255
}
ID[0] {
  dwVersion: 0x10002
  dwSignature: 0x45424F54
  String: 'eboot.nb0'
  dwImageType: 0x2
  dwTtlSectors: 0x100
  dwLoadAddress: 0x8C038000
  dwJumpAddress: 0x8C038000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x100
  sgList[0].dwLength: 0x100
}
ID[1] {
  dwVersion: 0x1
  dwSignature: 0x43465349
  String: ''
  dwImageType: 0x6
  dwTtlSectors: 0x7947
  dwLoadAddress: 0x8C200000
  dwJumpAddress: 0x8C208810
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x520
  sgList[0].dwLength: 0x7947
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
-TOC_Write
TOC {
dwSignature: 0x434F544E
BootCfg {
  ConfigFlags: 0x3820
  BootDelay: 0xF
  ImageIndex: 1
  IP: 0.0.0.0
  MAC Address: 00:00:00:00:00:00
  Port: 0.0.0.0
  SubnetMask: 255.255.255.255
}
ID[0] {
  dwVersion: 0x10002
  dwSignature: 0x45424F54
  String: 'eboot.nb0'
  dwImageType: 0x2
  dwTtlSectors: 0x100
  dwLoadAddress: 0x8C038000
  dwJumpAddress: 0x8C038000
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x100
  sgList[0].dwLength: 0x100
}
ID[1] {
  dwVersion: 0x1
  dwSignature: 0x43465349
  String: ''
  dwImageType: 0x6
  dwTtlSectors: 0x7947
  dwLoadAddress: 0x8C200000
  dwJumpAddress: 0x8C208810
  dwStoreOffset: 0x0
  sgList[0].dwSector: 0x520
  sgList[0].dwLength: 0x7947
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}

Jumping to image at virtual address 0x8C208810h
+ToPhysicalAddr:0x8C208810
-ToPhysicalAddr:0x30208810

::: Physical Launch Address: 0x30208810h

此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 
config.bib 文件如下

MEMORY

        NK                8C200000  02400000  RAMIMAGE
        RAM     8E600000  01900000  RAM

        AUD_DMA                     8c002000  00002000  RESERVED
        DRV_GLB                        8c010000  00010000  RESERVED
        SD_DMA                        8c028000  00008000  RESERVED
        DISPLAY                        8c1d0000  00030000  RESERVED


CONFIG
    COMPRESSION=ON
    KERNELFIXUPS=ON

IF IMGPROFILER   
    PROFILE=ON
ELSE
    PROFILE=OFF
ENDIF

;
; ROMFLAGS is a bitmask of options for the kernel
;   ROMFLAGS    0x0001      Disallow Paging
;   ROMFLAGS    0x0002      Not all KMode
;   ROMFLAGS    0x0010      Trust Module only
;
IF IMGTRUSTROMONLY
    IF IMGNOTALLKMODE
       ROMFLAGS=12
    ELSE
       ROMFLAGS=10
    ENDIF
ELSE
    IF IMGNOTALLKMODE
       ROMFLAGS=02
    ELSE
       ROMFLAGS=00
    ENDIF
ENDIF

        ROMSTART=8C200000   
        ROMWIDTH=32
        ROMSIZE=02400000
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
你这个配置地址应该是错误的吧,那么一般的启动地址可能会是 0x8C201000 :::  那怎么是 8810 了呢??

Physical Launch Address: 0x30208810h

这个好像错了,  dwJumpAddress: 0x8C208810

直接在配置TOC中将其改了,更新TOC
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
看了这帖子,难怪都愿选keil作开发工具。
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

10
 
哪位熟悉这方面的高人指点一下,我的eboot是同一个,LaunchAddr的值怎么会不同?
这个值和nk.bin大小有关?还是一个固定值?

LaunchAddr  : 0x8c208810

LaunchAddr  : 0x8c201000
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 lygao10 的回复:
看了这帖子,难怪都愿选keil作开发工具。


wince ,没有的选择的。用MDK开发裸机程序还可以。
此帖出自WindowsCE论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 9 楼 LinHanLao 的回复:
哪位熟悉这方面的高人指点一下,我的eboot是同一个,LaunchAddr的值怎么会不同?
这个值和nk.bin大小有关?还是一个固定值?

LaunchAddr  : 0x8c208810

LaunchAddr  : 0x8c201000


看你的虚拟内存映射表,这两个不同,主要是由此决定的。
此帖出自WindowsCE论坛
 
 
 

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

开源项目 更多>>
    查找数据手册?

    EEWorld Datasheet 技术支持

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

     
    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
    快速回复 返回顶部 返回列表