查看: 3449|回复: 12

S08 mc9s08ll36 Banked mode 不能调试

[复制链接]

该用户从未签到

7

主题

41

帖子

0

新手上路

Rank: 1

积分
149
最后登录
1970-1-1
发表于 2012-11-19 12:19:58 | 显示全部楼层 |阅读模式
Prm 文件如下
/* This is a linker parameter file for the mc9s08ll36 */
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */
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 0x0FFF;
    /* unbanked FLASH ROM */
    ROM                      =  READ_ONLY    0xC000 TO 0xFFAB;
    ROM1                     =  READ_ONLY    0x5000 TO 0x7FFF;
    ROM2                     =  READ_ONLY    0xFFC0 TO 0xFFD1;
 /* INTVECTS                 =  READ_ONLY    0xFFD2 TO 0xFFFF; Reserved for Interrupt Vectors */
    /* banked FLASH ROM */
    PPAGE_2                  =  READ_ONLY    0x02A000 TO 0x02BFFF;
 /* PPAGE_1                  =  READ_ONLY    0x019000 TO 0x01BFFF; PAGE already contained in segment at 0x5000-0x7FFF */
 /* PPAGE_3                  =  READ_ONLY    0x038000 TO 0x03BFFF; PAGE already contained in segment at 0xC000-0xFFFF */
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 */
    NON_BANKED,                         /* runtime routines which must not be banked */
    DEFAULT_ROM,
    COPY                                /* copy down information: how to initialize variables */
                                        INTO  ROM; /* ,ROM1,ROM2: To use "ROM1,ROM2" as well, pass the option -OnB=b to the compiler */
    PAGED_ROM                           /* routines which can be banked */
                                        INTO  PPAGE_2,ROM1,ROM2;
    _DATA_ZEROPAGE,                     /* zero page variables */
    MY_ZEROPAGE                         INTO  Z_RAM;
END
STACKSIZE 0x80
VECTOR 0 _Startup     /* Reset vector: this is the default entry point for an application. */
 
main 函数代码如下,目的是希望把main 函数放到 PAGED_ROM中,也就是PPAGE_2       =  READ_ONLY    0x02A000 TO 0x02BFFF; 编译链接都没有问题,可是不能运行,求解

void MCU_init(void); /* Device initialization function declaration */
#pragma CODE_SEG PAGED_ROM
void main(void)
{
 
 MCU_init(); /* call Device Initialization */
 InitinalLCD();
 /* include your code here */
 for(;;)
 {
  /* __RESET_WATCHDOG(); by default, COP is disabled with device init. When enabling, also reset the watchdog. */
 } /* loop forever */
 /* please make sure that you never leave main */
}
#pragma CODE_SEG DEFAULT

在map文件中也看到了main被分配到了0x2A000位置。可是不能够运行,提示:could not set the breakpoint at 0x2A000
回复

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2012-11-19 16:09:52 | 显示全部楼层

RE:S08 mc9s08ll36 Banked mode 不能调试

楼主您好,请把工程配置里面的模式改成中模式试一下。如果是小模式的话,可能会访问不到这段空间。
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

41

帖子

0

新手上路

Rank: 1

积分
149
最后登录
1970-1-1
 楼主| 发表于 2012-11-19 17:40:32 | 显示全部楼层

回复:S08 mc9s08ll36 Banked mode 不能调试

多谢你的建议。
small model 时可以的,也就是不能使用0x02A000 TO 0x02BFFF 这段8K空间,我的意思如果一定要使用这段空间,如何做呢?
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2012-11-20 10:08:36 | 显示全部楼层

RE:S08 mc9s08ll36 Banked mode 不能调试

改成中模式,才能访问到24位的地址.
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

41

帖子

0

新手上路

Rank: 1

积分
149
最后登录
1970-1-1
 楼主| 发表于 2012-11-20 11:21:08 | 显示全部楼层

RE:S08 mc9s08ll36 Banked mode 不能调试

在编译器选项中->code generation->memory model选择Banked model memory,并选中了MMU support。IDE CW6.3 ,\问题依旧。
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

41

帖子

0

新手上路

Rank: 1

积分
149
最后登录
1970-1-1
 楼主| 发表于 2012-11-20 11:57:01 | 显示全部楼层

RE:S08 mc9s08ll36 Banked mode 不能调试

1.使用向导产生项目,选择banded 内存模型,编译,链接,下载都没有问题,可是不能运行。
2.用向导产生项目,选择small 内存模型,在main函数前加上
#pragma CODE_SEG __FAR_SEG PAGED_ROM指示后,编译,链接,下载都没有问题,可是不能运行。
这两种内存模型使用向导生成的Prm有点不同,
还是没有找到问题,同行们给点支持吧!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-11-21 11:10:54 | 显示全部楼层

    RE:S08 mc9s08ll36 Banked mode 不能调试

    我看了一下手册,LL36不支持扩展FLASH编程。支持的地址是:0x8000-0xBFFF。在手册4.5.2.1 Program Page Register (PPAGE)这里介绍到关于FLASH的使用,楼主可以详细看一下这里的介绍。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    41

    帖子

    0

    新手上路

    Rank: 1

    积分
    149
    最后登录
    1970-1-1
     楼主| 发表于 2012-11-23 14:49:26 | 显示全部楼层

    RE:S08 mc9s08ll36 Banked mode 不能调试

    感谢“安”,恍然大悟!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    41

    帖子

    0

    新手上路

    Rank: 1

    积分
    149
    最后登录
    1970-1-1
     楼主| 发表于 2012-11-23 15:01:22 | 显示全部楼层

    RE:S08 mc9s08ll36 Banked mode 不能调试

    概念理解了,cpu的14位地址寻址16K空间,ppage的两位寻址16位中的高两位。
    项目改回small memory model,
    可是程序代码还是不能放到ppage—2位置执行,
    如下:
    PPAGE_2     =  READ_ONLY    0x02A000 TO 0x02BFFF;
    #pragma CODE_SEG __FAR_SEG PAGED_ROM
    void main(void)
    {
            MCU_init();       
            for(;;)
            {
            } /* loop forever */
            /* please make sure that you never leave main */
    }
    #pragma CODE_SEG DEFAULT
    本应该下载后,直接run stop at main,可是根本执行不了,烦请再看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-11-23 16:00:10 | 显示全部楼层

    RE:S08 mc9s08ll36 Banked mode 不能调试

    这段空间根本就访问不到.我不知道你为什么非要用这段空间.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-6 09:30 , Processed in 0.099398 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表