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

STM32F030F4P6 HAL问题

[复制链接]
jyl518-283289 提问时间:2018-12-6 10:07 /
本帖最后由 jyl518-283289 于 2018-12-6 10:10 编辑

STM32CubeMX 5.0.0环境下,
STM32F030F4P6+HAL,仅生成一些初始接串口工作,
但编译后发现HEX文件大小14KBytes,
STM32F030F4P6总共就16KByte的ROM,
占了这么多空间,写应用的空间几乎没了?
请教下大家,用HAL都是占这么大的空间吗?怎么初始化代码空间?

STM32CubeMX 生成后的代码就以下这些。
#include "main.h"
SPI_HandleTypeDef hspi1;
UART_HandleTypeDef huart1;

void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
static void MX_SPI1_Init(void);

int main(void)
{
   HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_USART1_UART_Init();

  while (1)
  {
  }
}

评分

参与人数 1 ST金币 +20 收起 理由
STMCU + 20

查看全部评分

收藏 评论6 发布时间:2018-12-6 10:07

举报

6个回答
す疯Ⅱ恒す 回答时间:2018-12-6 10:54:27
本帖最后由 す疯Ⅱ恒す 于 2018-12-6 10:55 编辑

把优化等级开最高试试吧。实在不行就换标准库吧。HAL是挺占空间的。另外hex文件大小与flash空间大小不等价,需要看编译后的信息看看占了多大flash。

评分

参与人数 1ST金币 +5 蝴蝶豆 +2 收起 理由
STMCU + 5 + 2

查看全部评分

海迹天涯 回答时间:2018-12-6 10:57:13
换LL库,最省空间了

评分

参与人数 1ST金币 +3 蝴蝶豆 +1 收起 理由
STMCU + 3 + 1

查看全部评分

jyl518-283289 回答时间:2018-12-6 11:51:37
本帖最后由 jyl518-283289 于 2018-12-6 12:04 编辑

谢谢,我找到答案了,占用ROM空间的代码不能似HEX文件为准,
而要参考编译结果:
Program Size: Code=4772 RO-data=232 RW-data=8 ZI-data=1240  让keil直接生成Bin文件,大小在5KByte左右,还可以接受的样子

详见http://blog.csdn.net/u011392772/article/details/42869859
jyl518-283289 回答时间:2018-12-6 11:52:46
す疯Ⅱ恒す 发表于 2018-12-6 10:54
把优化等级开最高试试吧。实在不行就换标准库吧。HAL是挺占空间的。另外hex文件大小与flash空间大小不等价 ...

优化等级开已经开最高了
andeyqi 回答时间:2018-12-6 12:07:15
不能看hex文件的大小,真正烧写的是BIN文件,应该以这个为准,HEX不是真正的二进制文件。

评分

参与人数 1ST金币 +5 蝴蝶豆 +2 收起 理由
STMCU + 5 + 2

查看全部评分

队长shiwo 回答时间:2018-12-6 13:18:08
HEX文件大小不是FLASH的大小,不能作为比较,你应该看编译器编译后的大小,一般编译信息里都有代码大小的,或者看BIN文件的大小

评分

参与人数 1ST金币 +4 蝴蝶豆 +2 收起 理由
STMCU + 4 + 2

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版