From: blueYork on
dear all,
I know this might be an old question for u guys,
but I really met some troubles within it.

My platform is:
CPU : Xscale pxa255
OS : Windows CE .Net 4.2
Flash : 32MB
SDRAM : 128MB (32MBX4)


Now I want to set the configuration of 128M SDRAM.
following some suggestions,I modified the some files below,
but it does not work..
now,I list my main modification:
//////////////////////////////////////
config.bib
//////////////////////////////////////
MEMORY
IF IMGFLASH !
NK 800B8000 02000000 RAMIMAGE
RAM 820B8000 05C00000 RAM
EDBG 87F8D000 00020000 RESERVED
ENDIF
AUD_DMA 87CB8000 0000A000 RESERVED
SLEEP_SAV 87CC2000 00001000 RESERVED
DRV_GLB 87CC3000 00001000 RESERVED
CACHE_FLG 87CC4000 0003C000 RESERVED
DISPLAY 87D00000 00130000 RESERVED
BLOCK_BUF 87E30000 00080000 RESERVED
UNUSED_BUF 87EB0000 000DD000 RESERVED


whql_sig 00000001 00002000 EXTENSION
ZBANK 88000000 00100000 RESERVED


CONFIG
IF IMGFLASH !
AUTOSIZE=ON
ENDIF


IF IMGFLASH !
ROMSTART=800B8000
ROMWIDTH=32
ENDIF
ROMSIZE=01D00000


/////////////////////////////////
memmap.inc
////////////////////////////////
DCD SDRAM_BASE_C_VIRTUAL,SDRAM_BASE_PHYSICAL,128
DCD ZBANK_BASE_C_VIRTUAL, ZBANK_BASE_PHYSICAL, 1 DCD
MEMC_BASE_C_VIRTUAL, MEMC_BASE_PHYSICAL, 1 DCD
PERIF_BASE_C_VIRTUAL, PERIF_BASE_PHYSICAL,32 DCD
PCMCIA_S0_IO_C_VIRTUAL, PCMCIA_S0_IO_PHYSICAL, 32 DCD
PCMCIA_S0_ATTR_C_VIRTUAL, PCMCIA_S0_ATTR_PHYSICAL, 32
DCD PCMCIA_S0_CMN_C_VIRTUAL, PCMCIA_S0_CMN_PHYSICAL,
64
DCD PCMCIA_S1_IO_C_VIRTUAL, PCMCIA_S1_IO_PHYSICAL,32
DCD PCMCIA_S1_ATTR_C_VIRTUAL, PCMCIA_S1_ATTR_PHYSICAL,
32
DCD PCMCIA_S1_CMN_C_VIRTUAL, PCMCIA_S1_CMN_PHYSICAL,
64
DCD LCD_BASE_C_VIRTUAL,
LCD_BASE_PHYSICAL, 1
DCD BOOT_FLASH_BASE_C_VIRTUAL, BOOT_FLASH_BASE_PHYSICAL,
32
DCD CS8900A_BASE_C_VIRTUAL, CS8900A_BASE_PHYSICAL,
1
DCD XHYPER255B_PERI_C_VIRTUAL, XHYPER255B_PERI_PHYSICAL, 5
DCD CY7C67300_BASE_C_VIRTUAL,
CY7C67300_BASE_PHYSICAL, 1
DCD nCS4_BASE_C_VIRTUAL,
nCS4_BASE_PHYSICAL, 8
DCD nCS5_BASE_C_VIRTUAL,
nCS5_BASE_PHYSICAL, 8
DCD 0x00000000, 0x00000000, 0


then,I changed xsc1.h,xsc1.inc,xsc1bd.h,xsc1bd.inc to
be in sync with config.bib and OEMAddressTable,
and I checked a lot ,there's no problem with them.
///////////////////////////////////////////////////////////////////////
and in memdefs.h, I was a little confused about the codes below:
and I modified the two values which I marked to sync.
///////////////////////////////////////////////
#ifndef SABINAL
//
// Cotulla-32 Defs
//


#define MEM_BASE_PHYSICAL 0xA3CB8000
#define MEM_BASE_C_VIRTUAL 0x87CB8000 //modifed
#define EDBG_PHYSICAL_MEMORY_START 0x87F8D000 //modifed
#else
//
// Sabinal Defs
//this seems not used,so I do not modify the value
#define MEM_BASE_PHYSICAL 0xA1CB8000
#define MEM_BASE_C_VIRTUAL 0x81CB8000
#define EDBG_PHYSICAL_MEMORY_START 0x81F8D000
#endif


///////////////////////////////////////////
I also changed the value in xsc1bd.inc
MDCNFG_VAL EQU 0x19C319C3
; Setup default MDCNFG value for 128MB SDRAM
///////////////////////////////////////////
in the end,according to K.S.huang's advice,i modified file fwxsc1.s
; enable sdram bank 0 if installed (must do for any populated bank)
orr r3, r3, #MDCNFG_DE0
;4.28 add
orr r3, r3, #MDCNFG_DE1
;add above


