打印

求助!MC68HC908JL8芯片的编译问题

[复制链接]
4093|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
silentdonkey|  楼主 | 2010-8-22 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟是新手。最近在用MC68HC908JL8做实验。这款芯片和匠人的那本书里是一个型号。我使用从网上下载的codewarrior 6.2(不知如何**)进行编译,被告知out of allocation space in segment RAM at address 0X14A.
segments定义如下:
SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
    Z_RAM                    =  READ_WRITE   0x0060 TO 0x00FF;
    RAM                      =  READ_WRITE   0x0100 TO 0x015F;
    ROM                      =  READ_ONLY    0xDC00 TO 0xFBFF;
/* INTVECTS                 =  READ_ONLY    0xFFDE TO 0xFFFF; Reserved for Interrupt Vectors */
END
敢问大侠,是不是我用的codewarrior受限,只能编译这么多代码?有什么方法能找到没限制的codewarrior?如果找不到,有没有其他的什么开发环境能够支持MC68HC908JL8芯片?
期盼高手能帮小弟解答。拜谢!

相关帖子

沙发
ayb_ice| | 2010-8-23 09:13 | 只看该作者
不会的,没有**也是32K限制的
你是否重新建立的项目呢?

使用特权

评论回复
板凳
BitFu| | 2010-8-23 10:51 | 只看该作者
要么用的内存过多,减少一下全局变量试一下

使用特权

评论回复
地板
silentdonkey|  楼主 | 2010-8-23 18:51 | 只看该作者
本帖最后由 silentdonkey 于 2010-8-23 18:52 编辑

2# ayb_ice
是的。是在原有代码基础上建立的新项目。
Project.prm内容如下:
SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
    Z_RAM                    =  READ_WRITE   0x0060 TO 0x00FF;
    RAM                      =  READ_WRITE   0x0100 TO 0x015F;
    ROM                      =  READ_ONLY    0xDC00 TO 0xFBFF;
/* INTVECTS                 =  READ_ONLY    0xFFDE TO 0xFFFF; Reserved for Interrupt Vectors */
END
PLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */
    DEFAULT_RAM                         /* non-zero page variables */
                                        INTO  RAM;
    _PRESTART,                          /* startup code */
    STARTUP,                            /* startup data structures */
    ROM_VAR,                            /* constant variables */
    STRINGS,                            /* string literals */
    VIRTUAL_TABLE_SEGMENT,              /* C++ virtual table segment */
    DEFAULT_ROM,
    COPY                                /* copy down information: how to initialize variables */
                                        INTO  ROM;
    _DATA_ZEROPAGE,                     /* zero page variables */
    MY_ZEROPAGE                         INTO  Z_RAM;
STACKSIZE 0x30
VECTOR 0 _Startup

END

使用特权

评论回复
5
silentdonkey|  楼主 | 2010-8-23 18:55 | 只看该作者
本帖最后由 silentdonkey 于 2010-8-23 19:01 编辑

project.map文件中关于地址的安排如下
*********************************************************************************************
STARTUP SECTION
---------------------------------------------------------------------------------------------

*********************************************************************************************
SECTION-ALLOCATION SECTION
Section Name                    Size  Type     From       To       Segment
---------------------------------------------------------------------------------------------
.abs_section_ffd0                  1     R     0xFFD0     0xFFD0   .absSeg0
.abs_section_0                     1   N/I        0x0        0x0   .absSeg1
.......................
.abs_section_fe0c                  2   N/I     0xFE0C     0xFE0D   .absSeg50
.common                           74   R/W      0x100      0x149   RAM
Summary of section sizes per section type:
READ_ONLY (R):           1 (dec:        1)
READ_WRITE (R/W):       4A (dec:       74)
NO_INIT (N/I):          3B (dec:       59)

*********************************************************************************************
VECTOR-ALLOCATION SECTION
    Address     InitValue   InitFunction
---------------------------------------------------------------------------------------------
     0xFFFE     0x0'Error   _Startup

*********************************************************************************************
OBJECT-ALLOCATION SECTION
     Name               Module                 Addr   hSize   dSize     Ref    Section   RLIB
---------------------------------------------------------------------------------------------
MODULE:                 -- adc.c.o --
- PROCEDURES:
...........

     Ad_Convey                                    0'Error      E7     231       0   .text

使用特权

评论回复
6
silentdonkey|  楼主 | 2010-8-23 21:34 | 只看该作者
今天得到了一个6.2评价版cw,链接时出现同样的问题。看来不是开发环境的问题。不知问题在哪,郁闷啊!

使用特权

评论回复
7
ayb_ice| | 2010-8-24 09:01 | 只看该作者
自己重新建个简单项目试试

使用特权

评论回复
8
acute1110| | 2010-8-24 09:12 | 只看该作者
应该不是编译环境的问题,而是你代码的问题,你的代码中可能有数组之类的定义,超过了芯片所能提供的ram的空间,所以抱错,请自己仔细check一遍ram的空间消耗是多少。---或则换ram更多的试试

使用特权

评论回复
9
silentdonkey|  楼主 | 2010-8-24 11:17 | 只看该作者
感谢各位大侠帮忙。问题解决了。检查ram空间的消耗真是麻烦,不过的确有效,然后重建项目,使用了大一些的存储模型,编译通过。感谢诸位啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