|
From: blueYork on 3 May 2008 05:12 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 3 May 2008 09:53 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. > >
|
Pages: 1 Prev: Generating a driver without DDK,... Next: IOCTL_VOLUME_ONLINE and IOCTL_VOLUME_OFFLINE |