OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 37223|回复: 30

话说很少人会把代码下到stm32的RAM里面调试吧?不过还是弄个教程是上来给需要的人参考参考吧。

[复制链接]

3

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2010-12-3
在线时间
0 小时
发表于 2011-1-24 11:51:11 | 显示全部楼层 |阅读模式
我用的教程是这个附件。
其实我也不喜欢在RAM中调试。
可是我老板强烈要求。。说他以前用过一个号称可以刷写1k次得芯片。结果30次就当了。。还检查了好久才发现。
为了杜绝这个。。还是在ram中调试比较好。。。。。。。。。

顺他意思吧。。

我自己的设置跟教程不大一样,具体效果也能调试,不过还是对这些选项存疑的。

1.首先是对RAM.ini的修改
如图



加红线部分,必须在项目的根目录,之前试过好像./object/STM3210E-EVAL.axf是无法进入调试模式的。
这个教程也没有教要改。。貌似不改是不能进去调试的。看脚本就知道。就是自动进入main函数的脚本,载入axf错误会进入不了指定的main函数.


具体修改axf文件生成的目录可以通过optiion for target页面的output页面中的Select Folder For Object来设置

2.我不知道调试的时候代码写进stm32之前是不是一定要擦除,鉴于flash调试模式下是一定要擦除的,我在jtag设置这里选择了擦除。试验过一下,无论擦除与否,效果貌似都是一样的。不过我还是保险起见,选择了擦除,毕竟我只是骗keil把sram当做flash。(欢迎这里拍砖。。我不是很懂调试的机制)


,,还有个,这里我也选择了写进flash里面。。。不知道这几个动作是不是画蛇添足。。。反正没出什么问题



3.接着就是最要紧得地方了。在stm32的库里面有几个关于flash基地址和sram基地址的宏定义,我这个不知道该不该改。之前调试没问题。。可是要对内存和flash操作的时候这里会不会出错???。。。。。。。这个等待大虾来指点一下

4.有的时候因为芯片的sram内容丢失,调试的时候却不能发现sram已经清空,会调试不成功的。这时候可以选择download to flash选项就可以把内容下载到芯片上,重新调试就可以了。

5.如果平时调试操作途中出错,可以手动复位,然后download to flash就可以继续调试了。















Keil MDK 3.5 Jlink V8 在STM32中SRAM 调试成功方法成功.pdf.pdf

362.84 KB, 下载次数: 3857

厚积薄发,笨鸟先飞
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2011-1-24 11:56:18 | 显示全部楼层
回复【楼主位】rmbass:
-------------------------------
非常好,回头我测试一下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2011-2-6
在线时间
1 小时
发表于 2011-2-6 15:09:08 | 显示全部楼层
回复【楼主位】rmbass:
-------------------------------
我就是用这种办法调试,实际上就是把SRAM内部划分成虚拟的RAM和ROM,使得调试速度非常的快,但生成的代码不能超过SRAM的最大容量,空间划分可以在target里设定。
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2011-2-6
在线时间
1 小时
发表于 2011-2-6 15:09:39 | 显示全部楼层
回复【2楼】正点原子:
-------------------------------
第一次注册此论坛,正点原子前辈加油。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2011-2-7 13:05:18 | 显示全部楼层
回复【4楼】scat-01:
-------------------------------
多谢!祝您新春快乐!兔年身体健康,财源广进!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
金钱
274
注册时间
2011-2-12
在线时间
36 小时
发表于 2011-2-12 14:20:04 | 显示全部楼层
谢谢,已经这样用了好久了
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2011-3-20
在线时间
2 小时
发表于 2011-3-20 20:45:17 | 显示全部楼层
这种调试很不错的,我用了一段时间了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2011-4-28
在线时间
0 小时
发表于 2011-4-28 20:36:37 | 显示全部楼层
我有点疑问,
如果不用 JTAG, 只使用串口方式ISP,
可否将程序直接写到 RAM 中运行, 
而不写 flash ?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2011-4-28 21:42:58 | 显示全部楼层
回复【8楼】zsm:
-------------------------------
应该可以的.有个ramisp的选项.好像.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2011-4-28
在线时间
0 小时
发表于 2011-4-30 01:29:18 | 显示全部楼层
老大可否给提示下?
在哪里?
用的哪个工具?
回复 支持 反对

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2010-12-3
在线时间
0 小时
 楼主| 发表于 2011-5-5 17:42:19 | 显示全部楼层
回复【10楼】zsm:
-------------------------------
我是实用jtag v8的
厚积薄发,笨鸟先飞
回复 支持 反对

使用道具 举报

14

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-3-2
在线时间
8 小时
发表于 2012-5-10 11:36:41 | 显示全部楼层


回复 支持 反对

使用道具 举报

14

主题

88

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-3-2
在线时间
8 小时
发表于 2012-5-10 11:37:18 | 显示全部楼层
我是按照楼主的那个方法设置的,可是点击debug,会出现上面图中的这个错误,这是怎么回事呢?
回复 支持 反对

使用道具 举报

3

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2012-7-19
在线时间
63 小时
发表于 2013-12-7 23:29:54 | 显示全部楼层
我特意上来回复这个问题

