针对瑞萨的RL78产品系列,主要使用的开发环境有CS+ FOR CA、CS+ FOR CC、e2 Studio。今天主要介绍下CS+ FOR CC对于未使用的函数的处理。
MCU的程序空间是很重要的资源,需要多方面考虑。在CS+ FOR CC的开发环境中,对于未使用的函数,编译默认是占用了程序空间的,如下图:
其中void Delay222(void) 这个函数是没有被调用的,通过编译生成的map文件可以看出还是分配了空间,R_main函数总占用0x21D字节空间,_Delay和_Delay222各占用0xA字节空间;
当然,对于出现这个问题,我们可以将不使用的函数注释或者删除掉,这里介绍另外一个方法来解决这个问题,需要按照如下3个步骤进行配置:
1
将Link Options---Output Code ---Specify execution start address按照下图修改:
修改前:
修改后:
2
将Compile options---Optimization(Details)---Output additional information for inter-module按照下图修改:
修改前:
修改后:
3
将Link options---Optimization---Optimization type按照下图修改:
修改前:
修改后:
通过进行如上的设置,重新编译再次查看map文件,r_main函数占用的总空间为0x20F字节空间,其中void Delay222(void)已经没有了(可以对照前面第二张图看),只看到已调用的_Delay函数分配的空间0x0A字节空间。
更多内容请扫描下方二维码查看:
1
END
1
往期推荐
1
RX24T电机驱动配置:单电阻采样(上)
2
基于RL78-FDL库实现RL78G13 Data Flash的读写操作
3
RX24T电机驱动配置:3电阻采样(上)
瑞萨电子 (TSE: 6723)
科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。
更多信息,敬请访问renesas.com
原文标题:CS+ for CC对于未使用的函数的处理
文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !