powerpc构架对于地址的访问
来源:互联网 发布:网络到internet有个x 编辑:程序博客网 时间:2024/06/06 09:45
powerpc构架的处理器,对于内设和外设的访问比较奇怪(当然是和常见的ARM比起来),这些地址是可以重新配置的,包括配置这些配置的寄存器地址也是可配置的,以MPC8313的仿真器初始化文件为例
#setMMRBaseAddr 0xFF400000 ------------------------>复位后默认的地址是0xff400000
writereg MBAR 0xFF400000
# change internal MMR base from 0xff400000 (reset value) to 0xe0000000
writemem.l 0xff400000 0xe0000000 # IMMRBAR = 0xe0000000 ------------------------>把0xff400000改成了0xe0000000,从此以后对IMMRBAR的访问基址都是0xe0000000了
#setMMRBaseAddr 0xe0000000
writereg MBAR 0xe0000000
##############################################
# System Configuration - Local Access Windows
##############################################
# Local Bus Local Access Windows
#################################
# WINDOW 0 - NOR FLASH
writemem.l 0xe0000020 0xfe000000 # LBLAWBAR0 - begining at 0xfe000000 ------>以后凡是对0xfe000000的寻址都会出现在CS0和它的地址数据线上了
writemem.l 0xe0000024 0x80000018 # LBLAWAR0 - enable, size = 32MB
# WINDOW 1 - NAND Flash
writemem.l 0xe0000028 0xf8000000 # LBLAWBAR1 - begining at 0xf8000000
writemem.l 0xe000002c 0x80000018 # LBLAWAR1 - enable, size = 32MB
# WINDOW 2 - VSC7385
writemem.l 0xe0000030 0xf0000000 # LBLAWBAR2 - begining at 0xfc100000
writemem.l 0xe0000034 0x80000010 # LBLAWAR2 - enable, size = 128kB
# WINDOW 3 - Read Write Buffer
writemem.l 0xe0000038 0xfa000000 # LBLAWBAR3 - begining at 0xfa000000
writemem.l 0xe000003c 0x8000000e # LBLAWAR3 - enable, size = 32kB
# PCI Local Access Windows
#################################
# WINDOW 0
writemem.l 0xe0000060 0x80000000 # PCILAWBAR0 - begining at 0x80000000
writemem.l 0xe0000064 0x8000001c # PCILAWAR0 - enable, size = 512MB
# WINDOW 1
writemem.l 0xe0000068 0xa0000000 # PCILAWBAR1 - begining at 0xa0000000
writemem.l 0xe000006c 0x8000001c # PCILAWAR1 - enable, size = 512MB
# DDR Local Access Windows
#################################
# WINDOW 0 - 1st DDR SODIMM
writemem.l 0xe00000a0 0x00000000 # DDRLAWBAR0 - begining at 0x00000000
writemem.l 0xe00000a4 0x8000001a # DDRLAWAR0 - enable, size = 128MB
#*********************************
# DDR2 Controller Registers
#*********************************
#DDRCDR
writemem.l 0xE0000128 0x73000002
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
总结一下:我要说2个意思,第一个是,我们平时访问的外设的控制寄存器都在IMMRBAR中,偏移量是固定的,基址默认是0xff400000,但是这个基址可以改变。第二个意思是,localbus总线,ddr,pci等的地址和大小也是可以配置的。所有这些配置都在IMMRBAR中叫“System Configuration Registers”的地方配置。
再补充一下:powerpc的windows设置和片选地址的设置是两码事,windows的设置对于core而言,不同地址寻址去的地方不同(2个寄存器,一个是基址一个是属性,包括大小和去向),而片选地址设置是为了产生外部的读写控制信号,二者没有直接的关系,但是一般来说,windows中的LocalBus空间要大于所有的片选空间。
- powerpc构架对于地址的访问
- PowerPC构架系统的linux内核和内核模块调试
- powerpc启动地址
- powerpc 、mips访问I/O方式的比较
- MIPS,PowerPC和ARM访问I/O方式的比较
- Powerpc构架系统内核和内核模块调试
- Powerpc构架系统内核和内核模块调试
- 32位PowerPC构架通用寄存器分析及总结
- 两种实现PPC地址重映射的方案,uboot powerpc
- 对于0x30000000地址的理解
- 对于IP地址检测问题的考虑!
- powerpc 的外围接口
- PowerPC的MMU初始化
- PowerPC的使用
- linux下对于ntfs分区的访问
- 对于内存越界访问的笔记
- Objc Block 对于变量的访问
- final对于访问效率的影响
- eclipse常用插件下载地址
- 给自己科谱:控制字符
- 电子工程术语详表
- 【C++复习四】浮点型数据double、float
- java中map的遍历方法
- powerpc构架对于地址的访问
- javascript获取到textarea文本框中的回车换行符
- 删除Eclipse多余Workspace
- 三星I9300救砖教程详解
- source、sh、bash、./执行脚本的区别
- HDU-4539-郑厂长系列故事——排兵布阵
- 了解软件加壳
- boost库在工作(18)线程之三
- Getting started with windbg - part I