ST意法半导体
直播中

崔丹

7年用户 178经验值
私信 关注
[问答]

如何知道闪存代码和内存使用情况?

STVD - 宇宙 - 我如何知道闪存代码和内存使用情况?

以上来自于谷歌翻译


以下为原文



STVD - Cosmic - how do I know the flash code and ram usage?

回帖(4)

贾虎世

2019-5-8 15:36:06
点击查看 - >记忆
然后在顶部框中放入8000h以查看EEPROM内容和代码大小以及0000h以查看RAM大小。 ROM位于6000h(STM8S)。
 
brazov

以上来自于谷歌翻译


以下为原文





click on View -> Memory
then in the top box put 8000h to see EEPROM content and code size and 0000h to see RAM size. ROM is located at 6000h (STM8S).


brazov
举报

谭齐慧

2019-5-8 15:45:36
地图文件的前几行包含您要查找的所有信息。

以上来自于谷歌翻译


以下为原文







the first few lines of the map file contain all the info you are looking for.
举报

崔丹

2019-5-8 16:04:43
我找了.map但是不能理解它,所以我问Cosmic支持他们回复给我:
 
 
> .text,.const和.vector是ROM
> .bsct,.ubsct,.data和.bss都是RAM
> 。信息。和.debug是不使用目标资源/内存的符号表。
 
 
 我注意到我的代码大小约为3K,我只是使用STD Lib的GPIO,TIM2和UART来切换带有中断的LED。我正在编译发布代码大小优化,我没有使用断言,printfs或大的东西。哪里可以浪费这么大的尺寸?!

以上来自于谷歌翻译


以下为原文





I've look for .map but can't understand it much, so I asked Cosmic support and they reply it to me:


> .text, .const and .vector are ROM
> .bsct, .ubsct, .data and .bss are all RAM
> .info. and .debug are symbol tables that do not use target resources/memory.

  
I notice that my code is about 3K size, and I'm just using GPIO, TIM2 and UART from STD Lib to toggling a LED with interrupts. I'm compile for release with code size optimization, i'm not using asserts, printfs or something big. where can it be wasting so much size?!
举报

崔丹

2019-5-8 16:13:53
我在STD Lib文档中找到了:
 
 
 “由于标准外设库是通用的,涵盖了所有外设功能,因此可能无法优化应用程序代码的大小和/或执行速度。”
 
 
 ''例如,要使Cosmic编译器具有最小的代码大小,应启用以下选项(标准外围设备库模板项目中使用的默认配置):
+ compact:产生较小的代码但比默认行为慢。
+ split:为每个函数创建一个单独的子部分,从而允许链接器从最终的应用程序映像中删除未使用的函数和变量。

以上来自于谷歌翻译


以下为原文





I've found in STD Lib documentation:


''Since the Standard Peripherals Library is generic and covers all peripheral functionalities, the size and/or execution speed of the application code may not be optimized.''

  
''As example, for Cosmic compiler to have the smallest code size the following options should be enabled (default configuration used in Standard Peripherals Library template project):

+compact: produce a smaller code but slower than the default behavior.

+split: create a separate sub-section per function thus allowing the linker to remove unused functions and variables from the final application image.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分