【经验】芯海科技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调试。
【经验】在keil中添加芯海MCU CS32A010K8V7的支持包
本文将介绍在keil中添加芯海MCU CS32A010K8V7的支持包,芯海科技推出的CS32A010K8V7是一款32Pin脚的ARM 32位构架Cortex-M0核的MCU,内置64K Flash,1路SPI、2路USART支持FIFO等丰富的资源。
【经验】实战芯海CS32F031C8T6 MCU使用GCC编译器的startup.s启动文件
本文将以芯海推出的32位MCU CS32F031C8T6为例,给大家分享一个startup.s文件,希望帮助有需要使用GCC开发芯海CS32F031C8T6产品的各位小伙伴。
芯海科技CS32F061:集成12位DAC高性价比信号链MCU,具有丰富的模拟特性,满足高精度需要
芯海科技32位通用MCU系列全新推出集成12位DAC的高性价比信号链MCU芯片CS32F061。这款MCU具备丰富的模拟特性,内置可编程逻辑单元,可简化硬件设计,是高精度数据处理及灵活信号链设计的嵌入式系统的理想选择,在电动工具、电源管理、工业控制及通信等领域拥有广泛应用前景。
芯海科技CST92F42:高性价比BLE MCU,实现60帧流畅刷屏!
芯海科技CST92F42是一款高集成、低功耗的BLE5.1 MCU。该产品搭载高性能32位MCU内核并支持硬件浮点,内置64KB SRAM、512KB Flash,支持所有蓝牙LE V5.1特性,拥有丰富的功能外围单元,同时集成高效的电源管理。
【应用】芯海MCU CS32L010F8U6用于电子烟,封装为QFN20(3mm*3mm),运行频率24MHz
芯海的MCU CS32L010F8U6在电子烟中的应用,它是一款内嵌 32 位 ARM® Cortex®-M0 内核的超低功耗微控制器,最高可运行在24MHz,内置 64K 字节的嵌入式 Flash,4K 字节的 SRAM,具有高整合度、高抗干扰、高可靠性及高性价比等优势。
CS32L010 ARM® Cortex®-M0 32-bit ultra-low power consumption microcontroller Datasheet
型号- CS32L010F8K6,CS32L010,CS32L010F8U6
CS32F103x8/xB 基于 Arm ® Cortex ®-M3 内核的32位微控制器数据手册
型号- CS32F103VBT7T,CS32F103,CS32F103CBT7,CS32F103XB 系列,CS32F103X8,CS32F103C8T7,CS32F103VBT7,CS32F103C8T7-LQFP48,CS32F103X8 系列,CS32F103RBT7-LQFP64,CS32F103RBT7,CS32F103VBT7-LQFP100,CS32F103XB,CS32F103CBT7-LQFP48
芯海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
|
选型表 - 芯海 立即选型
【经验】芯海科技通用32位MCU有效规避意外掉电的硬件设计方案
本文以芯海科技MCU CS32L010F8U6为例,简述在进行硬件设计的时候如何有效规避因为意外掉电而造成工作异常的方案。在进行硬件电路设计的时候,我们可以在单片机供电引脚上接一个电容到GND以存储电量,防止芯片意外掉电
【经验】解析芯海科技32位MCU CS32F031G8U6在keil中新建工程的相关操作步骤
CS32F031G8U6是芯海科技推出的一款针对光模块应用的MCU解决方案,内部集成的温度传感器线性误差为+/-3℃,适用于10G 、25G、100G部分类型的光模块应用。本文介绍32位MCU CS32F031G8U6在keil中新建工程的相关操作步骤。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可定制PCB最高层数:32层;板材类型:罗杰斯高频板/泰康尼高频板/ZYF中英天线板/F4B高频板/高频电路板/高频混压板/高频纯压板等;最大加工尺寸:609*889mm。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论