当前位置: 首页 > news >正文

装修网站系统查看网站是用什么做的

装修网站系统,查看网站是用什么做的,阆中网站建设01hl,佛山专业做网站公司有哪些.map文件是STM32开发中非常重要的一个文件#xff0c;在该文件中可以详细的查看单个文件、函数及用户定义的全局变量等的占用RAM和ROM#xff08;一般为片内FLASH#xff09;的空间大小#xff0c;通过了解这些信息可以很方便的进行代码的优化。 在MDK5中#xff0c;生成….map文件是STM32开发中非常重要的一个文件在该文件中可以详细的查看单个文件、函数及用户定义的全局变量等的占用RAM和ROM一般为片内FLASH的空间大小通过了解这些信息可以很方便的进行代码的优化。 在MDK5中生成的.map文件包含的内容可以在Options for Target---Listing中如下界面中进行配置默认是全选的用户也可以根据自己的需求进行选择如只生成Total info信息。在配置好map生成选项后编译整个工程双击Project框中的项目名称即可打开.map文件。若使用的是STM32CubeMX生成的工程则可能双击无法打开.map文件具体解决方法参考这篇文章 在STM32CubeMX生成的MDK5工程上添加RT-Thread Nano后双击工程名无法打开.map文件的解决方法 默认生成的.map文件由以下几部分构成 1Section Cross References 该部分描述了不同函数之间可能在同或不同文件中的调用关系。 在.map中生成该部分信息需要勾选下图中的标签4 .map文件中生成的信息如下所示部分截图 第一行startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(STACK) for __initial_sp说明startup_stm32f103xb.o文件中的“RESET”段为它使用的__initial_sp引用了startup_stm32f103xb.o文件中的“STACK”段。 有时候在编译工程时会报错提示Undefined symbol xxx(referred from yyy.o)这表明在链接的过程中yyy.o文件中引用的xxx符号并没有被定义此时我们需要打开yyy.c或yyy.s文件查看xxx是否被定义没定义需加上定义。 .o文件是.c文件或.s文件编译后生成的目标文件各个文件及文件内的段是相互独立的链接器根据它们之间的相互引用将各文件链接起来。 2Removing Unused input sections from the image. 该部分描述了被MDK编译器优化掉的在链接过程中链接器发现的并未在工程中被引用的段或函数。这里需要注意的是这部分并非在.o文件中被删除的而是在链接器将这些.o文件链接生成.axf文件的过程中忽略掉这些无用部分只将有用到的部分添加进.axf文件如此可以有效的减少代码占用空间大小。 在.map中生成该部分信息需要勾选下图中的标签7 .map文件中生成的信息如下所示部分截图 在MDK中可以通过勾选Options for Target---C/C---One ELF Section per Function选项进行多余函数优化若不勾选该选项也会进行部分函数优化但不够彻底 下面通过实例说明勾选和不勾选One ELF Section per Function对生成的工程的影响 当勾选Options for Target---C/C中的One ELF Section per Function后在.map文件中生成的Removing Unused input sections from the image部分总结果如下 共优化了529个函数减少占用空间30270Bytes 当取消勾选Options for Target---C/C中的One ELF Section per Function后在.map文件中生成的Removing Unused input sections from the image部分总结果如下 共优化了121个函数减少占用空间3806Bytes 通过以上对比可发现勾选Options for Target---C/C---One ELF Section per Function相比于不勾选要减少代码空间为26464Byte30270 - 3806 。这部分优化的空间最终会体现在Program Size中的Code大小上60560 - 35716 24844Bytes因此该选项对工程代码的优化有很大的作用建议要勾选上这个选项。 3Image Symbol Table 该部分描述了Local Symbols和Global Symbols即局部标号和全局标号。 在.map中生成该部分信息需要勾选下图中的标签3 .map文件中生成的信息如下所示部分截图 Local Symbols主要指的是通过static声明的全局变量地址和大小.c文件中函数的地址和用static声明的函数代码的大小汇编文件中的作用域限定在本文件中的标号地址。如被限定在某个.c文件中使用的函数一般用static进行修饰防止和其它文件中的同名函数冲突如在某个函数内部通过static声明的变量虽然具有全局的生命周期但其只能在该函数中被访问。 Global Symbols主要是指不是用static声明的全局变量的地址和大小.c文件中和函数的地址及其代码大小汇编文件中作用域为全工程的标号地址。 4Memory Map of the image 该部分描述了映像文件的内存映射。 在.map中生成该部分信息需要勾选下图中的标签1 .map文件中生成的信息如下所示部分截图 映像文件分为加载域Load Region和执行域Execution Region 加载域反映了程序中各个段存放在ROMFLASH存储器中时的位置关系Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000ffb4, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x0000f744])中的Base表示程序从0x08000000处开始保存Size表示程序实际占用ROM一般为内部FLASH空间为0x0000ffb4 BytesMax表示芯片最大的ROM空间为0x00010000。 执行域是芯片上电后开始执行代码的时候的运行状态Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000ef94, Max: 0x00010000, ABSOLUTE)中的Base表示执行域从0x08000000处开始Size表示执行域空间大小为0x0000ef94 BytesMax表示芯片最大的ROM空间为0x00010000。 映像中的入口点Image Entry point是程序开始执行的地方为_main函数起始的地方而不是Reset_Handler。 RAM上的普通变量只需4字节对齐但是栈空间的边界需要8字节对齐。 5Image component sizes 该部分描述了映像文件的组件大小组件指的是单个的源文件因为一个项目工程是由很多个.c文件组成的。这里会列举单个.c文件所占用的空间大小RAM和ROM具体为Code、inc.data内联函数、RO-Data、RW-Data、ZI-Data并根据这些信息统计出程序占据的总RAM和ROM空间的大小。 在.map中生成该部分信息需要勾选下图中的标签5 Code代码段存放程序的代码部分RO-Data只读数据段存放程序中定义的常量RW-Data读写数据段存放初始化为非0值得全局变量ZI-Data0数据段存放初始化为0的全局变量或未初始化的全局变量程序运行时会对未初始化的全局变量自动清0 .map文件中生成的信息如下所示部分截图 从如上汇总信息可以看出整个程序下载到STM32的ROMFLASH中时占用的空间大小为从0x08000000开始的38440字节 (Code RO Data RW Data) 。当程序运行时占用的RAM空间大小为从0x20000000开始的11152字节(RW Data ZI Data)。 .map文件中名词的解释 section映像文件的代码和数据块RORead-Only包括RO-Data只读数据和RO-Code代码RWRead-Write指的是RW-Data即读写数据段存放初始化为非0值的全局变量ZIZero-Initialized指的是ZI-Data0数据段存放初始化为0的全局变量或未初始化的全局变量程序运行时会对未初始化的全局变量自动清0.text与RO-Code意义相同.constdata与RO-Data意义相同.bss与ZI-Data意义相同.data与RW-Data意义相同 htm文件 基本统计了所有被调用函数的栈stack的使用情况不考虑中断嵌套因为中断嵌套是不可预测的会给出函数调用时最大的栈深度如此可以方便评估究竟需要开辟多大的栈空间。 参考资料 安富莱MDK生成的map和htm文件分析 《ARM Cortex-M3与ARM Cortex-M4权威指南》第3版
http://www.sadfv.cn/news/394996/

