<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Computer, Electron and Technology &#187; 编译</title>
	<atom:link href="http://www.donevii.com/post/tag/%e7%bc%96%e8%af%91/feed" rel="self" type="application/rss+xml" />
	<link>http://www.donevii.com</link>
	<description>DoneVII CET &#38; CPPLITE</description>
	<lastBuildDate>Wed, 02 Jun 2010 10:45:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>L6218E: Image$$ZI$$Limit</title>
		<link>http://www.donevii.com/post/582.html</link>
		<comments>http://www.donevii.com/post/582.html#comments</comments>
		<pubDate>Tue, 21 Oct 2008 01:46:12 +0000</pubDate>
		<dc:creator>gavinkwoe</dc:creator>
				<category><![CDATA[mtk]]></category>
		<category><![CDATA[L6218E]]></category>
		<category><![CDATA[编译]]></category>

		<guid isPermaLink="false">http://www.donevii.com/?p=582</guid>
		<description><![CDATA[昨天遇到一个十分麻烦的问题，我把MTK编译时遇到这样的错误： Error : L6218E: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o). Not enough information to produce a SYMDEFs file. 而没有这三个： Not enough inf... ]]></description>
			<content:encoded><![CDATA[<p>昨天遇到一个十分麻烦的问题，我把<a href="http://www.donevii.com/post/tag/mtk" class="st_tag internal_tag" rel="tag" title="Posts tagged with mtk">MTK</a>编译时遇到这样的错误：<br />
Error : <a href="http://www.donevii.com/post/tag/l6218e" class="st_tag internal_tag" rel="tag" title="Posts tagged with L6218E">L6218E</a>: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o).<br />
Not enough information to produce a SYMDEFs file.<br />
而没有这三个：<br />
Not enough information to list image symbols.<br />
Not enough information to list the image map.<br />
Not enough information to list the image sizes and/or totals.</p>
<p>网上只有两种解释，是这样：<br />
1. reimplement __user_initial_stackheap()<br />
解决办法大概意思是重新装配__user_initial_stackheap()函数。</p>
<p>2.分配内存的时候,要分配内存的结构中使用了ARM不支持的数据类型.通常定义了结构体的指针，然后用</p>
<p>malloc分配空间时为结构体类型指针，而ARM不支持这种数据类型，所以会有这种错误。解决办法：用</p>
<p>typedef预定义这个结构类型，使得编译器识别这种类型。</p>
<p>第一种方法离我太远，应该不会涉及到；<br />
第二种方法试过，没用，但我也大概知道方向是malloc函数的问题。</p>
<p>今天终于解决：<br />
这个问题是由于代码或者Lib中调用了 C Lib的malloc或者类似于strdup，printf 这样的会调用malloc的</p>
<p>C Lib function 引起的。<a href="http://www.donevii.com/post/tag/mtk" class="st_tag internal_tag" rel="tag" title="Posts tagged with mtk">MTK</a> Platform不支持 C lib的malloc，而用 Ctrl Buffer机制代替了malloc，</p>
<p>以便于调试memory leak问题。<a href="http://www.donevii.com/post/tag/mtk" class="st_tag internal_tag" rel="tag" title="Posts tagged with mtk">MTK</a>中的Osl层有专门处理内存的函数，于是我想，我用malloc是跳过Osl层</p>
<p>直接分配内存，这样没有经过系统处理，危险性大。所以我用系统自带的OslMalloc和OslMfree来处理内</p>
<p>存空间，问题解决。</p>

	<h4>相关文章</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.donevii.com/post/568.html" title="山寨机教父蔡明介:联发科10年迅速崛起的秘诀 (2008-10-15)">山寨机教父蔡明介:联发科10年迅速崛起的秘诀</a> (0)</li>
	<li><a href="http://www.donevii.com/post/387.html" title="[转]嵌入式系统 Boot Loader 技术内幕 (2008-01-14)">[转]嵌入式系统 Boot Loader 技术内幕</a> (0)</li>
	<li><a href="http://www.donevii.com/post/389.html" title="[转]AT指令集及S寄存器 (2008-01-16)">[转]AT指令集及S寄存器</a> (0)</li>
	<li><a href="http://www.donevii.com/post/475.html" title="[转] 嵌入式系统中的模块动态加载技术 (2008-09-11)">[转] 嵌入式系统中的模块动态加载技术</a> (0)</li>
	<li><a href="http://www.donevii.com/post/479.html" title="[转] 嵌入式单地址空间中实现动态加载的过程 (2008-09-11)">[转] 嵌入式单地址空间中实现动态加载的过程</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.donevii.com/post/582.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