首先,ram.ini这个文件中  axf文件那行可以不用,在debug标签下 选择 load application at startup即可

再者,内存调试是不需要闪存编程算法的,因为内存是可以直接读写的  选择下面的 using external tool。。。  就可以了


我一开始也犯过lz的错误,后来在一个例程上看到的这样的方法,怪我没有仔细研读mdk的手册
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-8-19
在线时间
0 小时
发表于 2014-8-22 21:22:38 | 显示全部楼层
回复【12楼】正在输入...:
---------------------------------
前辈,我也遇到了这样的问题。不知道您是怎样解决的??
回复 支持 反对

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2015-1-24
在线时间
38 小时
发表于 2015-3-23 14:32:17 | 显示全部楼层
回复【11楼】rmbass:
---------------------------------
我用的KEIL 5 在根目录里怎么没有RAM.ini呢
回复 支持 反对

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2015-1-24
在线时间
38 小时
发表于 2015-3-23 15:33:21 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
我用的KEIL 5 在根目录里怎么没有RAM.ini呢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-23 19:17:56 | 显示全部楼层
回复【17楼】alanke:
---------------------------------
没搞过这个。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2015-1-24
在线时间
38 小时
发表于 2015-3-24 19:26:10 | 显示全部楼层
回复【18楼】正点原子:
---------------------------------
对了,我每次写程序都要下载到单片机观察现象, 即使是修改一个参数也会习惯的如此,但是下载速度很慢,急人1、我想问,总是这样不停的操作,会不会对片子有影响,我也看过许多帖子说反复擦写可以达到10K,我觉得有点悬 2、原子哥写程序的时序是不是也是下载很多很多次才达到自己想要的效果!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-24 23:03:56 | 显示全部楼层
回复【19楼】alanke:
---------------------------------
当然,我有调试利器:USMART。
省事的很。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-24 23:04:43 | 显示全部楼层
写F4这种级别的综合实验,估计也就下载过一千来次吧。没具体统计了 ,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2015-5-10
在线时间
1 小时
发表于 2015-5-10 16:26:09 | 显示全部楼层
原子哥,我买的是战舰板子,有个问题
咱们买的板子送了串口ISP线,但是没有送Jtag的线。
然后FLASH的擦写是有限制的,想请问,可以通过串口ISP的方式进行ram调试么?
对于这个问题,我看到原子哥的答案是
1:好像可以有ispram调试方式,不知道您是否可以说具体一点?或者出个教程。。小白并不知道。
2:提到了USMART是仿真利器,请教具体是如何操作的呢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-5-10 22:53:41 | 显示全部楼层
回复【22楼】w825349706:
---------------------------------
不可以。
usmart使用,可以看我们的例程,有专门一个例程讲解。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-12-1
在线时间
88 小时
发表于 2015-8-10 10:03:49 | 显示全部楼层
我试过了,成功运行在RAM里,但是只能是超级循环模式才正常,我用uc/OS-II测试就卡死了,楼主试一下怎么回事?
回复 支持 反对

使用道具 举报

22

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-5-4
在线时间
34 小时
发表于 2015-11-2 16:51:05 | 显示全部楼层
mark!!!!
回复 支持 反对

使用道具 举报

15

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-8-8
在线时间
34 小时
发表于 2016-10-25 23:56:56 | 显示全部楼层
myxiaoniao 发表于 2013-12-7 23:29
我特意上来回复这个问题

首先,ram.ini这个文件中  axf文件那行可以不用,在debug标签下  ...

我直接用你的方法 选择  Use External Tool for Flash  Programming  是不行的。
回复 支持 反对

使用道具 举报

15

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-8-8
在线时间
34 小时
发表于 2016-10-25 23:57:19 | 显示全部楼层
myxiaoniao 发表于 2013-12-7 23:29
我特意上来回复这个问题

首先,ram.ini这个文件中  axf文件那行可以不用,在debug标签下  ...

是不是还得设置其他的
回复 支持 反对

使用道具 举报

3

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2012-7-19
在线时间
63 小时
发表于 2016-10-26 09:46:26 | 显示全部楼层
刘飞月 发表于 2016-10-25 23:57
是不是还得设置其他的

那肯定有,首先你这编译的代码区得写成内存地址,我之前的说法是指调试下载时选那个,因为写ram调试器是直接可以访问的
回复 支持 反对

使用道具 举报

15

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-8-8
在线时间
34 小时
发表于 2016-10-26 09:59:48 | 显示全部楼层
myxiaoniao 发表于 2016-10-26 09:46
那肯定有,首先你这编译的代码区得写成内存地址,我之前的说法是指调试下载时选那个,因为写ram调试器是 ...

我已经按照楼主的方法设置成功,可以在ram中运行成功。只是按照Use External Tool for Flash  Programming 来运行时,不能成功。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2019-8-6
在线时间
1 小时
发表于 2019-8-6 09:12:21 | 显示全部楼层
谢谢楼主,附件是v7的版本。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2018-7-12
在线时间
1 小时
发表于 2020-5-27 17:38:38 | 显示全部楼层
谢谢分享,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 03:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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