IAR的ICF文件

阅读: 评论:0

IAR的ICF文件

IAR的ICF文件

        最近移植TinyXml测试时,发现对于小的xml文件解析完全正常,对于大的xml总是莫名死机,进行跟踪调试发现解析XML文件

到固定行后就死机,刚好该行对应new一个新的对象,因而考虑是系统heap资源不足,遂查看ICF配置。

    1) 用法举例: define  symbol  __ICFEDIT_region_DDRAM_start__ = 0x20000000;

                                作用:定义符号__ICFEDIT_region_DDRAM_start__的值为0x20000000

    2) 用法举例: export  symbol  __ICFEDIT_size_heap__ ;

                                作用:导出符号__ICFEDIT_size_heap__,使其对外可用

    3) 用法举例:define  memory  mem  with  size  =  4G;

                                作用:定义名字为mem的内存空间大小是4G字节

     4)用法举例:define  region  DDRAM_region  =  mem:[from  符号  size  符号]   或

                               define  region  RAM_region  =  mem:[from  符号  to      符号]

                                作用:定义符号RAM_region的在内存空间的存储区域为...起止地址

      5)用法举例:define  block  HEAP  with  alignment = 8,size = __ICFEDIT_size_heap__  { };

                                作用:定义一个HEAP地址块,8字节对齐,大小__ICFEDIT_size_heap__

      6)用法举例:initialize by copy { section  .intvec };

                                作用:程序启动时自动执行.intvec段的初始化,by copy表示启动时自动执行初始化

      7)用法举例:do not  initialize { section .noinit }

                                作用:程序启动时不要执行.noinit段的初始化

      8)用法举例:place at  start of  ROM { section .cstart}

                                作用:把指定的.cstart段放置在ROM的起始位置

      9)用法举例:palce  in  DDRAM_region { block HEAP, block CSTACK} 

                                作用:把指定的HEAP和CSTACK段放置在DDRAM_region空间

 

     最终,通过加大HEAP空间的大小,解决TinyXML加载大的XML文件死机的问题。

本文发布于:2024-02-04 11:01:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170705681754987.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   IAR   ICF
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23