and also changed some uart address in platform.reg
such as:
;-------------------------------------------------------------
; Serial1 : FFUART
;-------------------------------------------------------------
; @CESYSGEN IF CE_MODULES_SERIAL
IF BSP_NOSERIAL !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial]
"Dll"="xsc1bd_serial.Dll"
; "IoBase"=dword:a6300000 ;FFUART_BASE_U_VIRTUAL
"IoBase"=dword:a8300000 ;FFUART_BASE_U_VIRTUAL
.................
///////////////////////////////////////////////
when all of them had done,I download the NK.bin,
and the debug information shows:


rom_offset=0x0.
Found pTOC signature.
ROMHDR at Address 800B8044h
RomHdr.ulRAMStart=81C50000h RomHdr.physfirst=800B8000h.
Done.
Writing 0x80076BD8 to flash address 0xB8340000 (length=0xA40).
Sector=0x200 (Length=0x6) Block=0x1 (Length=0x1).
Handling non-block aligned data...
FlashErase: Unlocking flash block(s) [0x1, 0x1] (please wait): Done.
Erasing flash block(s) [0x1, 0x1] (please wait): .Done.
Writing to flash (please wait): Done.
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
Download successful! Jumping to image at physical 0xA00B9000...
Begin
******************************************************
******************************************************
******************************************************
******************************************************
******************************************************
OEMInitDebugSerial using UART2
Windows CE Kernel for ARM Built on Mar 13 2003 at 22:54:19
ProcessorType=02d0 Revision=6
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable =
800b9ef4


as u see,my system hung at last,
if normal,sp=ffffc7cc should be printed behind
OEMAddressTable = 800b9ef4
but now,system hung there....
and Platform builder printed the word"Kernel debugger is waiting to
connect with target."


Anybody has experience ?
could u give me some advice?
I so appreciate it, thank u a lot.


From: Maxim S. Shatskih on
Ask on microsoft.public.windowsce.platbuilder

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim(a)storagecraft.com
http://www.storagecraft.com

