请选择 进入手机版 | 继续访问电脑版
查看: 1535|回复: 0

[S32] 关于S32K146 bootloader跳转问题

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
17
最后登录
2021-4-5
发表于 2020-7-27 15:45:34 | 显示全部楼层 |阅读模式
我的boot   ld链接脚本配置如图
  /* Flash */
  m_interrupts          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400
  m_flash_config        (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00000010
  m_text                (RX)  : ORIGIN = 0x00000410, LENGTH = 0x00019000

app
  /* Flash */
  m_interrupts          (RX)  : ORIGIN = 0x0001A000, LENGTH = 0x00000400
  m_flash_config        (RX)  : ORIGIN = 0x0001A400, LENGTH = 0x00000010
  m_text                (RX)  : ORIGIN = 0x0001A410, LENGTH = 0x0007FBF0

跳转函数
图一
   __asm volatile ("cpsid i":::"memory");        
     /* Jump to user application */
     jumpaddr = *(uint32_t*) (appxaddr + 4);                              
     jumptoapp = (pfunction) jumpaddr;                                       
     jumptoapp();                                    

图二 搬的官方历程
void JumpToUserApplication( unsigned int userSP,  unsigned int userStartup)
{
    /* Check if Entry address is erased and return if erased */
    if(userSP == 0xFFFFFFFF){
        return;
    }
    /* Set up stack pointer */
    __asm("msr msp, r0");
    __asm("msr psp, r0");

    /* Relocate vector table */
    S32_SCB->VTOR = (uint32_t)FLASH_APP_ADDR;

    /* Jump to application PC (r1) */
    __asm("mov pc, r1");
}


这两种跳转都尝试过  跳转过去app无法正常运行,会进入HardFault_Handler中断  
不知道什么问题 噗




我知道答案 目前已有0人回答
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-19 09:32 , Processed in 0.105585 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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