切换到宽版
  • 8700阅读
  • 23回复

[ARM]STM32:将运行代码装入RAM中运行问题和实现 [复制链接]

上一主题 下一主题
在线2545889167

发帖
12799
M币
15513
专家
288
粉丝
4679
只看该作者 10楼 发表于: 2017-11-01
正解。gd的ram设计的很蛋疼,只有flash的一半。所以剩下的一半flash还是存点数据什么的好一些
本帖最近打赏记录:共1条打赏M币+20
离线qiuchen0403

发帖
5811
M币
8221
专家
3
粉丝
17
只看该作者 11楼 发表于: 2017-11-01
回 2545889167 的帖子
2545889167:正解。gd的ram设计的很蛋疼,只有flash的一半。所以剩下的一半flash还是存点数据什么的好一些 (2017-11-01 00:46) 回 2545889167 的帖子

是的,这就对代码容量有限制。
听说GD32F2XX的Ram做的非常大,超过了FLASH的容量,从而解决了这个问题。不知道把FLASH作为临时数据存储的时候,会不会出问题。
离线qiuchen0403

发帖
5811
M币
8221
专家
3
粉丝
17
只看该作者 12楼 发表于: 2017-11-01
GD的RAM是不是挂在外部SRAM总线上没有研究过,个人觉得RAM的速度决定了它的实际读写速度肯定比FLASH高,所以肯定比FLASH运行速度快。
如果确实挂在外部SRAM总线上的话,确实可以理解为什么GDF32在RAM中运行比他默认的FLASH中运行慢了,可能是他们把默认运行状态做了优化。
离线网络孤客

发帖
424
M币
6109
专家
12
粉丝
17
只看该作者 13楼 发表于: 2017-11-01
厉害,学习了,谢谢。
本帖最近打赏记录:共1条打赏M币+13
在线mousebat04

发帖
15905
M币
7974
专家
8
粉丝
83
只看该作者 14楼 发表于: 2017-11-01
我用gd32 的ram跑串口,不死呀。很正常。
本帖最近打赏记录:共1条打赏M币+20
离线huaweiwx

发帖
1285
M币
3512
专家
57
粉丝
244
只看该作者 15楼 发表于: 2017-11-01
回 mousebat04 的帖子
mousebat04:我用gd32 的ram跑串口,不死呀。很正常。 (2017-11-01 13:31) 回 mousebat04 的帖子

原来一直以为是GD的问题,谢谢你提醒!我重新排查了一下,找到原因了:
ARDUINO ide  V1.8.4 以下版本,打开/关闭串口会设置DTR/RTS,而这会使mcu复位,本该ram运行,但给它弄得启动模式错误;
在1.8.5 新版本中可以关闭DTR/RTS的自动设置,我将其关闭后就正常了。

我用的 GD32F103VET6 是一块 和ATKMINI兼容的板子,上面用PL2302转串口;碰到了 arduino ide 的问题;
而 STM32F103VET6 则是用 jlink v2.1上的虚拟串口,没有DTR/RTS;
在线mousebat04

发帖
15905
M币
7974
专家
8
粉丝
83
只看该作者 16楼 发表于: 2017-11-01
回 huaweiwx 的帖子
huaweiwx:谢谢提醒!
我找到原因了,是ARDUINO ide  的原因,在 arduino V1.8.4 以下版本,打开/关闭串口会设置DTR/RTS,而这会使mcu复位,本该ram运行,但给它弄得模式错误;
在1.8.5 新版本中可以关闭DTR/RTS的自动设置,我将其关闭后就正常了。 (2017-11-01 15:18) 回 huaweiwx 的帖子

原来如此。我还在qq上面给你发ram工程呢。
离线jcdzxh

发帖
1392
M币
8496
专家
9
粉丝
49
只看该作者 17楼 发表于: 2017-11-01
我的测试是ram运行慢
离线huaweiwx

发帖
1285
M币
3512
专家
57
粉丝
244
只看该作者 18楼 发表于: 2017-11-01
回 jcdzxh 的帖子
jcdzxh:我的测试是ram运行慢 (2017-11-01 22:04) 回 jcdzxh 的帖子

是ST还是GD? 是F1xxx系列吗?
离线jcdzxh

发帖
1392
M币
8496
专家
9
粉丝
49
只看该作者 19楼 发表于: 2017-11-02
STM32F103,
RAM取指宽度32位,而且与RAM变量要竞争总线,测试在RAM中跑要慢些,
比如:
loop1
    subs r0,#1
    bne loop1
如果bne指令没有和上一条指令处于同一个字地址,还要慢1CK的取指等待,实测,证实取指宽度是32位。
附一张2月前的测试图,不肯定准确。
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共1条打赏M币+20