头上两只角 发表于 2014-4-15 17:06:24

K60关于debug和release的却别(已解决)

本帖最后由 FSL_TICS_Robin 于 2014-5-4 12:51 编辑

他们之间有什么区别能说一下吗?

cmheia 发表于 2014-4-15 17:14:41

{:sweat:}这个跟k60没啥关系,都是ide干的

FSL_TICS_Robin 发表于 2014-4-16 09:09:20

一个是仿真调试(根据编译器调试界面按钮操作执行程序),一个是直接把程序烧录到芯片内自动运行。
你想问什么方面的区别?

头上两只角 发表于 2014-4-16 13:08:39

FSL_TICS_Robin 发表于 2014-4-16 09:09
一个是仿真调试(根据编译器调试界面按钮操作执行程序),一个是直接把程序烧录到芯片内自动运行。
你想问 ...

也都是下到单片机里了吧。。。。那个更好些呢。

FSL_TICS_Robin 发表于 2014-4-16 15:02:23

头上两只角 发表于 2014-4-16 13:08
也都是下到单片机里了吧。。。。那个更好些呢。

debug调试可以放RAM或Flash里运行程序

调试可以让你更快找到bug,你直接烧进去就全速运行了,遇到问题很难定位。

sgj245609615 发表于 2014-4-16 15:06:18

了解下         

时光倒退 发表于 2014-4-16 15:46:54

我以前玩51单片机时没有在线仿真,都是直接程序烧进去根据IO状态或串口信息来调试的。
我觉得楼主肯定不想这么调试吧?

fengyunyu 发表于 2014-8-31 20:48:47

一般是ide的option不同,或者像iar的下,两者分散加载文件不同等。

浪里白条 发表于 2014-8-31 20:53:50

一般调试是用DEBUG咯。

浪里白条 发表于 2014-8-31 20:56:24

fengyunyu 发表于 2014-8-31 20:48
一般是ide的option不同,或者像iar的下,两者分散加载文件不同等。

请教下分散加载是什么意思/?

fengyunyu 发表于 2014-8-31 20:58:48

浪里白条 发表于 2014-8-31 20:56
请教下分散加载是什么意思/?

分散加载,iar下开发的话,用来指定flash大小,ram大小,启动位置等

lzl000 发表于 2014-8-31 21:00:25

楼上正解

浪里白条 发表于 2014-8-31 21:24:11

fengyunyu 发表于 2014-8-31 20:58
分散加载,iar下开发的话,用来指定flash大小,ram大小,启动位置等

感谢回复,看了下分散加载的原理,就是让一部分程序COPY到RAM中运行,一部分仍旧在ROM中运行
一般哪些程序需要COPY到RAM中运行呢?

fengyunyu 发表于 2014-8-31 21:37:35

浪里白条 发表于 2014-8-31 21:24
感谢回复,看了下分散加载的原理,就是让一部分程序COPY到RAM中运行,一部分仍旧在ROM中运行
一般哪些程 ...

并不是一定要拷贝到ram中运行,这个要看设计要求。比如要更新整个flash区的,一般就需要在ram中运行一段程序。

浪里白条 发表于 2014-8-31 21:39:05

fengyunyu 发表于 2014-8-31 21:37
并不是一定要拷贝到ram中运行,这个要看设计要求。比如要更新整个flash区的,一般就需要在ram中运行一段 ...

原来如此,感谢回复。

829xuming 发表于 2014-8-31 21:41:31

长见识了

lzscan 发表于 2014-8-31 21:52:02

如果研究地不深,我感觉没什么区别

sunnyqd 发表于 2014-8-31 22:03:58

其实实际用的时候,没发现有多大区别。。。。

浪里白条 发表于 2014-8-31 22:11:51

sunnyqd 发表于 2014-8-31 22:03
其实实际用的时候,没发现有多大区别。。。。

分散加载您用过没有。?

sunnyqd 发表于 2014-8-31 22:25:21

浪里白条 发表于 2014-8-31 22:11
分散加载您用过没有。?

FLASH里面执行,一样的分散加载文件

浪里白条 发表于 2014-8-31 22:34:37

本帖最后由 浪里白条 于 2014-8-31 22:35 编辑

sunnyqd 发表于 2014-8-31 22:25
FLASH里面执行,一样的分散加载文件

在RAM里执行是为了提高执行速度,但是在FLASH里执行并不能提高速度啊,这又是有何用途?

