tiancaigao7 发表于 2012-7-12 20:44:43

STM32F4+RTT1.0.2,编译报错:Image$$ER_ZI$$ZI$$Limit未定义

如题,我今天将1.0.2移植到了我的F407的核心板上,结果发现,只要我使能了#define RT_USING_HEAP,就会报告Image$$ER_ZI$$ZI$$Limit;未定义。但是我并没有定义__CC_ARM这个宏。同样的程序,在103的板子上就没有问题。请教一下大家这个问题应该如何解决?

lgnq 发表于 2012-7-13 09:17:43

使用了 KEIL 编译器就会有 CC_ARM 的定义

定义 RT_USING_HEAP,就会使用RTT的内存管理,所以要把空闲的内存起始地址(&Image$$ER_ZI$$ZI$$Limit)和结束地址告诉RTT
&Image$$ER_ZI$$ZI$$Limit 是在 sct file 里面设置的

请按照下图设置即可


PS:你用的KEIL版本是什么?我用KEIL 4.53编译没有报错啊。

tiancaigao7 发表于 2012-7-13 10:08:22

我用的是MDK4.54,最新版。下面那个图片就是我的编译信息以及对应的设置。我想知道这个起始地址是不是MDK自动设定好的?不需要我们认为设定吧。

lgnq 发表于 2012-7-13 10:21:12

tiancaigao7 发表于 2012-7-13 10:08 static/image/common/back.gif
我用的是MDK4.54,最新版。下面那个图片就是我的编译信息以及对应的设置。我想知道这个起始地址是不是MDK自 ...

对,是在 scart file 里面定义的
请再修改 startup.c
用 Image$$RW_IRAM1$$ZI$$Limit 代替 Image$$ER_ZI$$ZI$$Limit
页: [1]
查看完整版本: STM32F4+RTT1.0.2,编译报错:Image$$ER_ZI$$ZI$$Limit未定义