"blueYork" <yaoronger(a)tom.com> wrote in message
news:4894b8b6-07cf-4e81-a68d-b7937d8555a2(a)l17g2000pri.googlegroups.com...
> dear all,
> I know this might be an old question for u guys,
> but I really met some troubles within it.
>
> My platform is:
> CPU : Xscale pxa255
> OS : Windows CE .Net 4.2
> Flash : 32MB
> SDRAM : 128MB (32MBX4)
>
>
> Now I want to set the configuration of 128M SDRAM.
> following some suggestions,I modified the some files below,
> but it does not work..
> now,I list my main modification:
> //////////////////////////////////////
> config.bib
> //////////////////////////////////////
> MEMORY
> IF IMGFLASH !
> NK 800B8000 02000000 RAMIMAGE
> RAM 820B8000 05C00000 RAM
> EDBG 87F8D000 00020000 RESERVED
> ENDIF
> AUD_DMA 87CB8000 0000A000 RESERVED
> SLEEP_SAV 87CC2000 00001000 RESERVED
> DRV_GLB 87CC3000 00001000 RESERVED
> CACHE_FLG 87CC4000 0003C000 RESERVED
> DISPLAY 87D00000 00130000 RESERVED
> BLOCK_BUF 87E30000 00080000 RESERVED
> UNUSED_BUF 87EB0000 000DD000 RESERVED
>
>
> whql_sig 00000001 00002000 EXTENSION
> ZBANK 88000000 00100000 RESERVED
>
>
> CONFIG
> IF IMGFLASH !
> AUTOSIZE=ON
> ENDIF
>
>
> IF IMGFLASH !
> ROMSTART=800B8000
> ROMWIDTH=32
> ENDIF
> ROMSIZE=01D00000
>
>
> /////////////////////////////////
> memmap.inc
> ////////////////////////////////
> DCD SDRAM_BASE_C_VIRTUAL,SDRAM_BASE_PHYSICAL,128
> DCD ZBANK_BASE_C_VIRTUAL, ZBANK_BASE_PHYSICAL, 1 DCD
> MEMC_BASE_C_VIRTUAL, MEMC_BASE_PHYSICAL, 1 DCD
> PERIF_BASE_C_VIRTUAL, PERIF_BASE_PHYSICAL,32 DCD
> PCMCIA_S0_IO_C_VIRTUAL, PCMCIA_S0_IO_PHYSICAL, 32 DCD
> PCMCIA_S0_ATTR_C_VIRTUAL, PCMCIA_S0_ATTR_PHYSICAL, 32
> DCD PCMCIA_S0_CMN_C_VIRTUAL, PCMCIA_S0_CMN_PHYSICAL,
> 64
> DCD PCMCIA_S1_IO_C_VIRTUAL, PCMCIA_S1_IO_PHYSICAL,32
> DCD PCMCIA_S1_ATTR_C_VIRTUAL, PCMCIA_S1_ATTR_PHYSICAL,
> 32
> DCD PCMCIA_S1_CMN_C_VIRTUAL, PCMCIA_S1_CMN_PHYSICAL,
> 64
> DCD LCD_BASE_C_VIRTUAL,
> LCD_BASE_PHYSICAL, 1
> DCD BOOT_FLASH_BASE_C_VIRTUAL, BOOT_FLASH_BASE_PHYSICAL,
> 32
> DCD CS8900A_BASE_C_VIRTUAL, CS8900A_BASE_PHYSICAL,
> 1
> DCD XHYPER255B_PERI_C_VIRTUAL, XHYPER255B_PERI_PHYSICAL, 5
> DCD CY7C67300_BASE_C_VIRTUAL,
> CY7C67300_BASE_PHYSICAL, 1
> DCD nCS4_BASE_C_VIRTUAL,
> nCS4_BASE_PHYSICAL, 8
> DCD nCS5_BASE_C_VIRTUAL,
> nCS5_BASE_PHYSICAL, 8
> DCD 0x00000000, 0x00000000, 0
>
>
> then,I changed xsc1.h,xsc1.inc,xsc1bd.h,xsc1bd.inc to
> be in sync with config.bib and OEMAddressTable,
> and I checked a lot ,there's no problem with them.
> ///////////////////////////////////////////////////////////////////////
> and in memdefs.h, I was a little confused about the codes below:
> and I modified the two values which I marked to sync.
> ///////////////////////////////////////////////
> #ifndef SABINAL
> //
> // Cotulla-32 Defs
> //
>
>
> #define MEM_BASE_PHYSICAL 0xA3CB8000
> #define MEM_BASE_C_VIRTUAL 0x87CB8000 //modifed
> #define EDBG_PHYSICAL_MEMORY_START 0x87F8D000 //modifed
> #else
> //
> // Sabinal Defs
> //this seems not used,so I do not modify the value
> #define MEM_BASE_PHYSICAL 0xA1CB8000
> #define MEM_BASE_C_VIRTUAL 0x81CB8000
> #define EDBG_PHYSICAL_MEMORY_START 0x81F8D000
> #endif
>
>
> ///////////////////////////////////////////
> I also changed the value in xsc1bd.inc
> MDCNFG_VAL EQU 0x19C319C3
> ; Setup default MDCNFG value for 128MB SDRAM
> ///////////////////////////////////////////
> in the end,according to K.S.huang's advice,i modified file fwxsc1.s
> ; enable sdram bank 0 if installed (must do for any populated bank)
> orr r3, r3, #MDCNFG_DE0
> ;4.28 add
> orr r3, r3, #MDCNFG_DE1
> ;add above
>
>
> and also changed some uart address in platform.reg
> such as:
> ;-------------------------------------------------------------
> ; Serial1 : FFUART
> ;-------------------------------------------------------------
> ; @CESYSGEN IF CE_MODULES_SERIAL
> IF BSP_NOSERIAL !
> [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial]
> "Dll"="xsc1bd_serial.Dll"
> ; "IoBase"=dword:a6300000 ;FFUART_BASE_U_VIRTUAL
> "IoBase"=dword:a8300000 ;FFUART_BASE_U_VIRTUAL
> ................
> ///////////////////////////////////////////////
> when all of them had done,I download the NK.bin,
> and the debug information shows:
>
>
> rom_offset=0x0.
> Found pTOC signature.
> ROMHDR at Address 800B8044h
> RomHdr.ulRAMStart=81C50000h RomHdr.physfirst=800B8000h.
> Done.
> Writing 0x80076BD8 to flash address 0xB8340000 (length=0xA40).
> Sector=0x200 (Length=0x6) Block=0x1 (Length=0x1).
> Handling non-block aligned data...
> FlashErase: Unlocking flash block(s) [0x1, 0x1] (please wait): Done.
> Erasing flash block(s) [0x1, 0x1] (please wait): .Done.
> Writing to flash (please wait): Done.
> Got EDBG_CMD_JUMPIMG
> Got EDBG_CMD_CONFIG, flags:0x00000000
> Download successful! Jumping to image at physical 0xA00B9000...
> Begin
> ******************************************************
> ******************************************************
> ******************************************************
> ******************************************************
> ******************************************************
> OEMInitDebugSerial using UART2
> Windows CE Kernel for ARM Built on Mar 13 2003 at 22:54:19
> ProcessorType=02d0 Revision=6
> sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable =
> 800b9ef4
>
>
> as u see,my system hung at last,
> if normal,sp=ffffc7cc should be printed behind
> OEMAddressTable = 800b9ef4
> but now,system hung there....
> and Platform builder printed the word"Kernel debugger is waiting to
> connect with target."
>
>
> Anybody has experience ?
> could u give me some advice?
> I so appreciate it, thank u a lot.
>
>