历史上的今天
今天是:2024年08月24日(星期六)
2021年08月24日 | STM32 在16位数据宽度下的地址问题
2021-08-24 来源:eefocus
在项目中,原来使用的是八根数据线,读取数据没有问题,在后来改用十六根地址线并把数据宽度改为十六位之后读出来的数据就很奇怪了,经过仔细分析师由于STM32的内外地址映射造成的,具体参照STM32技术参考手册中文翻译第十版的327页,根据我的理解叙述如下:
块1存储区被划分为4个NOR/PSRAM区,这四个区在内部地址上是连续排列的。但是实际上每个区共用的是同一组地址线与数据线,因此需要有内外的一个地址映射,因此在STM32中实际上有两个地址,一个是在内部访问的地址,另外一个是实际地址线输出的地址。
HADDR[27:0]对应的是需要转换到外部存储器的内部AHB地址线,其中HADDR[27:26]位用于选择四个存储块之一。
HADDR[25:0]包含外部存储器地址。HADDR是字节地址,而不同的外部存储器数据长度也不一样,因此在数据宽度为8位和16位时映射关系也不一样。
在数据宽度为8位时HADDR[25:0]与FSMC_A[25:0]对应相连,这时候在STM32中访问的地址和实际地址线产生的地址是一致的。而在16位数据宽度时HADDR[25:1]与FSMC_A[24:0]对应相连,HADDR[0]未接,这时候实际地址线上给出的地址为需要访问的偏移地址的一半。
在本系统中由于使用了高精度的16位AD,实际数据读取与处理也都是16位,为了快速访问STM32采用的就是16位数据宽度,因此需要针对两者的地址进行相应的映射。重新计算地址之后问题解决。
史海拾趣
|
第一章 嵌入式系统的定义;工业特点和要求 行业硬件软件特征、产品特征(根据行业特点来说、共性、目前市场)价格、客户 市场(家用、通讯、商业、医疗、 ...… 查看全部问答> |
|
想买个开发板玩wince,请大家推介一下那家的产品比较好价格又不太贵! 想买个开发板玩wince,请大家推介一下那家的产品比较好价格又不太贵!价格最好不要高个800块,提供wincei的学习资料比较多。曾经看过周立功的网站,那家伙,开发板太贵了,但是看上写的资料倒是很多的!… 查看全部问答> |
|
紧急求助!对vxworks/tornado开发比较熟悉的大牛帮帮忙! 选了vxworks的课,结果忙了一学期其他的事情,还有几天交作业了,着急,诚征大牛帮忙。价格面议。手机:13718106015 实验1. 哲学家的晚餐(30%) 实验2. TCP双机通信(40%) 实验内容:安装Tornado UL ...… 查看全部问答> |
|
【LaunchPad】TI给我的CCS4下载下来怎么找不到430G223这个器件啊? 前两天买了一个LanuchPad小板,就是25元的那个 在TI公司申请了一个CCS4的安装连接,安好后就一直找不到G系列的器件 是怎么回事呢? 或者有人能给我一个可以开发LaunchPad板子的CCS下载连接吗?谢谢大家了… 查看全部问答> |




