|
本帖最后由 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) { } } |
微信公众号
手机版
把优化等级开最高试试吧。实在不行就换标准库吧。HAL是挺占空间的。另外hex文件大小与flash空间大小不等价,需要看编译后的信息看看占了多大flash。
评分
查看全部评分
评分
查看全部评分
谢谢,我找到答案了,占用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
优化等级开已经开最高了
评分
查看全部评分
评分
查看全部评分