【经验】芯海科技32位MCU CS32L010的代码占用Flash空间的优化方法


在嵌入式开发中,一般会尽量去降低各个器件的成本。对于MCU来说,大容量的Flash往往就意味着更高的价格,这就要求软件工程师要尽可能的降低编译后的程序占用的空间大小。本文主要介绍一种芯海科技32位MCU CS32L010的代码占用Flash空间的优化方法。
首先任意打开一个CS32L010的例程,如下图:
对其进行编译,结果如下:
打开“Options for Target ……”界面,在“C/C++”选项卡中可以此时看到采用的代码优化等级为“Level 0 (-O0)”。如下图
将优化等级改为“Level 1 (-O1)”,如下图
此时进行编译,结果如下
可以看到编译后的code大小由5380缩小到了4160。此时将代码优化等级改改为“Level 0 (-O2)”,如下图:
此时编译结果如下
可以看到code的大小进一步缩减到了3912。当代码占用空间过大时,可以通过调整代码优化等级来缩小代码占用空间。关于代码优化等级,在debug的时候可以采用“Level 0 (-O0)”,这样方便在任意位置打断点。在发布代码的时候推荐选用“Level 1 (-O1)”或者“Level 2 (-O2)”,可以占用更小的Flash空间。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由黄昏提供,版权归开云手机入口平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:开云手机入口平台”。
相关推荐
【经验】芯海科技CS32L010开发环境搭建及demo程序获取与jlink调试
芯海科技CS32L010是一款内嵌32位ARM Cortex-M0内核的超低功耗微控制器,使用Keil MDK作为开发环境,调试工具为jlink,通过SWD接口下载调试程序。本文主要介绍CS32L010的开发环境搭建以及demo程序的获取与jlink调试。
【经验】以芯海32位MCU CS32F035F6P7为例介绍如何通过ISP上位机软件进行Flash的读写保护
ISP(在系统上编程)是一种常用的下载或者升级程序的方式,通常会选择使用UART进行操作。本文以芯海32位MCU CS32F035F6P7为例介绍通过上位机软件CS32 ISP Programmer进行Flash读写保护的方法。
【经验】如何使用芯海官方ISP上位机软件CS32 ISP Programmer下载程序
ISP(在系统上编程)是一种常用的下载或者升级程序的方式,通常会选择使用UART进行下载。CS32 ISP Programmer是芯海科技推出的一款通用的上位机软件,支持芯海全部的32位MCU。本文以CS32F035F6P7为例介绍使用CS32 ISP Programmer给芯海MCU下载程序的方法。
OPPO Find X8 Ultra全球首发,芯海第四代压感交互的旗舰拍照体验升维
芯海科技作为全球压感技术的引领者,旗下第四代压感系列芯片产品,创新实现高可靠的压力触控人机交互,更加精准捕捉用户操作,具备更强的抗干扰能力,助力客户产品实现技术与艺术的完美融合。
【经验】实战芯海CS32F031C8T6 MCU使用GCC编译器的startup.s启动文件
本文将以芯海推出的32位MCU CS32F031C8T6为例,给大家分享一个startup.s文件,希望帮助有需要使用GCC开发芯海CS32F031C8T6产品的各位小伙伴。
芯海科技通过国家级“专精特新”小巨人企业复核!始终坚持“模拟信号链+MCU”双擎驱动
近日,国家工业和信息化部完成第三批专精特新“小巨人”企业复核工作。芯海科技成功通过复核,资质有效期将延长至2027年8月,标志着公司在技术创新、市场竞争力和行业影响力等方面,再次获得国家级的高度认可和肯定。
【经验】芯海科技通用32位MCU有效规避意外掉电的硬件设计方案
本文以芯海科技MCU CS32L010F8U6为例,简述在进行硬件设计的时候如何有效规避因为意外掉电而造成工作异常的方案。在进行硬件电路设计的时候,我们可以在单片机供电引脚上接一个电容到GND以存储电量,防止芯片意外掉电
【选型】国产MCU CS32F030替代STM32F030,2~5.5V宽压供电,-40~105℃工作温度范围更广
STM32F030系列是意法半导体最受欢迎的M0处理器MCU之一,最近因为疫情、贸易战等综合因素影响,ST的供货周期无限拉长,价格也水涨船高。国产MCU芯海科技CS32F030系列可以替代STM32F030系列,宽压供电,工作温度范围更广,解决ST缺货涨价问题。
CS32L010 ARM®Cortex®-M0 32位超低功耗微控制器规格书
CS32L010是一款基于32位ARM®Cortex®-M0内核的超低功耗微控制器,具有64K字节闪存和4K字节SRAM,集成了多种外设接口,如12位ADC、RTC、比较器、多通道UART、SPI、I2C和PWM等。该产品适用于多种应用场景,如电子烟、可穿戴设备、个人护理产品等。
芯海 - MICROCONTROLLER,32位超低功耗微控制器,微控制器,MCU,32-BIT ULTRA-LOW POWER CONSUMPTION MICROCONTROLLER,单片机,CS32L010F8K6,CS32L010,CS32L010F8U6,WEARABLE DEVICES,ELECTRONIC CIGARETTE,电子烟,穿戴式设备,消费者,PERSONAL CARE PRODUCTS,个人护理产品,CONSUMER
【应用】芯海科技32位MCU CS32L010F8U6用于美眼仪,最高主频24MHz
根据美眼仪的应用需求,本文推荐采用国产芯海科技推出的32位MCU CS32L010F8U6为主控。该MCU最高主频24MHz,工作温度范围-40~+85℃,2.5~5.5V的工作电压,也被广泛应用于控制器,手持设备,GPS平台,PC外设等。
芯海科技CST92F42:高性价比BLE MCU,实现60帧流畅刷屏!
芯海科技CST92F42是一款高集成、低功耗的BLE5.1 MCU。该产品搭载高性能32位MCU内核并支持硬件浮点,内置64KB SRAM、512KB Flash,支持所有蓝牙LE V5.1特性,拥有丰富的功能外围单元,同时集成高效的电源管理。
芯海32位MCU选型表
芯海32位MCU选型表包括常规32位MCU、32位低功耗MCU、32位车规MCU。该选型表的Core包括M0和M3两种,内含型号是芯海科技基于Arm® Cortex®-M内核、高可靠性的32位通用微控制器。 包括多款产品,内嵌Flash存储器,集成高性能ADC、丰富的模拟外设、适用于工业控制的高级定时器和通信接口,满足工业应用的质量和可靠性标准,被广泛用于工业控制、汽车电子、智能家居等领域。
产品型号
|
品类
|
Core
|
Freq.(MHz)
|
Flash(Bytes)
|
SRAM(Bytes)
|
IO
|
Adv.Timer
|
16bit GP Timer
|
SysTick
|
FWDT/WWDT
|
UART
|
SPI
|
I2C
|
12bit ADC Units(ch)
|
Temp.Sensor
|
Operating Temp.(℃)
|
Supply Voltage(V)
|
Package
|
CS32F030F6P6-RA
|
32位MCU
|
M0
|
48MHz
|
32KBytes
|
4KBytes
|
15
|
1
|
5
|
1
|
1/1
|
4
|
1
|
1
|
1(9)
|
Y
|
-40℃~85℃
|
2.0V~5.5V
|
TSSOP20
|
【经验】如何解决芯海2.05版本pack包自带USART例程USART_Interrupt中的小BUG?
芯海2.05版本的PACK中就提供了USART_Interrupt这么一个使用中断发送和接收的例程,但是官方提供的这个例程是有BUG的,下面我们一起来看下,再一起分析讨论下解决的方案。
CS32L010数据手册
CS32L010是一款基于ARM® Cortex®-M0内核的低功耗微控制器,具备64KB Flash存储器和4KB SRAM。它集成了多种外设接口,包括ADC、RTC、比较器、UART、SPI、I2C和PWM等,适用于各种低功耗应用场景。
芯海 - 微控制器,超低功耗微控制器,CS32L010F8K6,CS32L010系列,CS32L010,CS32L010F8U6,CS32L010E8U6,游戏平台,A/V接收器,工业应用,控制器,数字TV,PC外设,手持设备,GPS平台
电子商城
现货市场
服务市场

可定制丙烯酸酯胶粘剂的粘度范围:250~36000 mPa·s,硬度范围:50Shore 00~85Shore D,其他参数如外观颜色,固化能量等也可按需定制。
最小起订量:1 提交需求>

支持铲齿散热器鳍片最大加工厚度0.1-10mm,最大宽度600mm,铝挤散热器鳍片最小铝挤厚度5mm,最小鳍片间距1cm;定制散热器产品工艺有热管焊接,穿片,打磨,铲齿,铝挤及CNC加工修边飞面等。
最小起订量:2pcs 提交需求>
登录 | 立即注册
提交评论