查看: 2400|回复: 1

[S12] MC9S12用于boot下载的程序问题

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
27
最后登录
2015-12-23
发表于 2015-6-4 15:58:44 | 显示全部楼层 |阅读模式
用的是 MC9S12XET256,正在做boot下载功能。boot下载流程结束后需要跳转到主应用程入口,请教下主应用程序如何指定入口函数到一个固定地址上?谢谢。
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

0

主题

7

帖子

0

新手上路

Rank: 1

积分
20
最后登录
2016-1-13
发表于 2015-12-6 16:16:46 | 显示全部楼层
有跨页调用的话会麻烦一点,看一下S12X的CPU手册,CALL和JSR指令都可以用,比如这样:

#pragma CODE_SEG MY_SEG_5000

void far delay_RTS(void)
{
        asm NOP;
        asm NOP;
        asm NOP;
        asm NOP;
        asm NOP;
       
        asm RTS;
}

#pragma CODE_SEG MY_SEG_FE

void far delay_RTC(void)
{
        asm NOP;
        asm NOP;
        asm NOP;
        asm NOP;
        asm NOP;
       
        asm RTC;
}

#pragma CODE_SEG DEFAULT

unsigned char PPAGE_temp;

#pragma CODE_SEG NON_BANKED

void main(void)
{
        /* put your own code here */
       
        delay();
       
        asm
        {
                CALL 0x8000, 0xFE;                // either main() located in banked or non_banked area. CALL is used together with RTC.
        }

        PPAGE_temp = PPAGE;
        PPAGE = 0xFE;
        asm
        {
                JSR 0x5000;                                // jump within the same page. JSR is used together with RTS.
        }
        PPAGE = PPAGE_temp;
......

}
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-21 18:09 , Processed in 0.084233 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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