泰勒soc 发表于 2024-1-8 13:18:38

FLASH 大小 怎么判断是否够用?

先上图,这是我的keil编译的程序信息,怎么计算我的程序占用了多少flash?





王昱顺 发表于 2024-1-8 13:26:06

可以查看编译信息,const+code就是占用的代码空间大小了
比如你这个占用的大小就是23+8302=8325,如果使用8k的存储最大存储是8192,就超了
会出现一些奇奇怪怪的问题

泰勒soc 发表于 2024-1-8 13:52:41

王昱顺 发表于 2024-1-8 13:26
可以查看编译信息,const+code就是占用的代码空间大小了
比如你这个占用的大小就是23+8302=8325,如果使用8 ...


keil里面如果把多个简单模块合并在一起,能不能减少程序大小,或者有没有其他的减少程序大小的方法?

Snapdragon 发表于 2024-1-8 14:51:30

泰勒soc 发表于 2024-1-8 13:52
keil里面如果把多个简单模块合并在一起,能不能减少程序大小,或者有没有其他的减少程序大小的方法?

...

1、更改编译器的优化等级(等否减少代码体积取决于你目前的优化等级)
2、手动优化代码,合并重复的代码、优化代码数量等。

QQ624353765 发表于 2024-1-8 15:01:58



const+code不代表实际使用flash大小,参考ISP代码长度为准,因为代码并不是连续的,代码里有很多FF,这些地方都是空代码,而这些空代码keil并未统计

wangxiangtan 发表于 2024-1-8 15:28:17

真没研究过

_奶咖君_ 发表于 2024-1-8 15:40:24


通过查看hex文件 确实入楼上所说,可以看到 代码不是连续的占用code空间。我的代码一共少了5个字节
从下面的编译信息来看 const+code=24216 加上 这断开的5个字节 一共24221字节


与这里显示的字节数相同。

应该可以印证楼上的结论

xxkj2010 发表于 2024-1-8 19:09:37

QQ624353765 发表于 2024-1-8 15:01
const+code不代表实际使用flash大小,参考ISP代码长度为准,因为代码并不是连续的,代码里有很多FF,这些 ...
以前我有一次偶然的机会也发现这个问题,然后百思而不得其解,如今算明白了!

jwd 发表于 2024-1-8 20:34:35

_奶咖君_ 发表于 2024-1-8 15:40
通过查看hex文件 确实入楼上所说,可以看到 代码不是连续的占用code空间。我的代码一共少了5个字节
从下面 ...

{:4_250:},以前还真没有注意过

noonezero 发表于 2024-1-15 14:03:17

QQ624353765 发表于 2024-1-8 15:01
const+code不代表实际使用flash大小,参考ISP代码长度为准,因为代码并不是连续的,代码里有很多FF,这些 ...

{:4_250:}
页: [1] 2
查看完整版本: FLASH 大小 怎么判断是否够用?