最近移植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小时内删除。
留言与评论(共有 0 条评论) |