none
wince release版可以运行(KITL跟踪), wince debug版不可以运行(KITL跟踪),我想要debug的断点跟踪调试状态 RRS feed

  • 问题

  •  

    我刚刚进入WINCE底层开发不久,遇到个问题一直理不出头绪,烦请各位专家帮我解答下,谢谢!

    我的硬件平台是ARM920T(Centrality),DRAM 64M, nandflash是64M,用的开发工具是PB5.0.

    编译出来的wince release版(KITL跟踪)可以运行, wince debug版(KITL跟踪)不可以运行.
    chain.lst (TINYNK.bin, DRIVERS.bin, NK.bin, chain.bin)

    我怀疑是TINYNK.bin太大了。用release tinynk.bin  替换  debug tinynk.bin, wince可以运行起来,但是的release的断点跟踪调试状态.


    config.bib 设置如下:

    MEMORY

     ;===================================================
     ; Name  Address   Size   Type
     ;---------------------------------------------------

    ;hb IF IMGMULTIXIP!
    ;hb IF DRAM_128M=1
    ;hb     NK          92000000        02000000        RAMIMAGE
    ;hb     RAM         8CE50000        051B0000        RAM
    ;hb ELSE
    ;hb     NK          8E000000        02000000        RAMIMAGE
    ;hb     RAM         8CE50000        011B0000        RAM
    ;hb ENDIF
    ;hb ENDIF IMGMULTIXIP!


    IF IMGMULTIXIP
        IF WINCEDEBUG=retail
            IF DRAM_128M=1
            ;        #define         FREE_RAMSIZE    06DB0000
            ELSE
                    #define         FREE_RAMSIZE    02DB0000
            ENDIF

        ELSE
            IF DRAM_128M=1
            ;        #define         FREE_RAMSIZE    06BB0000
            ELSE
                    #define         FREE_RAMSIZE    02BB0000
            ENDIF
        ENDIF

        IF WINCEDEBUG=retail
    ;     TINYNK  8CE50000  00400000  RAMIMAGE
    ;        RAM         8D250000        $(FREE_RAMSIZE) RAM
    ;        DRIVERS     82000000        00200000        NANDIMAGE
    ;        NK       82200000        01200000        NANDIMAGE

            TINYNK  8CE50000  00400000  RAMIMAGE
            RAM         8D250000        $(FREE_RAMSIZE) RAM
            DRIVERS     82000000        00200000        NANDIMAGE
            NK       82200000        01100000        NANDIMAGE
        ELSE
            TINYNK  8CE50000  00600000  RAMIMAGE
            RAM         8D450000        $(FREE_RAMSIZE) RAM
            DRIVERS     82000000        00400000        NANDIMAGE
            NK       82400000        01D00000        NANDIMAGE
        ENDIF

         #define     CHAIN_ADDR      8C64C000
         CHAIN       $(CHAIN_ADDR)   00004000        RESERVED
         pdwXIPLoc   00000000        $(CHAIN_ADDR)   FIXUPVAR
    ENDIF IMGMULTIXIP


    ; Common RAM areas reserved
    ;hb    GPS_DATA    8C650000        00800000        RESERVED
    ;   CHAIN       8C64C000        00004000        RESERVED
        EDBG        8C620000        0002C000        RESERVED
        DISPLAY     8C020000        00600000        RESERVED
        PC_DATA     8C010000        00010000        RESERVED
        SM_DATA     8C00D000        00003000        RESERVED
        SD_DATA     8C00C000        00001000        RESERVED
        AUD_DMA     8C006000        00006000        RESERVED
        SLP_SAV     8C004000        00002000        RESERVED
        DRV_GLB     8C002000        00002000        RESERVED

    IF IMGBLOCKROM  ; The Page pool
        #define     PAGINGPOOLSIZE  00400000
    ENDIF IMGBLOCKROM

     


    CONFIG

        COMPRESSION=ON
        KERNELFIXUPS=ON
        FSRAMPERCENT=40404040

    IF IMGMULTIXIP
        ; Multi-Region
        ;
        AUTOSIZE=ON     ; AUTOSIZE is used to enable the following flags.
        RAM_AUTOSIZE=OFF
        ROM_AUTOSIZE=OFF

       
        DLLADDR_AUTOSIZE=ON

        XIPSCHAIN=$(CHAIN_ADDR)

        AUTOSIZE_ROMGAP=10000
        AUTOSIZE_DLLADDRGAP=0
        AUTOSIZE_DLLDATAADDRGAP=0
        AUTOSIZE_DLLCODEADDRGAP=0
    ENDIF IMGMULTIXIP

    IF IMGPROFILER
        PROFILE=ON
    ENDIF

    IF IMGPROFILER !
        PROFILE=OFF
    ENDIF

    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
            ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
            ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
            ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
            ROMFLAGS=0
        ENDIF
    ENDIF

     

     

     


    出错信息:

    Ethernet Boot Loader Configuration:
    ---------------------------------------
    1) IP address : 192.168.1.3
       Subnet mask: 255.255.255.0
    2) Boot delay: 15 seconds
    3) DHCP: DISABLED
    4) Max Bad blocks reserved: 10
    5) Startup image: DOWNLOAD NEW
    6) Program RAM image into Boot Media: ENABLED
    7) MAC address: 00:09:45:00:04:43
    8) Bluetooth address: 00:00:00:00:00:00
    9) Format Boot Media for BinFS
    0) Format Boot Media for Monolithic NK Image

    A) UPDATE image from SD/MMC card
    D) DOWNLOAD image now
    F) Low-level FORMAT Boot Media
    N) New NANDFLASH Driver: DISABLED
    L) LAUNCH existing Boot Media image
    S) Save Configuration and Exit
    U) Using AtlasMgr to download NK image
    I) DOWNLOAD image via USB RNDIS Ethernet
    R) LAUNCH existing Boot Media image via USB RNDIS KITL
    C) Read-Only User FAT partition (type 0x12) block num: 0
    P) Read-Only User FAT partition (type 0x12): Not exist
    V) Image check sum
    T) Debug NandFlash
    ---------------------------------------

    Enter your selection: d
    Using device name: 'AT4X0BD_1091'
    +EbootSendBootmeAndWaitForTftp
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Locked Down Link 1
    Src IP 192.168.1.3 Port 0400   Dest IP 192.168.1.1 Port 0CA5
    EthDown::TFTPD_OPEN::boot.bin
    -EbootSendBootmeAndWaitForTftp
    -OEMPreDownload: BL_DOWNLOAD
    Locked Down Link 1
    Src IP 192.168.1.3 Port 0800   Dest IP 192.168.1.1 Port 0CA6
    EthDown::TFTPD_OPEN::boot.bin
    Locked Down Link 1
    Src IP 192.168.1.3 Port 1100   Dest IP 192.168.1.1 Port 0CA7
    EthDown::TFTPD_OPEN::boot.bin
    Locked Down Link 1
    Src IP 192.168.1.3 Port 2200   Dest IP 192.168.1.1 Port 0CA8
    EthDown::TFTPD_OPEN::boot.bin
    Locked Down Link 1
    Src IP 192.168.1.3 Port 4400   Dest IP 192.168.1.1 Port 0CA9
    EthDown::TFTPD_OPEN::boot.bin
    ROMHDR at Address 8CE50044h

      OEMLaunch --- OEMLaunch ---
    ::HB OEMLaunch, ImageStart:0x8CE50000, ImageLength:0x4529F4, LaunchAddr:0x8CE51000


    EbootWaitForHostConenct


    Got EDBG_CMD_JUMPIMG
    Got EDBG_CMD_CONFIG, flags:0x00000000
    KitlTransport: 0x1
    OEMLaunch: Write image to nandflash
    HB OEMLaunch: (IMAGE_TYPE_MXIP|IMAGE_TYPE_BINFS)
    +WriteRegionsToBootMedia: ImageStart: 0x8CE50000, ImageLength: 0x4529F4,
    LaunchAddr:0x8CE51000

     

    INFO: OEMLaunch: Found chain extenstion: '' @ 0x8CE50000
    INFO: OEMLaunch: Found chain extenstion: 'chain information' @ 0x8CE50000
    INFO: OEMLaunch: Found 'chain information' (pChainInfo=0x8E3C1ED8  Extensions=0x4).
    Found the Chain region: StartAddress: 0x8C64C000; Length: 0x000007B8

    Writing multi-regions

    BINFSPartMaxLength[0]: 0x4000, TtlBINFSPartLength: 0x4000
    dwMaxRegionLength[3]: 0x4000
    BINFSPartMaxLength[1]: 0x600000, TtlBINFSPartLength: 0x604000
    dwMaxRegionLength[0]: 0x600000
    BINFSPartMaxLength[2]: 0x400000, TtlBINFSPartLength: 0xA04000
    dwMaxRegionLength[1]: 0x400000
    BINFSPartMaxLength[3]: 0x1D00000, TtlBINFSPartLength: 0x2704000
    dwMaxRegionLength[2]: 0x1D00000


    Open/create BINFS partition 79936 sectors...

     

    IsValidMBR: MBR sector = 0x600OpenPartition: Partition Exists=0x1 for part
    0x21.dwRegionStart: 0x8E000000, dwRegionLength: 0x4529F4, dwStoreOffset: 0x0

    BP_SetDataPointer at 0x0WriteData: Start = 0x0, Length = 0x4529F4.Log2Phys: Logical 0x1 ->
    Physical 0x601Updateded TOC!

    dwRegionStart: 0x8E4529F4, dwRegionLength: 0x18F28C, dwStoreOffset: 0x600000

    BP_SetDataPointer at 0x600000WriteData: Start = 0x600000, Length = 0x18F28C.Log2Phys:
    Logical 0x3001 -> Physical 0x3601dwRegionStart: 0x8E5E1C80, dwRegionLength: 0x124E9D0,
    dwStoreOffset: 0xA00000

    BP_SetDataPointer at 0xA00000WriteData: Start = 0xA00000, Length = 0x124E9D0.WriteData:
    trying to write past end of partition.ERROR: StoreImageToBootMedia: Failed to write region
    to BINFS partition (start=0x8E5E1C80, length=0x124E9D0).

    WARNING: OEMLaunch: Failed to store BinFS regions to boot media.

     

    2008年2月13日 0:47

