打印
[AT32F403/403A]

AT32F403A 224K RAM 和非零等待区关系

[复制链接]
4041|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刚上手雅特力的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那样是分开的



以下图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还是高的运行速度,非常的灵活


使用特权

评论回复
沙发
xyz549040622| | 2020-11-20 23:34 | 只看该作者
那GD的芯片介绍是flash零等待,这个又该如何解释呢?不应该是单纯的ram和的区别吧。

使用特权

评论回复
评论
desertsailor 2020-11-21 08:03 回复TA
GD32内部有两个DIE,一个是内核,一个是SPI接口的FLASH,上电后通过加载FLASH内容到RAM中运行。 
板凳
muyichuan2012| | 2020-11-20 23:41 | 只看该作者
原理类似

使用特权

评论回复
地板
Lindson| | 2020-11-23 13:46 | 只看该作者
嗯,程序在RAM中运行,那按这个运行逻辑。
我们在FLASH 读写数据时,CPU应该不会停止运行对吧?
所以,这个很方便的使用IAP功能对吧?

使用特权

评论回复
5
muyichuan2012| | 2020-11-23 14:46 | 只看该作者
Lindson 发表于 2020-11-23 13:46
嗯,程序在RAM中运行,那按这个运行逻辑。
我们在FLASH 读写数据时,CPU应该不会停止运行对吧?
所以,这个 ...

是的,也许这个文档是您需要的。http://atkap.arterytek.com/downl ... 2_MCU_ZH_V1.0.0.pdf

使用特权

评论回复
6
Lindson| | 2020-11-27 08:43 | 只看该作者
muyichuan2012 发表于 2020-11-23 14:46
是的,也许这个文档是您需要的。http://atkap.arterytek.com/download/AN0029_Memory_read_and_write_whi ...

非常感谢您回复!
谢谢!

使用特权

评论回复
7
戊戌变法| | 2020-11-27 09:28 | 只看该作者
这个 具体配置在哪个区域 是不是通过设置 keil的 rom其实地址 来配置 就可以  配置程序再 zw nzw区

使用特权

评论回复
8
kmzhangp| | 2021-3-1 20:44 | 只看该作者
如果把FALSH中几页当成EEROM,读写时不知怎么处理的?读时是从RAM中读呢还是从FLASH中读?

使用特权

评论回复
9
wsnsyy| | 2021-5-31 13:18 | 只看该作者
为什么NZW区域大小也会变化

使用特权

评论回复
10
独孤求隐| | 2021-9-29 16:04 | 只看该作者
这个零等待和非零等待,在使用IAP程序升级到后续程序时,如果后续程序超过128k,会导致好多外设工作不起来,程序直接进入硬件错误,是个坑,

使用特权

评论回复
评论
muyichuan2012 2021-9-29 17:28 回复TA
不会的,可以把问题代码贴一下吗? 
11
6552918| | 2021-9-29 22:41 | 只看该作者
独孤求隐 发表于 2021-9-29 16:04
这个零等待和非零等待,在使用IAP程序升级到后续程序时,如果后续程序超过128k,会导致好多外设工作不起来, ...

不可能触显这种情况,非0等待也能到96M呢。

使用特权

评论回复
12
moticsoft| | 2022-5-9 08:42 | 只看该作者
解释的清楚,一直疑惑这个东西到底怎么用,现在明白啦。

使用特权

评论回复
13
天天在读书| | 2022-5-11 14:57 | 只看该作者
原来如此,学习了~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

126

帖子

1

粉丝