相关文章:

  • 宽屏网站尺寸wordpress小工具文本加图片代码
  • 遵义微商城网站建设平台网站项目总体设计模板
  • 设计公司网站的要点最新网页版传奇游戏排行榜
  • 集团网站建设行业现状常德论坛网站
  • c 网站开发教程电商推广专员做什么
  • 如何把做的网站放到百度上wordpress大学最新模板下载地址
  • 网站建设丶金手指花总12汉阴做网站
  • 网站认证打款怎么做分录传统网站模版
  • 备案需要网站空间天天炫拍免费做相册管方网站下载
  • 织梦网站地图制作教程彩虹网站建设
  • 社群营销的方法和技巧seo优化软件有哪些
  • 仪征做网站公司工业设计相关网站
  • 功能型pc端网站框架线上营销策划案例
  • 如何设计制作网站广西区建设厅网站
  • 网站建设费属于哪个会计科目一个公司做两个网站有影响吗
  • 电子商务企业网站建设实训报告金乡网站建设哪家便宜
  • 建设手机网站大概要多少钱河南 医院 网站建设
  • 番禺网站建设哪里有网站建设好公司好
  • 婚纱摄影网站源码aspwordpress编辑器内容
  • 查询证书网站建设专业网站制作公司地址
  • 现货黄金什么网站可以做直播设计专业所需网站
  • 哪些网站是dz做的视频直播平台哪个好
  • 做兼职推荐网站网站实现隶书繁体
  • wordpress整站加密渠道网站
  • 百度网站介绍为什么明明有网却打不开网页
  • 淘宝客网站建站教程网络营销方式对营销人员的启示
  • 动漫网站实现功能郑州seo博客
  • 商城 网站有哪些功能模块百度关键词排名十大排名
  • 网站 数据备份物联网平台网站开发
  • 17网站一起做网店下载黑帽seo教程