答案

全部回复

  • wince release版代码跟踪不方便

    wince debug 版代码跟踪方便.


    chain.lst (TINYNK.bin, DRIVERS.bin, NK.bin, chain.bin)

     

    TINYNK.bin-->它的做用是什么?
    2008年2月13日 6:57
  • 各位老师:新年好!

        我买过老师们的书,听过老师们的课件,希望老师们指导我一下,谢谢.   

        我遇到个问题(操作系统代码断点跟踪调试),一直理不出头绪,烦请各位专家帮我解答下,谢谢!

        运行环境:evb 板(64M SDRAM  64M flash),PB5.0.

        编译出来的wince release版(KITL跟踪)可以下载并运行。(CEPB-->Target-->Attach Device)

        wince debug版(KITL跟踪)可以下载不可以运行,出现以下问题(WARNING: OEMLaunch: Failed to store BinFS         regions to boot media).

        我想要debug版的断点跟踪调试状态, 因为这样系统代码可单步运行。  wince release版代码单步运行不方便.

     


        问题1:
        chain.lst --> (TINYNK.bin, DRIVERS.bin, NK.bin, chain.bin)
        TINYNK.bin-->它的做用是什么?

     
        问题2:
        我怀疑是debug 版TINYNK.bin太大了,release 版TINYNK.bin较小的原因。我做了如下实验:
      
        (1)改大 configce.bib -->  TINYNK.bin  的Size,但同样出现能下载,ce启不来的情况。  

        (2)用release tinynk.bin  替换  debug tinynk.bin, Makeimage CE Debug版的映象文件后, wince可以运行起    来,但是是 release 的断点跟踪调试状态.

        我应如何设置,请指导.

       

    configce.bib 设置如下:

    MEMORY

     ;===================================================
     ; Name  Address   Size   Type
     ;---------------------------------------------------

    ;hb IF IMGMULTIXIP!
    ;hb IF DRAM_128M=1
    ;hb     NK          92000000        02000000        RAMIMAGE
    ;hb     RAM         8CE50000        051B0000        RAM
    ;hb ELSE
    ;hb     NK          8E000000        02000000        RAMIMAGE
    ;hb     RAM         8CE50000        011B0000        RAM
    ;hb ENDIF
    ;hb ENDIF IMGMULTIXIP!


    IF IMGMULTIXIP
        IF WINCEDEBUG=retail
            IF DRAM_128M=1
            ;        #define         FREE_RAMSIZE    06DB0000
            ELSE
                    #define         FREE_RAMSIZE    02DB0000
            ENDIF

        ELSE
            IF DRAM_128M=1
            ;        #define         FREE_RAMSIZE    06BB0000
            ELSE
                    #define         FREE_RAMSIZE    02BB0000
            ENDIF
        ENDIF

        IF WINCEDEBUG=retail
    ;     TINYNK  8CE50000  00400000  RAMIMAGE
    ;        RAM         8D250000        $(FREE_RAMSIZE) RAM
    ;        DRIVERS     82000000        00200000        NANDIMAGE
    ;        NK       82200000        01200000        NANDIMAGE

            TINYNK  8CE50000  00400000  RAMIMAGE
            RAM         8D250000        $(FREE_RAMSIZE) RAM
            DRIVERS     82000000        00200000        NANDIMAGE
            NK       82200000        01100000        NANDIMAGE
        ELSE
            TINYNK  8CE50000  00600000  RAMIMAGE
            RAM         8D450000        $(FREE_RAMSIZE) RAM
            DRIVERS     82000000        00400000        NANDIMAGE
            NK       82400000        01D00000        NANDIMAGE
        ENDIF

         #define     CHAIN_ADDR      8C64C000
         CHAIN       $(CHAIN_ADDR)   00004000        RESERVED
         pdwXIPLoc   00000000        $(CHAIN_ADDR)   FIXUPVAR
    ENDIF IMGMULTIXIP


    ; Common RAM areas reserved
    ;hb    GPS_DATA    8C650000        00800000        RESERVED
    ;   CHAIN       8C64C000        00004000        RESERVED
        EDBG        8C620000        0002C000        RESERVED
        DISPLAY     8C020000        00600000        RESERVED
        PC_DATA     8C010000        00010000        RESERVED
        SM_DATA     8C00D000        00003000        RESERVED
        SD_DATA     8C00C000        00001000        RESERVED
        AUD_DMA     8C006000        00006000        RESERVED
        SLP_SAV     8C004000        00002000        RESERVED
        DRV_GLB     8C002000        00002000        RESERVED

    IF IMGBLOCKROM  ; The Page pool
        #define     PAGINGPOOLSIZE  00400000
    ENDIF IMGBLOCKROM

     


    CONFIG

        COMPRESSION=ON
        KERNELFIXUPS=ON
        FSRAMPERCENT=40404040

    IF IMGMULTIXIP
        ; Multi-Region
        ;
        AUTOSIZE=ON     ; AUTOSIZE is used to enable the following flags.
        RAM_AUTOSIZE=OFF
        ROM_AUTOSIZE=OFF

       
        DLLADDR_AUTOSIZE=ON

        XIPSCHAIN=$(CHAIN_ADDR)

        AUTOSIZE_ROMGAP=10000
        AUTOSIZE_DLLADDRGAP=0
        AUTOSIZE_DLLDATAADDRGAP=0
        AUTOSIZE_DLLCODEADDRGAP=0
    ENDIF IMGMULTIXIP

    IF IMGPROFILER
        PROFILE=ON
    ENDIF

    IF IMGPROFILER !
        PROFILE=OFF
    ENDIF

    IF IMGTRUSTROMONLY
        IF IMGNOTALLKMODE
            ROMFLAGS=12
        ENDIF
        IF IMGNOTALLKMODE !
            ROMFLAGS=10
        ENDIF
    ENDIF

    IF IMGTRUSTROMONLY !
        IF IMGNOTALLKMODE
            ROMFLAGS=2
        ENDIF
        IF IMGNOTALLKMODE !
            ROMFLAGS=0
        ENDIF
    ENDIF

     

     

     


    出错信息:

    Ethernet Boot Loader Configuration:
    ---------------------------------------
    1) IP address : 192.168.1.3
       Subnet mask: 255.255.255.0
    2) Boot delay: 15 seconds
    3) DHCP: DISABLED
    4) Max Bad blocks reserved: 10
    5) Startup image: DOWNLOAD NEW
    6) Program RAM image into Boot Media: ENABLED
    7) MAC address: 00:09:45:00:04:43
    8) Bluetooth address: 00:00:00:00:00:00
    9) Format Boot Media for BinFS
    0) Format Boot Media for Monolithic NK Image

    A) UPDATE image from SD/MMC card
    D) DOWNLOAD image now
    F) Low-level FORMAT Boot Media
    N) New NANDFLASH Driver: DISABLED
    L) LAUNCH existing Boot Media image
    S) Save Configuration and Exit
    U) Using AtlasMgr to download NK image
    I) DOWNLOAD image via USB RNDIS Ethernet
    R) LAUNCH existing Boot Media image via USB RNDIS KITL
    C) Read-Only User FAT partition (type 0x12) block num: 0
    P) Read-Only User FAT partition (type 0x12): Not exist
    V) Image check sum
    T) Debug NandFlash
    ---------------------------------------

    Enter your selection: d
    Using device name: 'AT4X0BD_1091'
    +EbootSendBootmeAndWaitForTftp
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Sent BOOTME to 255.255.255.255
    Locked Down Link 1
    Src IP 192.168.1.3 Port 0400   Dest IP 192.168.1.1 Port 0CA5
    EthDown::TFTPD_OPEN::boot.bin
    -EbootSendBootmeAndWaitForTftp
    -OEMPreDownload: BL_DOWNLOAD
    Locked Down Link 1
    Src IP 192.168.1.3 Port 0800   Dest IP 192.168.1.1 Port 0CA6
    EthDown::TFTPD_OPEN::boot.bin
    Locked Down Link 1
    Src IP 192.168.1.3 Port 1100   Dest IP 192.168.1.1 Port 0CA7
    EthDown::TFTPD_OPEN::boot.bin
    Locked Down Link 1
    Src IP 192.168.1.3 Port 2200   Dest IP 192.168.1.1 Port 0CA8
    EthDown::TFTPD_OPEN::boot.bin
    Locked Down Link 1
    Src IP 192.168.1.3 Port 4400   Dest IP 192.168.1.1 Port 0CA9
    EthDown::TFTPD_OPEN::boot.bin
    ROMHDR at Address 8CE50044h

      OEMLaunch --- OEMLaunch ---
    ::HB OEMLaunch, ImageStart:0x8CE50000, ImageLength:0x4529F4, LaunchAddr:0x8CE51000


    EbootWaitForHostConenct


    Got EDBG_CMD_JUMPIMG
    Got EDBG_CMD_CONFIG, flags:0x00000000
    KitlTransport: 0x1
    OEMLaunch: Write image to nandflash
    HB OEMLaunch: (IMAGE_TYPE_MXIP|IMAGE_TYPE_BINFS)
    +WriteRegionsToBootMedia: ImageStart: 0x8CE50000, ImageLength: 0x4529F4,
    LaunchAddr:0x8CE51000

     

    INFO: OEMLaunch: Found chain extenstion: '' @ 0x8CE50000
    INFO: OEMLaunch: Found chain extenstion: 'chain information' @ 0x8CE50000
    INFO: OEMLaunch: Found 'chain information' (pChainInfo=0x8E3C1ED8  Extensions=0x4).
    Found the Chain region: StartAddress: 0x8C64C000; Length: 0x000007B8

    Writing multi-regions

    BINFSPartMaxLength[0]: 0x4000, TtlBINFSPartLength: 0x4000
    dwMaxRegionLength[3]: 0x4000
    BINFSPartMaxLength[1]: 0x600000, TtlBINFSPartLength: 0x604000
    dwMaxRegionLength[0]: 0x600000
    BINFSPartMaxLength[2]: 0x400000, TtlBINFSPartLength: 0xA04000
    dwMaxRegionLength[1]: 0x400000
    BINFSPartMaxLength[3]: 0x1D00000, TtlBINFSPartLength: 0x2704000
    dwMaxRegionLength[2]: 0x1D00000


    Open/create BINFS partition 79936 sectors...

     

    IsValidMBR: MBR sector = 0x600OpenPartition: Partition Exists=0x1 for part
    0x21.dwRegionStart: 0x8E000000, dwRegionLength: 0x4529F4, dwStoreOffset: 0x0

    BP_SetDataPointer at 0x0WriteData: Start = 0x0, Length = 0x4529F4.Log2Phys: Logical 0x1 ->
    Physical 0x601Updateded TOC!

    dwRegionStart: 0x8E4529F4, dwRegionLength: 0x18F28C, dwStoreOffset: 0x600000

    BP_SetDataPointer at 0x600000WriteData: Start = 0x600000, Length = 0x18F28C.Log2Phys:
    Logical 0x3001 -> Physical 0x3601dwRegionStart: 0x8E5E1C80, dwRegionLength: 0x124E9D0,
    dwStoreOffset: 0xA00000

    BP_SetDataPointer at 0xA00000WriteData: Start = 0xA00000, Length = 0x124E9D0.WriteData:
    trying to write past end of partition.ERROR: StoreImageToBootMedia: Failed to write region
    to BINFS partition (start=0x8E5E1C80, length=0x124E9D0).

    WARNING: OEMLaunch: Failed to store BinFS regions to boot media.

     

     
     
        
     
     

     

    2008年2月13日 8:49
  •  

    问题找到了,谢谢大家.

     

    ---> Format Boot Media for BinFS

    2008年2月14日 8:17