wangpengcheng 发表于 2014-8-31 22:44:41

其实这个挺简单的,DEBUG版本呢,里面有一些DEBUG用的一些程序,而RELEASE呢就是将DEBUG程序去掉了,编译的结果小一些,你可以这么理解,调试的时候用DEBUG,生产烧录的时候用RELEASE,当然,你在IDE中要进行宏定义!玩过VC就知道了,呵呵,VC里面就分这两种版本,这个应该是借鉴VC中的这种方法来的!

cn_x 发表于 2014-8-31 22:47:17

这个也是我的疑问,看到这么多讨论,学习了

taojie 发表于 2014-8-31 22:51:35

一般都是DEBUG吧,再加个超级终端

sunnyqd 发表于 2014-9-1 09:26:15

浪里白条 发表于 2014-8-31 22:34
在RAM里执行是为了提高执行速度,但是在FLASH里执行并不能提高速度啊,这又是有何用途? ...

RAM执行不一定会提高执行速度的,祥看我以前的帖子,不过是用STM32F4测得

wangpengcheng 发表于 2014-9-1 10:13:19

浪里白条 发表于 2014-8-31 22:34
在RAM里执行是为了提高执行速度,但是在FLASH里执行并不能提高速度啊,这又是有何用途? ...

呵呵,用途参看你楼下我发的那个贴!你在MQX里面试一下就知道了,DEBUG版本编译出来的比RELEASE的多十几二十K呢!

浪里白条 发表于 2014-9-1 10:26:43

sunnyqd 发表于 2014-9-1 09:26
RAM执行不一定会提高执行速度的,祥看我以前的帖子,不过是用STM32F4测得

好滴,感谢回复

浪里白条 发表于 2014-9-1 10:27:18

wangpengcheng 发表于 2014-9-1 10:13
呵呵,用途参看你楼下我发的那个贴!你在MQX里面试一下就知道了,DEBUG版本编译出来的比RELEASE的多十几 ...

好滴,这就去看看

wangpengcheng 发表于 2014-9-1 10:34:38

浪里白条 发表于 2014-9-1 10:27
好滴,这就去看看

话说你的飞币涨的太快了,眼看就五位数了,等等我啊!{:lol:}

浪里白条 发表于 2014-9-1 10:36:49

wangpengcheng 发表于 2014-9-1 10:34
话说你的飞币涨的太快了,眼看就五位数了,等等我啊!

等您的几个帖子一加精,马上就换TOWER啦{:titter:}

wangpengcheng 发表于 2014-9-1 10:46:22

浪里白条 发表于 2014-9-1 10:36
等您的几个帖子一加精,马上就换TOWER啦

呵呵,能不能加精再说啦,现在还得努力追啊!

javabean 发表于 2014-9-1 11:13:32

wangpengcheng 发表于 2014-9-1 10:46
呵呵,能不能加精再说啦,现在还得努力追啊!

积分高的遥不可及啊……
看来towner不够多啊,竞争者众

wangpengcheng 发表于 2014-9-1 11:18:03

javabean 发表于 2014-9-1 11:13
积分高的遥不可及啊……
看来towner不够多啊,竞争者众

呵呵,不管能不能拿到,反正努力过就好!

javabean 发表于 2014-9-1 11:28:34

wangpengcheng 发表于 2014-9-1 10:13
呵呵,用途参看你楼下我发的那个贴!你在MQX里面试一下就知道了,DEBUG版本编译出来的比RELEASE的多十几 ...

感觉和windows或linux类似,debug还会生成相应的符号信息,方便汇编和程序进行对应,这样不仅可以找到断点,单步执行时也可以正确的指出每一步的位置和相应的堆栈

wangpengcheng 发表于 2014-9-1 13:05:45

javabean 发表于 2014-9-1 11:28
感觉和windows或linux类似,debug还会生成相应的符号信息,方便汇编和程序进行对应,这样不仅可以找到断 ...

应该是这样的1

头上两只角 发表于 2014-9-1 17:53:39

哦。。。。。。

湛泸骏驰 发表于 2014-9-1 17:54:39

学习了。。。

sunnyqd 发表于 2014-9-2 13:38:53

javabean 发表于 2014-9-1 11:28
感觉和windows或linux类似,debug还会生成相应的符号信息,方便汇编和程序进行对应,这样不仅可以找到断 ...

是的,map 文件有明显的区别
页: [1]
查看完整版本: K60关于debug和release的却别(已解决)