RTT1.0.2版的F4例程无法使用heap

10 views
Skip to first unread message

tianc...@163.com

unread,
Jul 12, 2012, 8:30:16 PM7/12/12
to rt-threa...@googlegroups.com
如题,我现在将RTT的1.0.2版一直到了我的F407核心版上。编译发现报错:STM32F4_RTT_LED.axf: Error: L6218E: Undefined symbol Image$$ER_ZI$$ZI$$Limit (referred from startup.o).。但是我并没有定义__CC_ARM。之后我将RT_USING_HEAP这个宏屏蔽掉,就可以编译成功。但是同样的例程我是用F103就没有关系。希望各位大侠可以帮忙指导一下,如何解决这个问题。

bernard

unread,
Jul 12, 2012, 8:44:59 PM7/12/12
to rt-threa...@googlegroups.com

请参考ART程序,如果工程确实有问题请提供补丁


~~from android phone

吴洋勇

unread,
Jul 12, 2012, 11:03:31 PM7/12/12
to rt-threa...@googlegroups.com
楼主也算是老人了,从最开始到现在的邮件看,长进很快。
不过有时候发的问题依然没有自己先做思考哦,而且连发两个。

RT-Thread里面heap目前的作法是:
1.把所有可用的RAM全当做heap.

2.RAM的结束地址是我们事先根据硬件型号得到的,且暂时也无法从连接时的时候得到。
所以一般在board.h中事先定义这个结束地址。

3.可用的空闲内存地址是变化的,所以通过链接时来确定,也就是上面的 Image$
   F4里面变得不可用是因为MDK新版本的名称换掉了,而最开始建立F4的移植时是老版本的。
   所以根据所使用的版本的MDK的链接文件里面的名称修改一下即可。
--
吴洋勇

tiancaigao7

unread,
Jul 12, 2012, 11:08:27 PM7/12/12
to rt-threa...@googlegroups.com
感谢楼主的批评指正。在大家的帮助下已经搞定了,没想到MDK里面更换了名称。另外对于MDK的之前没有太多的研究。以后要多关注一下编译软件。

--
精诚所至,金石为开,我的征途是星辰海洋!
Reply all
Reply to author
Forward
0 new messages