CS+ for CC对于未使用的函数的处理

描述

 

           

针对瑞萨的RL78产品系列,主要使用的开发环境有CS+ FOR CA、CS+ FOR CC、e2 Studio。今天主要介绍下CS+ FOR CC对于未使用的函数的处理。

 

MCU的程序空间是很重要的资源,需要多方面考虑。在CS+ FOR CC的开发环境中,对于未使用的函数,编译默认是占用了程序空间的,如下图:

mcu

 

其中void Delay222(void) 这个函数是没有被调用的,通过编译生成的map文件可以看出还是分配了空间,R_main函数总占用0x21D字节空间,_Delay和_Delay222各占用0xA字节空间;

mcu

 

当然,对于出现这个问题,我们可以将不使用的函数注释或者删除掉,这里介绍另外一个方法来解决这个问题,需要按照如下3个步骤进行配置:

 

1

将Link Options---Output Code ---Specify execution start address按照下图修改:

修改前:

mcu

修改后:

mcu

 

2

将Compile options---Optimization(Details)---Output additional information for inter-module按照下图修改: 

修改前:

mcu

修改后:

mcu

 

3

将Link options---Optimization---Optimization type按照下图修改:

修改前:

mcu

修改后:

mcu

 

通过进行如上的设置,重新编译再次查看map文件,r_main函数占用的总空间为0x20F字节空间,其中void Delay222(void)已经没有了(可以对照前面第二张图看),只看到已调用的_Delay函数分配的空间0x0A字节空间。

mcu  

 

更多内容请扫描下方二维码查看:

mcu

 

1

END

1

 

往期推荐

 

1

RX24T电机驱动配置:单电阻采样(上)

 

2

基于RL78-FDL库实现RL78G13 Data Flash的读写操作

 

3

RX24T电机驱动配置:3电阻采样(上)

 

瑞萨电子 (TSE: 6723) 

科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。

更多信息,敬请访问renesas.com

 


原文标题:CS+ for CC对于未使用的函数的处理

文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分