请问 GD32的Flash 中的Code Area和Data Area有什么区别呢?

[复制链接]
3592|7
 楼主| dianhang 发表于 2021-1-30 10:06 | 显示全部楼层 |阅读模式
请问 GD32的Flash 中的Code Area和Data Area有什么区别呢?
5D72C320-6034-472f-A3C0-EE44083EAD99.png
勤劳的我 发表于 2021-1-30 10:16 | 显示全部楼层
code area和data area都是flash区域,只是pc指针运行在code area范围内,指令执行时间是零等待,而pc指针运行到data area范围内,那么指令执行是有较长的等待时间的,也就是指令执行效率会降低
 楼主| dianhang 发表于 2021-1-30 13:25 | 显示全部楼层
勤劳的我 发表于 2021-1-30 10:16
code area和data area都是flash区域,只是pc指针运行在code area范围内,指令执行时间是零等待,而pc指针运 ...

比如我选择的型号是GD32F330CBT6,这个flash是64+64=128k,;我的代码大小是100k,他的flash也是可以存得下对吧?
勤劳的我 发表于 2021-1-30 13:45 | 显示全部楼层
dianhang 发表于 2021-1-30 13:25
比如我选择的型号是GD32F330CBT6,这个flash是64+64=128k,;我的代码大小是100k,他的flash也是可以存得下 ...

当然是可以存放的下的
 楼主| dianhang 发表于 2021-1-30 14:41 | 显示全部楼层
勤劳的我 发表于 2021-1-30 13:45
当然是可以存放的下的

好的 明白了  谢谢 你的解答
sonicll 发表于 2021-2-1 09:36 | 显示全部楼层
dianhang 发表于 2021-1-30 13:25
比如我选择的型号是GD32F330CBT6,这个flash是64+64=128k,;我的代码大小是100k,他的flash也是可以存得下 ...

可以放的下,但是你最好确保FLASH的后64K放的不是指令,而是常量之类的数据,因为FLASH后64K执行指令的速度不如前64K
imdx 发表于 2021-2-3 09:41 | 显示全部楼层
Code Area有SRAM缓存,访问0等待,速度快。
Data Area没有SRAM缓存,或者缓存极小,访问延迟时间很长,具体多长,官方文档没有说明。
Data Area就把它当一个内置的SPI FLASH就行了。
 楼主| dianhang 发表于 2021-2-8 13:49 | 显示全部楼层
imdx 发表于 2021-2-3 09:41
Code Area有SRAM缓存,访问0等待,速度快。
Data Area没有SRAM缓存,或者缓存极小,访问延迟时间很长,具体 ...

谢谢 你的解答
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

273

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部