68

帖子

0

TA的资源

一粒金砂(初级)

21
 
我看了 MainStoneIII的BSP:
它里面定义的:
g_oalAddressTable

  IF :DEF: SDRAM_SIZE_64_MB
        DCD     0x80000000, 0xA0000000, 64      ; MAINSTONEII: SDRAM (64MB).
  ELSE
        DCD     0x80000000, 0xA0000000, 128     ; MAINSTONEII: SDRAM (128MB).
  ENDIF
        DCD     0x88000000, 0x5C000000,   1     ; BULVERDE: Internal SRAM (64KB bank 0).
        DCD     0x88100000, 0x58000000,   1     ; BULVERDE: Internal memory PM registers.
        DCD     0x88200000, 0x4C000000,   1     ; BULVERDE: USB host controller.
        DCD     0x88300000, 0x48000000,   1     ; BULVERDE: Memory controller.
        DCD     0x88400000, 0x44000000,   1     ; BULVERDE: LCD controller.
        DCD     0x88500000, 0x40000000,  32     ; BULVERDE: Memory-mapped registers (peripherals).
        DCD     0x8A500000, 0x3C000000,  16     ; BULVERDE: PCMCIA S1 common memory space.
        DCD     0x8B500000, 0x38000000,  64     ; BULVERDE: PCMCIA S1 attribute memory space.
        DCD     0x8F500000, 0x30000000,   1     ; BULVERDE: PCMCIA S1 I/O space.
        DCD     0x8F600000, 0x2C000000,  16     ; BULVERDE: PCMCIA S0 common memory space.
        DCD     0x90600000, 0x28000000,  64     ; BULVERDE: PCMCIA S0 attribute memory space.
        DCD     0x94600000, 0x20000000,   1     ; BULVERDE: PCMCIA S0 I/O space.
        DCD     0x9A500000, 0xE0000000,  1      ; MAINSTONEII: Zero-bank
        DCD     0x9A600000, 0x14000000,  1      ; MAINSTONEII: nCS5: eXpansion board header.
        DCD     0x9A700000, 0x10000000,  1      ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller.
        DCD     0x9A800000, 0x0A000000,  1      ; MAINSTONEII: nCS2 (upper half): 2MB SRAM.
        DCD     0x9A900000, 0x08000000,  1      ; MAINSTONEII: nCS2 (lower half): Board registers (FPGA).
        DCD     0x9AA00000, 0x00000000, 64      ; MAINSTONEII: nCS0: MCPII Module Boot Flash (64MB).
        DCD     0x9EA00000, 0x50000000,  1      ; BULVERDE: Camera peripheral interface.
        DCD     0x00000000, 0x00000000,  0      ; end of table
他的配置SDRAM和FLASH配置道是跟我的一样,
我想问一下改OEMAddressTable还需要改其他地方吗??
我以前改过WINCE42的,它的是这样的
IF SDRAM_SIZE_128_MB = "1"
        DCD SDRAM_BASE_C_VIRTUAL, SDRAM_BASE_PHYSICAL, 128 ;  (96C0 0000, A000 0000) everything SDRAM-related
(eboot RAM, eboot RAMIMG, nk RAM, nk RAMIMAGE, nk MEMDEFS, ethdbg buffs)
        ELSE
        DCD SDRAM_BASE_C_VIRTUAL, SDRAM_BASE_PHYSICAL, 64 ; (96C0 0000, A000 0000) everything SDRAM-related (eboot RAM, eboot RAMIMG, nk RAM, nk RAMIMAGE, nk MEMDEFS, ethdbg buffs)
        ENDIF
        DCD IM_STORAGE_BASE_C_VIRTUAL, IM_STORAGE_BASE_PHYSICAL, 1 ; (8400 0000, 5C00 0000) Internal Memory-Storage
        DCD IM_CONTROL_BASE_C_VIRTUAL, IM_CONTROL_BASE_PHYSICAL, 1 ; (8410 0000, 5800 0000) Internal Memory-Control
这个改一下需要修改对应头文件中的xxx_BASE_C_VIRTUAL和xxx_BASE_PHYSICAL
不知道WINCE5下的OEMaddressTable 还跟哪个地方关联??

回复

71

帖子

0

TA的资源

一粒金砂(初级)

22
 
