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

STM32F030F4P6 HAL问题

[复制链接]
jyl_518 提问时间: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个回答
疯de_恒 回答时间: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

查看全部评分

jyl_518 回答时间: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
jyl_518 回答时间:2018-12-6 11:52:46
す疯Ⅱ恒す 发表于 2018-12-6 10:54
把优化等级开最高试试吧。实在不行就换标准库吧。HAL是挺占空间的。另外hex文件大小与flash空间大小不等价 ...

优化等级开已经开最高了
andey 回答时间:2018-12-6 12:07:15
提示: 作者被禁止或删除 内容自动屏蔽
队长shiwo 回答时间:2018-12-6 13:18:08
HEX文件大小不是FLASH的大小,不能作为比较,你应该看编译器编译后的大小,一般编译信息里都有代码大小的,或者看BIN文件的大小

评分

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

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版