3719|4

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MMU地址映射表问题! [复制链接]

目前在做一个SRAM驱动,写成的是流驱动,驱动写好了!
但是在做MMU地址映射表时出问题了!具体如下:
原来的g_oalAddressTable[DATA] 表为
g_oalAddressTable
        DCD     0x80000000, 0x50000000,  128    ; 128 MB DRAM

        DCD     0x90000000, 0x70000000,  4      ; SROM SFR
        DCD     0x90400000, 0x71000000,  4      ; TZIC0
        DCD     0x90800000, 0x72000000,  1      ; FIMG-3DSE SFR
        DCD     0x90A00000, 0x74000000,  2      ; Indirect Host I/F
        DCD     0x90C00000, 0x74300000,  2      ; USB Host
        DCD     0x90E00000, 0x75000000,  2      ; DMA0
        DCD     0x91000000, 0x76100000,  3      ; 2D Graphics
        DCD     0x91300000, 0x77000000,  3      ; Post Processor
        DCD     0x91600000, 0x78000000,  1      ; Camera I/F
        DCD     0x91700000, 0x78800000,  1      ; JPEG
        DCD     0x91800000, 0x7C000000,  5      ; USB OTG LINK
        DCD     0x91D00000, 0x7D000000,  13     ; D&I(Security Subsystem Config) SFR
        DCD     0x92A00000, 0x7E000000,  1      ; DMC, MFC, WDT, RTC, HSI TX/RX, Keypad, ADC, SYSCON
        DCD     0x92B00000, 0x7F000000,  1      ; TZPC, AC97, I2S, I2C, UART, PWM, IrDA, GPIO, PCM, SPI
        DCD     0x93000000, 0x00000000,  16     ; 32 MB SROM(SRAM/ROM) BANK 0

        ; nCS1~nCS5, nCS0
        DCD     0x94000000, 0x18000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 1 = DM9000A
        ;DCD     0x96000000, 0x20000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 2
        DCD     0x00000000, 0x00000000,  0      ; end of table

我只是把BANK2加上了如下:
g_oalAddressTable
        DCD     0x80000000, 0x50000000,  128    ; 128 MB DRAM

        DCD     0x90000000, 0x70000000,  4      ; SROM SFR
        DCD     0x90400000, 0x71000000,  4      ; TZIC0
        DCD     0x90800000, 0x72000000,  1      ; FIMG-3DSE SFR
        DCD     0x90A00000, 0x74000000,  2      ; Indirect Host I/F
        DCD     0x90C00000, 0x74300000,  2      ; USB Host
        DCD     0x90E00000, 0x75000000,  2      ; DMA0
        DCD     0x91000000, 0x76100000,  3      ; 2D Graphics
        DCD     0x91300000, 0x77000000,  3      ; Post Processor
        DCD     0x91600000, 0x78000000,  1      ; Camera I/F
        DCD     0x91700000, 0x78800000,  1      ; JPEG
        DCD     0x91800000, 0x7C000000,  5      ; USB OTG LINK
        DCD     0x91D00000, 0x7D000000,  13     ; D&I(Security Subsystem Config) SFR
        DCD     0x92A00000, 0x7E000000,  1      ; DMC, MFC, WDT, RTC, HSI TX/RX, Keypad, ADC, SYSCON
        DCD     0x92B00000, 0x7F000000,  1      ; TZPC, AC97, I2S, I2C, UART, PWM, IrDA, GPIO, PCM, SPI
        DCD     0x93000000, 0x00000000,  16     ; 32 MB SROM(SRAM/ROM) BANK 0

        ; nCS1~nCS5, nCS0
        DCD     0x94000000, 0x18000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 1 = DM9000A
        DCD     0x96000000, 0x20000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 2
        DCD     0x00000000, 0x00000000,  0      ; end of table
编译内核:
        出现问题了!在
BUILD: [01:0000000120:ERRORE] D:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\OALLIB\startup.s(555) : error A0092: no immediate rotate operand can be created: -1068
        这里好象说找不到这个表了,这个startup.s的内容为:
        add        r0, pc, #g_oalAddressTable - (. + 8)
        如果把这个表改小了,也就是说把BANK1也去掉也会出错!
       不知在哪里是否被定义了g_oalAddressTable这个表的大小,请高手指点。

最新回复

奇怪呀  详情 回复 发表于 2009-9-19 21:59
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没有啊,我修改都没有出错,这个表没有啥限制啊。
 
 

回复

80

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
可是我只要改回去,编译就能通过呀?我找了很多书也没说有什么还要改的。
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

4
 
我的是WINCE6。0的 现在发现只要把
INCLUDE    oemaddrtab_cfg.inc
这个包涵的写到STARTUP。S的最后面,也就是END的前面包涵就编译通过了!
但不知原因!
之前是这样写的
                TEXTAREA
        INCLUDE    oemaddrtab_cfg.inc


;------------------------------------------------------------------------------
;
;    StartUp Entry
;
;    Main entry point for CPU initialization.
;
;------------------------------------------------------------------------------

    LEAF_ENTRY      StartUp

        b        ResetHandler                ; Jump over Power-Off code

HandlerUndef
        b        HandlerUndef

HandlerSWI
        b        HandlerSWI

HandlerPabort
        b        HandlerPabort

HandlerDabort
        b        HandlerDabort

HandlerReserved
        b        HandlerReserved

HandlerIRQ
        b        HandlerIRQ

HandlerFIQ
        b        HandlerFIQ

这样就出错了!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
奇怪呀
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

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