1. 你可至 http://www.microsoft.com/downloads/details.aspx?FamilyID=BDF43D00-55B6-4E51-82A5-F0A8395D4903&displaylang=en 去下載 MainStoneIII BSP for WinCE5.0 來參考修改你的 OEMAddressTable, 把 PCMCIA 佔的空間縮小, 最好是往下串, 一勞永逸.

2. EBoot 中的 OALStartUp 會根據該 OEMAddressTable 去把 MMU table 建好後打開.

Paul, Chao @ Techware
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

23
 
哦,那这个:
g_oalAddressTable

  IF :DEF: SDRAM_SIZE_64_MB
        DCD    0x80000000, 0xA0000000, 64      ; MAINSTONEII: SDRAM (64MB).
  ELSE
        DCD    0x80000000, 0xA0000000, 128    ; MAINSTONEII: SDRAM (128MB).
  ENDIF
        DCD    0x88000000, 0x5C000000,  1    ; BULVERDE: Internal SRAM (64KB bank 0).
        DCD    0x88100000, 0x58000000,  1    ; BULVERDE: Internal memory PM registers.
        DCD    0x88200000, 0x4C000000,  1    ; BULVERDE: USB host controller.
        DCD    0x88300000, 0x48000000,  1    ; BULVERDE: Memory controller.
        DCD    0x88400000, 0x44000000,  1    ; BULVERDE: LCD controller.
        DCD    0x88500000, 0x40000000,  32    ; BULVERDE: Memory-mapped registers (peripherals).
        DCD    0x8A500000, 0x3C000000,  16    ; BULVERDE: PCMCIA S1 common memory space.
        DCD    0x8B500000, 0x38000000,  64    ; BULVERDE: PCMCIA S1 attribute memory space.
        DCD    0x8F500000, 0x30000000,  1    ; BULVERDE: PCMCIA S1 I/O space.
        DCD    0x8F600000, 0x2C000000,  16    ; BULVERDE: PCMCIA S0 common memory space.
        DCD    0x90600000, 0x28000000,  64    ; BULVERDE: PCMCIA S0 attribute memory space.
        DCD    0x94600000, 0x20000000,  1    ; BULVERDE: PCMCIA S0 I/O space.
        DCD    0x9A500000, 0xE0000000,  1      ; MAINSTONEII: Zero-bank
        DCD    0x9A600000, 0x14000000,  1      ; MAINSTONEII: nCS5: eXpansion board header.
        DCD    0x9A700000, 0x10000000,  1      ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller.
        DCD    0x9A800000, 0x0A000000,  1      ; MAINSTONEII: nCS2 (upper half): 2MB SRAM.
        DCD    0x9A900000, 0x08000000,  1      ; MAINSTONEII: nCS2 (lower half): Board registers (FPGA).
        DCD    0x9AA00000, 0x00000000, 64      ; MAINSTONEII: nCS0: MCPII Module Boot Flash (64MB).
        DCD    0x9EA00000, 0x50000000,  1      ; BULVERDE: Camera peripheral interface.
        DCD    0x00000000, 0x00000000,  0      ; end of table
我其实就可以直接用(跟我硬件上配置是一样的)
但是不知道这么修改定义后,BSP其他地方会不会受影响???
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

24
 
1. 根據經驗, MainStoneII 的 BSP, 修改 OEMAddressTable 是不會造成其它地方的影響 (不改 SDRAM 起啟位置), 但若 NOR Flash 改了位置, 記得將 config.bib, eboot.bib 做對映修改.

2. 好的 BSP, 其 Virtual Address 都會用 Physical Address 透過 OALPAtoVA or MmMapIoSpace 等 function 做轉換後得到, 唯一會直接用到 VA 的, 大部份都是在 image_cfg.h or image_cfg.inc 內做定義.
當然, 這些說法不是規範, 不是所有的 BSP 都會照著這樣做, 尤其是照著 WinCE 3.0/4.x 的習慣去實現的 BSP.

你的 BSP 是別家修改過的, 但基本上 MS 附的 MainStoneII 是不會有問題的.

Paul, Chao @ Techware
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

25
 
哦明白了
thank u!
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

26
 
问题1已经搞定
总结:
1、修改对应的OEMaddressTable,虽然程序还没走到这,但是早晚需要修改
   注意FLASH和SDRAM大小
2、注意硬件连接方式:FLASH、SDRAM是16位还是32位
   注意其中的一些宏
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

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