请选择 进入手机版 | 继续访问电脑版
查看: 89|回复: 6

[求助] STM32F030F4P6 HAL问题

[复制链接]

该用户从未签到

9

主题

252

帖子

31

蝴蝶豆

金牌会员

最后登录
2018-12-10
发表于 5 天前 | 显示全部楼层 |阅读模式
本帖最后由 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)
  {
  }
}

评分

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

查看全部评分

  ST全新域名已上线,大家奔走相告>>                    
回复

使用道具 举报

该用户从未签到

8

主题

484

帖子

246

蝴蝶豆

金牌会员

最后登录
2018-12-10
发表于 5 天前 | 显示全部楼层
本帖最后由 す疯Ⅱ恒す 于 2018-12-6 10:55 编辑

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

29

主题

848

帖子

9

蝴蝶豆

金牌会员

最后登录
2018-12-10
发表于 5 天前 | 显示全部楼层
换LL库,最省空间了

评分

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

查看全部评分

  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

252

帖子

31

蝴蝶豆

金牌会员

最后登录
2018-12-10
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 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左右,还可以接受的样子

详见https://blog.csdn.net/u011392772/article/details/42869859
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

252

帖子

31

蝴蝶豆

金牌会员

最后登录
2018-12-10
 楼主| 发表于 5 天前 | 显示全部楼层
す疯Ⅱ恒す 发表于 2018-12-6 10:54
把优化等级开最高试试吧。实在不行就换标准库吧。HAL是挺占空间的。另外hex文件大小与flash空间大小不等价 ...

优化等级开已经开最高了
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

19

主题

1039

帖子

64

蝴蝶豆

论坛元老

最后登录
2018-12-11
发表于 5 天前 | 显示全部楼层
不能看hex文件的大小,真正烧写的是BIN文件,应该以这个为准,HEX不是真正的二进制文件。
回复 支持 反对

使用道具 举报

该用户从未签到

19

主题

1383

帖子

23

蝴蝶豆

论坛元老

最后登录
2018-12-10
发表于 5 天前 | 显示全部楼层
HEX文件大小不是FLASH的大小,不能作为比较,你应该看编译器编译后的大小,一般编译信息里都有代码大小的,或者看BIN文件的大小
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|意法半导体STM32/STM8技术社区

GMT+8, 2018-12-11 06:59 , Processed in 0.077063 second(s), 8 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表