硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3465|回复: 0
收起左侧

[技术讨论] AT32F403A 224K RAM 和非零等待区关系

[复制链接]

22

主题

16

回帖

82

积分

初级会员

积分
82
发表于 2020-11-20 21:22:28 | 显示全部楼层 |阅读模式
本帖最后由 tutu 于 2020-11-20 21:25 编辑

刚上手雅特力的AT32F403A,里面有一些我在STM32F103上没用到的新功能,比如这个零等待区,非零等待区,一开始也是把我整懵逼了,但是后来搞明白之后,嗯...................香

进入正题之前先解释一下两个名词
ZW——零等待区域(如果程序在里面运行,那么运行速度可达240M,其实这块区域就是RAM,这对运行速度有要求的程序非常有用),
NZW——非零等待区域(在flash运行,因为FLASH不可能跑到240M,所以这里面运行程序相对较慢,STM32F103的程序就是在Flash里运行),

AT32F403A一共有352K RAM,这些RAM是连续的,其中默认有256K划给零等待区(ZW)使用,96K划给用户使用作为RAM使用

256K的非零等待区里可以通过软件配置将其中的128K划出来给用户作为RAM使用,那么此时用户就有96+128K RAM可以使用,这224KB sram 是连续的,并不是像STM32F4那样是分开的

1.png

以下图CG型号为例,现在的资源是有总的FLASH 1024K,  RAM 256K(零等待区ZW)+96K=352KB
如果按着默认的配置96K RAM ,那么程序一上电,就会将FLASH 前面256K拷贝到256K(零等待区ZW)里面运行,然后剩下1024-256=768K在FLASH里面运行,
如果的配置成96K + 128 k = 224K RAM ,那么零等待区ZW 就只剩128K了,程序一上电,就会将FLASH 前面128K拷贝到128K(零等待区ZW)里面运行,然后剩下1024-128=896K在FLASH里面运行

感觉这个功能非常棒,可以根据实际需求是选择大的RAM还是高的运行速度,非常的灵活
11.png





回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 20:41 , Processed in 0.153758 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表