搜索
查看: 1450|回复: 6

[已解决] STM32F030F4P6 HAL问题

[复制链接]

该用户从未签到

22

主题

563

帖子

41

蝴蝶豆

金牌会员

最后登录
2023-9-24
发表于 2018-12-6 10:07:13 | 显示全部楼层 |阅读模式
本帖最后由 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

查看全部评分

回复

使用道具 举报

该用户从未签到

9

主题

744

帖子

287

蝴蝶豆

论坛元老

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

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

30

主题

1058

帖子

12

蝴蝶豆

金牌会员

最后登录
2021-11-9
发表于 2018-12-6 10:57:13 | 显示全部楼层
换LL库,最省空间了

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

22

主题

563

帖子

41

蝴蝶豆

金牌会员

最后登录
2023-9-24
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

22

主题

563

帖子

41

蝴蝶豆

金牌会员

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

优化等级开已经开最高了
回复 支持 反对

使用道具 举报

该用户从未签到

37

主题

2167

帖子

32

蝴蝶豆

论坛元老

最后登录
2023-2-9
发表于 2018-12-6 12:07:15 | 显示全部楼层
不能看hex文件的大小,真正烧写的是BIN文件,应该以这个为准,HEX不是真正的二进制文件。

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

19

主题

1473

帖子

27

蝴蝶豆

论坛元老

最后登录
2021-11-17
发表于 2018-12-6 13:18:08 | 显示全部楼层
HEX文件大小不是FLASH的大小,不能作为比较,你应该看编译器编译后的大小,一般编译信息里都有代码大小的,或者看BIN文件的大小

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 02:15 , Processed in 0.180423 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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