硬汉嵌入式论坛

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

stm32f429怎么让程序在片外的SDRAM中跑?

[复制链接]

1

主题

0

回帖

3

积分

新手上路

积分
3
发表于 2014-4-4 15:08:46 | 显示全部楼层 |阅读模式
想把程序从片内FLASH启动,将片外NOR FLASH中的应用加载到片外SDRAM中,然后跳转到片外SDRAM程序地址执行,可总是跳转不成功?
有哪位做过类似的项目,敬请指教。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2014-4-4 16:21:00 | 显示全部楼层
暂时还没有研究过
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2014-9-30 10:46:47 | 显示全部楼层
我也没成功[s:144]
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2014-11-20 13:10:57 | 显示全部楼层
http://www.amobbs.com/thread-5603439-1-1.html 参考下我的帖子看看吧
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2014-11-20 16:54:50 | 显示全部楼层

回 jayjiang 的帖子

jayjiang:http://www.amobbs.com/thread-5603439-1-1.html 参考下我的帖子看看吧 (2014-11-20 13:10) 
[s:151]  [s:151]  [s:151]
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
QQ
发表于 2015-11-17 11:09:20 | 显示全部楼层
有没有测试过,stm32f429的Sdram究竟可以跑多快
冬天来了,春天还会远吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2015-11-17 11:45:42 | 显示全部楼层

回 jungleyang 的帖子

jungleyang:
有没有测试过,stm32f429的Sdram究竟可以跑多快
曾经使用F429探索版做的测试
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=15112


每次写入32位数据
测试速度是:320MB/4.401s = 72.7MB/S
    uint32_t i, n;
    uint32_t *pBuf;

    iTime1 = bsp_GetRunTime();    /* 记下开始时间 */
    for (n = 0; n < 80; n++)
    {
        pBuf = (uint32_t *)SDRAM_BANK_ADDR;
        for (i = 0; i < 1024*1024; i++)
        {
            *pBuf++ = 0x55AA55AA;
        }
    }
    iTime2 = bsp_GetRunTime();    /* 记下结束时间 */
==================================================
每次写入16位数据
测试速度是:160MB/3.820s = 41.88MB/S

    uint32_t i, n;
    uint16_t *pBuf;

    iTime1 = bsp_GetRunTime();    /* 记下开始时间 */
    for (n = 0; n < 80; n++)
    {
        pBuf = (uint16_t *)SDRAM_BANK_ADDR;
        for (i = 0; i < 1024*1024; i++)
        {
            *pBuf++ = 0x55AA;
        }
    }
    iTime2 = bsp_GetRunTime();    /* 记下结束时间 */
==================================================
每次写入8位数据
测试速度是:80MB/3.298s = 24.32MB/S

    uint32_t i, n;
    uint16_t *pBuf;

    iTime1 = bsp_GetRunTime();    /* 记下开始时间 */
    for (n = 0; n < 80; n++)
    {
        pBuf = (uint16_t *)SDRAM_BANK_ADDR;
        for (i = 0; i < 1024*1024; i++)
        {
            *pBuf++ = 0x55AA;
        }
    }
    iTime2 = bsp_GetRunTime();    /* 记下结束时间 */
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-13 02:44 , Processed in 0.039463 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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