打印
[技术问答]

AC78406用eclipse编译程序跳转的问题

[复制链接]
1670|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Jackpop|  楼主 | 2024-8-15 13:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
参考keil工程的程序跳转的demo代码,用eclipse编译2个demo工程,一个boot工程起始地址是0x0000,另一个APP工程的起始地址0x30000,想从boot工程跳转到APP工程,跳转方式如下:
typedef void (*pfunction)(void);
#define APP_START_ADDRESS                        0x030000
void goToApp(void)
{
    static pfunction JumpToApplication = NULL;

    uint32_t JumpAddress = *(__IO uint32_t *)(APP_START_ADDRESS + 4*1024 + 4);

    DisableInterrupts;

    JumpToApplication = (pfunction)JumpAddress;
    __set_MSP(*(__IO uint32_t *)APP_START_ADDRESS);

    JumpToApplication();
}

上述代码是参考keil工程跳转方式,即APP为keil编译。如果APP是keil编译,设置起始地址是0x30000,可以从boot跳转到APP,但是APP是eclipse编译,设置flash起始地址是0x30000,发现无法从boot跳转到APP。

使用特权

评论回复

相关帖子

沙发
木偶ll| | 2024-8-21 14:02 | 只看该作者
为什么要加4*1024,不需要加

使用特权

评论回复
评论
Jackpop 2024-9-4 18:38 回复TA
描述错了,不加4*1024,也是不能跳转的,即使跳转到APP,发现APP的timer根本不工作 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