你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

MDK开One ELF Section Function,DAC就不工作

[复制链接]
为什么是EEFOCUS小白 提问时间:2015-8-19 11:16 /
MDK开One ELF Section Function,DAC就不工作,优化等级0
收藏 评论10 发布时间:2015-8-19 11:16

举报

10个回答
党国特派员 回答时间:2015-8-19 14:47:01
编译器在处理一个 c 文件的时候呢,如果这个选项不选,那么这个C文件中的所有函数在编译后只会产生一个叫 .text 的输出节
AREA ||.text||, CODE, READONLY, ALIGN=2

如果选了呢,那么每个函数将会产生一个输出节,如果你用C写了一个叫PRTL_HeadGet()的函数,那么编译器将会产生一个叫 i.PRTL_HeadGet 的输出节,具体如下。
                          AREA ||i.PRTL_HeadGet||, CODE, READONLY, ALIGN=2

                  PRTL_HeadGet PROC
;这样的话,编译器产生的输出节,粒度小多了,便于找到没有使用的函数,将它从最后输出文件中删除。这样,你最后产生的可执行文件大小将会变小。
你能你的重要代码代码编译器认为没有使用,删除了。
joe_chen 回答时间:2015-8-19 15:28:31
就单单DAC功能不能用?最近我也发现这个功能,代码缩减10k左右,RTC 、ADC、SD功能一直正常。
Johnson Cao 回答时间:2015-8-19 16:07:24
是不是有什么中断函数,没有调用的地方,被优化掉了.
moyanming2013 回答时间:2015-8-19 17:21:28
学习了。。。
stary666 回答时间:2015-8-19 21:25:27
看看,,,,,,,,,,
为什么是EEFOCUS小白 回答时间:2015-8-20 09:48:22
党国特派员 发表于 2015-8-19 14:47
编译器在处理一个 c 文件的时候呢,如果这个选项不选,那么这个C文件中的所有函数在编译后只会产生一个叫 . ...

但是这个函数是调用了的,为什么会被优化掉呢
为什么是EEFOCUS小白 回答时间:2015-8-20 09:49:42
wuwovicky 发表于 2015-8-19 15:28
就单单DAC功能不能用?最近我也发现这个功能,代码缩减10k左右,RTC 、ADC、SD功能一直正常。 ...

方便试下DAC么
为什么是EEFOCUS小白 回答时间:2015-8-20 09:49:59
Johnson Cao 发表于 2015-8-19 16:07
是不是有什么中断函数,没有调用的地方,被优化掉了.

没有使用中断函数
JackieLaura 回答时间:2015-8-20 10:20:49
没有遇到过这种问题,看大拿给解决办法。。。
stmcu.org.png
党国特派员 回答时间:2015-8-20 15:50:06
你最好跟一下,可能是哪个宏没有定义之类的。
我前段时间遇到类似的问题,就是因为某个宏没有定义。没有编译进来。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版