毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

wince5.0+2440 由64M改为128M Booting Windows CE version 5.00 for (ARM)

更新时间:2013-7-31:  来源:毕业论文

wince5.0+2440 由64M改为128M Booting Windows CE version 5.00 for (ARM)

最近在弄这个这个内存的扩展工作,硬件已经进行了修改,软件的具体修改工作如下:

1.fw.s
HandleFIQ是存放着FIQ服务程序入口地址的地址,内存多了64M,所以要加上64M的内存。

HandleFIQ   EQU   0x33ffff1c  
改成

HandleFIQ   EQU   0x37ffff1c  
这个文件第二个要改的地方

ldr     r3, = (0x8C000000 - 0x30000000)
改成

ldr     r3, = (0x88800000 - 0x30000000)
2.map.a

    DCD 0x80000000, 0x02000000, 30 ; 30 MB SROM(SRAM/ROM) BANK 0
    DCD 0x82000000, 0x08000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 1
    DCD 0x84000000, 0x10000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 2
    DCD 0x86000000, 0x18000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 3
    DCD 0x88000000, 0x20000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 4
    DCD 0x8A000000, 0x28000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 5
    DCD 0x8C000000, 0x30000000, 64 ; 64 MB DRAM BANK 0,1
改成

    DCD 0x80000000, 0x02000000, 30 ; 30 MB SROM(SRAM/ROM) BANK 0
    DCD 0x82000000, 0x08000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 1
    DCD 0x84000000, 0x10000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 2
    DCD 0x86000000, 0x18000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 3
    DCD 0x88000000, 0x20000000, 4   ; 32 MB SROM(SRAM/ROM) BANK 4
    DCD 0x88400000, 0x28000000, 4   ; 32 MB SROM(SRAM/ROM) BANK 5
    DCD 0x88800000, 0x30000000, 128 ; 128 MB DRAM BANK 0,1
3.reg2440.a

;Bank 6 parameter
B6_MT EQU 0x3 ;SDRAM
B6_Trcd EQU 0x1 ;3clk ; over 180M
B6_SCAN EQU 0x1 ;9bit

;Bank 7 parameter
B7_MT EQU 0x3 ;SDRAM
B7_Trcd EQU 0x1 ;2clk
B7_SCAN EQU 0x1 ;9bit

改成

 


;Bank 6 parameter
B6_MT EQU 0x3 ;SDRAM
B6_Trcd EQU 0x1 ;3clk ; over 180M
B6_SCAN EQU 0x2 ;10bit

;Bank 7 parameter
B7_MT EQU 0x3 ;SDRAM
B7_Trcd EQU 0x1 ;2clk
B7_SCAN EQU 0x2 ;10bit

4.s2440.h

#define DMA_BUFFER_BASE   0xAC000000
改成

#define DMA_BUFFER_BASE   0xA8800000
5.platform.reg

[HKEY_LOCAL_MACHINE\Drivers\Display\S3C2410\CONFIG]
"DisplayDll"="s3c2410disp.dll"
"LCDVirtualFrameBase"=dword:ac100000
"LCDPhysicalFrameBase"=dword:30100000
改成

[HKEY_LOCAL_MACHINE\Drivers\Display\S3C2410\CONFIG]
"DisplayDll"="s3c2410disp.dll"
"LCDVirtualFrameBase"=dword:a8900000
"LCDPhysicalFrameBase"=dword:30100000
6.config.bib

; NK Start address
#define NKSTART 8C200000
#define NKLEN 01800000 ;02000000

#define RAMSTART 8DA00000 ;8E200000
#define RAMLEN 02600000 ;01E00000
改成

; NK Start address
#define NKSTART 88a00000
#define NKLEN 01800000 ;02000000

#define RAMSTART 8a200000 ;8E200000
#define RAMLEN 06600000 ;06600000
继续

AUD_DMA       8c002000 00002000 RESERVED
DRV_GLB       8c010000 00010000 RESERVED
DBGSER_DMA    8c022000 00002000 RESERVED
SER_DMA       8c024000 00002000 RESERVED
IR_DMA        8c026000 00002000 RESERVED
SD_DMA     8c028000 00008000 RESERVED
EDBG          8c030000 00020000 RESERVED
CPXIPCHAIN    8c050000 00008000 RESERVED
SLEEP_BUFF 8c058000 00004000 RESERVED
DISPLAY       8c100000 00100000 RESERVED   
改成

 

AUD_DMA       88802000 00002000 RESERVED
DRV_GLB       88810000 00010000 RESERVED
DBGSER_DMA    88822000 00002000 RESERVED
SER_DMA       88824000 00002000 RESERVED
IR_DMA        88826000 00002000 RESERVED
SD_DMA     88828000 00008000 RESERVED
EDBG          88830000 00020000 RESERVED
CPXIPCHAIN    88850000 00008000 RESERVED
SLEEP_BUFF 88858000 00004000 RESERVED
DISPLAY       88900000 00100000 RESERVED    
到此内核修改结束

但是该过之后WINCE不能正常启动,我的DEBUG版本下的系统启动信息如下:
......................
fhg******************************
Booting Windows CE version 5.00 for (ARM)
&pTOC = 88a0a14c, pTOC = 8a9686d4, pTOC->ulRamFree = 8b271000, MemForPT = 00000000

Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 6028, Secondary pages: 0, Filesystem pages = 3014

Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8b272000, extension: 00002000, length: 0178c000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit

然后就停止在此处不往下执行了,

1.ldr r3, = (0x8C000000 - 0x30000000)
改成

ldr r3, = (0x88800000 - 0x30000000)
---》这个不需要修改啊。

2.DCD 0x8C000000, 0x30000000, 64 ; 64 MB DRAM BANK 0,1
---》值需要修改为DCD 0x8C000000, 0x30000000, 128 ;而且后面的依次增加64M,也就是0想0想04000000,比如修改之前是
DCD 0x90800000, 0x48000000,  1  ; Memory control register
那应该改为
DCD 0x94800000, 0x48000000,  1  ; Memory control register
而不是像楼主那样修改

3.s2440.h
#define DMA_BUFFER_BASE 0xAC000000
---》这个不需要改

还有好一些,我就不列举了,一看就知道楼主的BSP包是之前非标准的BSP包,我们现在的产品也有类似的BSP包,我也做过SDRAM从64M升级到128M,我做了记录,楼主如有需要,我可以把这个记录文档发给你,就是关于怎么从64M升级到128M的。

驱动有地方冲突

主要是和USB的驱动程序所分配的地址冲突了,具体文件armint.c里的UsbdclearEir和ohcd.c

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。