切换到宽版
  • 12862阅读
  • 20回复

[STM]STM32运行于RAM的最简便配置方法 [复制链接]

上一主题 下一主题
离线98xpj
 

发帖
475
M币
4925
专家
7
粉丝
32
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2017-01-10
借鉴于有些大神将STM32运行于RAM中的成功经验,改进了需要进入调试才能运行的繁琐操作。
运行RAM跑程序的主要好处就是不用频繁写芯片flash,直接运行于RAM程序,更加快捷方便。
不说其他了,直接放教程
首先将底层程序写入MCU的Flash,可以通过JLINK或STLINK写入,底层程序见附件。
然后运行,此时主板上所有PA、PB、PC、PD的灯都会快速全闪,表明运行在底层程序中。如有串口1可输出字符(波特率115200)
该底层程序主要的作用就是:当主板重新上电时不会跑飞,因为RAM程序还没有下载进去,只能依托于底层程序运行,
当RAM程序通过keil下载后即可运行。
同时也可以测试电路是否正常。

转入正题,打开自己任意能正常运行工程文件。固件大小最好小于16384(0x4000),这个在keil可以看到;
配置Options for Target

然后修改IROM1,IRAM1的起始地址和大小,这样保证程序大小控制在0x4000内,如需要更大可进行修改IROM,同样IRAM也相应修改。
让IROM和IRAM地址不要冲突。

配置中断向量,其实这里的配置主要是针对“向量表”,比如中断向量表。如果不宏定义VECT_TAB_SRAM这个参数,测试串口通讯就会出错。


再就是修改下载jlink或stlink的配置

看下图,需要修改设置不擦写,Ram地址必须与IRAM一样,strart 芯片固件地址设置为和IROM一样即可

然后就编译程序Rebuild,最后直接Download下载运行。

哈哈,看如何?就相当于直接写入flash运行一样的道理,要的就是简单方便。
附件:底层文件





[ 此帖被98xpj在2017-01-10 20:25重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共9条打赏M币+27
离线mousebat04

发帖
16458
M币
8980
专家
10
粉丝
92
只看该作者 1楼 发表于: 2017-01-10
请登录后查看
本帖最近打赏记录:共2条打赏M币+6
离线搅搅震

发帖
8831
M币
7012
专家
3
粉丝
43
只看该作者 2楼 发表于: 2017-01-10
请登录后查看
本帖最近打赏记录:共2条打赏M币+6
离线tian_000

发帖
5060
M币
440
专家
0
粉丝
14
只看该作者 3楼 发表于: 2017-01-10
请登录后查看
本帖最近打赏记录:共2条打赏M币+6
离线acd1024

发帖
1100
M币
682
专家
1
粉丝
11
只看该作者 4楼 发表于: 2017-01-10
请登录后查看
本帖最近打赏记录:共1条打赏M币+3
离线2545889167

发帖
13268
M币
20754
专家
302
粉丝
4860
只看该作者 5楼 发表于: 2017-01-10
请登录后查看
本帖最近打赏记录:共3条打赏M币+9
离线98xpj

发帖
475
M币
4925
专家
7
粉丝
32
只看该作者 6楼 发表于: 2017-01-10
回 2545889167 的帖子
请登录后查看
离线whty2010

发帖
526
M币
922
专家
6
粉丝
51
只看该作者 7楼 发表于: 2017-01-10
请登录后查看
离线renpeng009

发帖
324
M币
3196
专家
9
粉丝
47
只看该作者 8楼 发表于: 2017-01-10
请登录后查看
离线98xpj

发帖
475
M币
4925
专家
7
粉丝
32
只看该作者 9楼 发表于: 2017-01-10
回 whty2010 的帖子
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个