5059|14

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

寄存器的访问 [复制链接]

  各位高手帮帮忙啊,我现在在调试SEC(加密引擎)驱动,发现个问题,当我bootrom起来用d 命令去访问加密引擎的寄存器时(d 0xf0040000)是可以访问的(在syslib.c)里面已经映射好了,但是一运行我的应用程序,虽然我应用程序什么都没做,但是再去用(d 0xf0040000)访问寄存器的话,就死机了,这是怎么回事啊?

最新回复

去掉MMU的话,不行,程序都跑得不对了,我用syslib.c中的相同映像表,放在我demo板上一个工程里面跑,VxWorks镜像启动后,是可以访问d 0xf0040000的,映像表如下: UINT32 sysBatDesc [2 * (_MMU_NUM_IBAT + _MMU_NUM_DBAT)] =     {     /* I BAT 0 */     ((0xf8000000  & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_32M |     _MMU_UBAT_VS | _MMU_UBAT_VP),     ((0xf8000000  & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |     _MMU_LBAT_CACHE_INHIBIT),     /*0, 0,*/     /* I BAT 1 */     0, 0,     /* I BAT 2 */     0, 0,     /* I BAT 3 */     0, 0,     /* D BAT 0 */     ((0xf8000000  & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_32M |     _MMU_UBAT_VS | _MMU_UBAT_VP),     ((0xf8000000  & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |     _MMU_LBAT_CACHE_INHIBIT),     /*0, 0,*/     /* D BAT 1 */     /* use DBAT1 to map CPM DPRAM and internal registers into data space */     /* NOTE! the internal space cannot be cached and should be guarded */     ((0xF0000000 & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_128K |     _MMU_UBAT_VS | _MMU_UBAT_VP),     ((0xF0000000 & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |     _MMU_LBAT_CACHE_INHIBIT | _MMU_LBAT_GUARDED),     /* D BAT 2 */     0,0,     /* D BAT 3 */     0,0     }; /* * sysPhysMemDesc[] is used to initialize the Page Table Entry (PTE) array * used by the MMU to translate addresses with single page (4k) granularity. * PTE memory space should not, in general, overlap BAT memory space but * may be allowed if only Data or Instruction access is mapped via BAT. * * Address translations for local RAM, memory mapped PCI bus, the Board Control and * Status registers, the MPC8260 Internal Memory Map, and local FLASH RAM are set here. * * PTEs are held, strangely enough, in a Page Table.  Page Table sizes are * integer powers of two based on amount of memory to be mapped and a * minimum size of 64 kbytes.  The MINIMUM recommended Page Table sizes * for 32-bit PowerPCs are: * * Total mapped memory                Page Table size * -------------------                --------------- *        8 Meg                             64 K *       16 Meg                            128 K *       32 Meg                            256 K *       64 Meg                            512 K *      128 Meg                              1 Meg *         .                                . *         .                                . *         .                                . * * [Ref: chapter 7, PowerPC Microprocessor Family: The Programming Environments] * */ PHYS_MEM_DESC sysPhysMemDesc [] =     {     {     /* Vector Table and Interrupt Stack */     (void *) 0x00000000,     (void *) 0x00000000,     0x00010000,     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT     },     {     /* RAM on 60x bus - Must be second entry for Auto Sizing */     (void *) 0x00010000,     (void *) 0x00010000,     0x08000000 -  0x00010000,     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |     VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_MEM_COHERENCY,     VM_STATE_VALID      | VM_STATE_WRITABLE      |     VM_STATE_CACHEABLE | VM_STATE_MEM_COHERENCY     },     {     /* MPC8260 Internal Memory Map */     (void *) 0xf000000,/*0xf000000*/     (void *) 0xf000000,     0x20000,/*0x20000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },        {         /* MPC8272 HPI Memory Map */     (void *) 0x0d000000,/*0x0d000000*/     (void *) 0x0d000000,     0x100000,/*0x100000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },         {         /* MPC8272 fpga0 Memory Map */     (void *) 0x0e000000,/*0x0e000000*/     (void *) 0x0e000000,     0x40000,/*0x40000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     }, #if 1         {         /* MPC8272 fpga1 Memory Map */     (void *) 0x0f000000,/*0x0f000000*/     (void *) 0x0f000000,     0x100000,/*0x100000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     }, #endif         {         /* MPC8272 coder Memory Map */     (void *) 0x0A000000,/*0x0A000000*/     (void *) 0x0A000000,     0x100000,/*0x100000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },         {         /* MPC8272 decoder Memory Map */     (void *) 0x0c000000,/*0x0c000000*/     (void *) 0x0c000000,     0x100000,/*0x100000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     }, #ifdef INCLUDE_PCI     {     (void*)0x80000000,/*0x80000000*/     (void*)0x80000000,     0x01000000,/*0x01000000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },     {     (void*)0x90000000,/*0x90000000*/     (void*)0x90000000,     0x01000000,/*0x01000000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },     {     (void*)0xa0000000,/*0xa0000000*/     (void*)0xa0000000,     0x00100000,/*0x00100000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },     {     /* MPC8266 PCI Interrupt Controller  */     (void *) 0x4730000,/* 0x4730000*/     (void *) 0x4730000,     0x10000,/*0x10000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },     {     /* MPC8260 Internal Memory Map */     (void *) 0x4800000, /*0x4800000*/     (void *) 0x4800000,     0x10000,/*0x10000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     }, #endif #ifdef INCLUDE_SECURITY_ENGINE     {     (void *) 0xf0040000,/*0xf0040000*/     (void *) 0xf0040000,     0x20000,/*0x20000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     }, #endif  INCLUDE_SECURITY_ENGINE #if 1 /*CTDB_MPC8280*/     {     /* BIOS */     (void *) 0xfff00000,/*0xfff00000*/     (void *) 0xfff00000,     0x100000,/*0x100000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     },     {     /* Flash */     (void *) 0xf8000000,/*0xf8000000 */     (void *) 0xf8000000,     0x4000000,/*0x4000000*/     VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |     VM_STATE_MASK_GUARDED,     VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |     VM_STATE_GUARDED     }, #endif    };   详情 回复 发表于 2010-3-24 10:59
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你的应用程序跑在bootrom阶段?
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不是的,是编译成Vxworks映像后下载下去运行的。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
那你在vxworks下用d 0xf0040000 看看可出错
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
你说的“Vxworks下”是指Tornado下面的那个Shell调试器吗,我建立的是bootable Vxworks 工程,不能在那里面调试啊,我所谓的下载下去是用FTP服务器下到板子里面运行的。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
你没shell?串口?
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
个人感觉好像是你的物理内存与虚拟内存没处理好,

MARK,帮顶下,期待牛人。

 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 
但是在bootrom启动的时候都是可以访问的啊,而应用程序编译的syslib.c和bootrom的是一个文件啊,映射应该是ok的吧
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
MMU?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

10
 
内核加载之后会重新初始化包括网卡等硬件
所以可能你的内核在重新初始化的时候把MMU弄乱了
建议再对一下usrConfig等的配置
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
呵呵呵呵呵!!!
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
应该是内核加载启动的时候,把mmu弄乱了,但是我就是不知道该怎么去找了,看了下bootrom启动和Vxworks映像启动的区别,主要是bootrom是调用rominit()后再调用romstart()再到bootconfig.c里面的usrinit(),而Vxworks 是调用sysAlib.s里面的sysInit()后调用usrconfig.c里面的usrInit()
而usrconfig.c里面又只是些函数初始化函数。不知道哪位大哥能不能把方向指明点不啊?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
bootrom 里是不会启动mmu的 只有icache,也就是说在bootrom下面可以d 0xf0040000 只是直接用虚拟地址到物理地址的映射,而在vxworks里mmu 和 dcache是开打的,映射就是用的syslib.c 配的那个映射表。应该是你的映射表没配置好。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

14
 
那我试下把mmu组件去掉后看是否可以访问。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

15
 
去掉MMU的话,不行,程序都跑得不对了,我用syslib.c中的相同映像表,放在我demo板上一个工程里面跑,VxWorks镜像启动后,是可以访问d 0xf0040000的,映像表如下:
UINT32 sysBatDesc [2 * (_MMU_NUM_IBAT + _MMU_NUM_DBAT)] =
    {
    /* I BAT 0 */
    ((0xf8000000  & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_32M |
    _MMU_UBAT_VS | _MMU_UBAT_VP),
    ((0xf8000000  & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
    _MMU_LBAT_CACHE_INHIBIT),
    /*0, 0,*/

    /* I BAT 1 */

    0, 0,

    /* I BAT 2 */

    0, 0,

    /* I BAT 3 */

    0, 0,

    /* D BAT 0 */
    ((0xf8000000  & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_32M |
    _MMU_UBAT_VS | _MMU_UBAT_VP),
    ((0xf8000000  & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
    _MMU_LBAT_CACHE_INHIBIT),
    /*0, 0,*/

    /* D BAT 1 */

    /* use DBAT1 to map CPM DPRAM and internal registers into data space */
    /* NOTE! the internal space cannot be cached and should be guarded */
    ((0xF0000000 & _MMU_UBAT_BEPI_MASK) | _MMU_UBAT_BL_128K |
    _MMU_UBAT_VS | _MMU_UBAT_VP),
    ((0xF0000000 & _MMU_LBAT_BRPN_MASK) | _MMU_LBAT_PP_RW |
    _MMU_LBAT_CACHE_INHIBIT | _MMU_LBAT_GUARDED),

    /* D BAT 2 */

    0,0,

    /* D BAT 3 */

    0,0

    };


/*
* sysPhysMemDesc[] is used to initialize the Page Table Entry (PTE) array
* used by the MMU to translate addresses with single page (4k) granularity.
* PTE memory space should not, in general, overlap BAT memory space but
* may be allowed if only Data or Instruction access is mapped via BAT.
*
* Address translations for local RAM, memory mapped PCI bus, the Board Control and
* Status registers, the MPC8260 Internal Memory Map, and local FLASH RAM are set here.
*
* PTEs are held, strangely enough, in a Page Table.  Page Table sizes are
* integer powers of two based on amount of memory to be mapped and a
* minimum size of 64 kbytes.  The MINIMUM recommended Page Table sizes
* for 32-bit PowerPCs are:
*
* Total mapped memory                Page Table size
* -------------------                ---------------
*        8 Meg                             64 K
*       16 Meg                            128 K
*       32 Meg                            256 K
*       64 Meg                            512 K
*      128 Meg                              1 Meg
*         .                                .
*         .                                .
*         .                                .
*
* [Ref: chapter 7, PowerPC Microprocessor Family: The Programming Environments]
*
*/

PHYS_MEM_DESC sysPhysMemDesc [] =
    {

    {
    /* Vector Table and Interrupt Stack */

    (void *) 0x00000000,
    (void *) 0x00000000,
    0x00010000,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT
    },

    {
    /* RAM on 60x bus - Must be second entry for Auto Sizing */

    (void *) 0x00010000,
    (void *) 0x00010000,
    0x08000000 -  0x00010000,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
    VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_MEM_COHERENCY,
    VM_STATE_VALID      | VM_STATE_WRITABLE      |
    VM_STATE_CACHEABLE | VM_STATE_MEM_COHERENCY
    },

    {
    /* MPC8260 Internal Memory Map */

    (void *) 0xf000000,/*0xf000000*/
    (void *) 0xf000000,
    0x20000,/*0x20000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
  
    {
        /* MPC8272 HPI Memory Map */

    (void *) 0x0d000000,/*0x0d000000*/
    (void *) 0x0d000000,
    0x100000,/*0x100000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },

        {
        /* MPC8272 fpga0 Memory Map */

    (void *) 0x0e000000,/*0x0e000000*/
    (void *) 0x0e000000,
    0x40000,/*0x40000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
#if 1
        {
        /* MPC8272 fpga1 Memory Map */

    (void *) 0x0f000000,/*0x0f000000*/
    (void *) 0x0f000000,
    0x100000,/*0x100000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
#endif

        {
        /* MPC8272 coder Memory Map */

    (void *) 0x0A000000,/*0x0A000000*/
    (void *) 0x0A000000,
    0x100000,/*0x100000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },

        {
        /* MPC8272 decoder Memory Map */

    (void *) 0x0c000000,/*0x0c000000*/
    (void *) 0x0c000000,
    0x100000,/*0x100000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },

#ifdef INCLUDE_PCI
    {
    (void*)0x80000000,/*0x80000000*/
    (void*)0x80000000,
    0x01000000,/*0x01000000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },

    {
    (void*)0x90000000,/*0x90000000*/
    (void*)0x90000000,
    0x01000000,/*0x01000000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },

    {
    (void*)0xa0000000,/*0xa0000000*/
    (void*)0xa0000000,
    0x00100000,/*0x00100000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
    {
    /* MPC8266 PCI Interrupt Controller  */
    (void *) 0x4730000,/* 0x4730000*/
    (void *) 0x4730000,
    0x10000,/*0x10000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },

    {
    /* MPC8260 Internal Memory Map */

    (void *) 0x4800000, /*0x4800000*/
    (void *) 0x4800000,
    0x10000,/*0x10000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
#endif

#ifdef INCLUDE_SECURITY_ENGINE
    {
    (void *) 0xf0040000,/*0xf0040000*/
    (void *) 0xf0040000,
    0x20000,/*0x20000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED

    },
#endif  INCLUDE_SECURITY_ENGINE
#if 1 /*CTDB_MPC8280*/
    {
    /* BIOS */

    (void *) 0xfff00000,/*0xfff00000*/
    (void *) 0xfff00000,
    0x100000,/*0x100000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
    {
    /* Flash */

    (void *) 0xf8000000,/*0xf8000000 */
    (void *) 0xf8000000,
    0x4000000,/*0x4000000*/
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |
    VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  |
    VM_STATE_GUARDED
    },
#endif   
};
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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