查看: 2751|回复: 8

[已解决] lpc54114,程序跳转指令问题

[复制链接]
  • TA的每日心情
    开心
    2018-12-3 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    38

    帖子

    0

    注册会员

    Rank: 2

    积分
    195
    最后登录
    2019-12-19
    发表于 2018-12-25 15:21:33 | 显示全部楼层 |阅读模式
    5NXP金币
    大家好,昨天发帖可能说的不太明白。
    我说一下我的情况和我具体遇到的问题,希望得到帮助,谢谢。
    我原来用的的lpc1768(M3),我实现了,一个项目,而且可以进行通过网口进行远程升级。
    我现在在用lpc54114(M4,M0)做项目,也想实现通过网口进行远程升级。现在遇到的问题是。
    LPC1768(M3)跳转指令为,如图。在LPC54114,这个跳转指令是否适用?

    {AU{U8KQ2L2B_SOK2$G]((X.png
    今天天气不错!签到!
    回复

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20124
    最后登录
    2024-5-3
    发表于 2018-12-25 17:17:08 | 显示全部楼层
    void boot_jump(uint32_t addr)
    {
    __asm("LDR SP,[R0]");
    __asm("LDR PC,[R0,#4]");
    }
    再加上VTOR寄存器跳转。


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-3 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    38

    帖子

    0

    注册会员

    Rank: 2

    积分
    195
    最后登录
    2019-12-19
     楼主| 发表于 2018-12-25 17:32:17 | 显示全部楼层
    小恩GG 发表于 2018-12-25 17:17
    void boot_jump(uint32_t addr)
    {
    __asm("LDR SP,[R0]");

    好的,谢谢,我试一试
    今天天气不错!签到!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-3 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    38

    帖子

    0

    注册会员

    Rank: 2

    积分
    195
    最后登录
    2019-12-19
     楼主| 发表于 2018-12-25 17:45:15 | 显示全部楼层
    小恩GG 发表于 2018-12-25 17:17
    void boot_jump(uint32_t addr)
    {
    __asm("LDR SP,[R0]");

    ..\app\application.c(45): error:  #20: identifier "SP" is undefined
      __asm("LDR SP,[R0]");
    ..\app\application.c(46): error:  #20: identifier "PC" is undefined
      __asm("LDR PC,[R0,#4]");



    提示有错误啊
    今天天气不错!签到!
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 1481 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92877
    最后登录
    2024-4-30
    发表于 2018-12-25 20:13:05 | 显示全部楼层
    我觉的没问题啊,看看M3/M4权威指南
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-3 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    38

    帖子

    0

    注册会员

    Rank: 2

    积分
    195
    最后登录
    2019-12-19
     楼主| 发表于 2018-12-26 09:14:11 | 显示全部楼层
    stm1024 发表于 2018-12-25 20:13
    我觉的没问题啊,看看M3/M4权威指南

    好的 ,谢谢
    今天天气不错!签到!
    回复

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20124
    最后登录
    2024-5-3
    发表于 2018-12-28 18:17:15 | 显示全部楼层
    wangzhipeng877 发表于 2018-12-25 17:45
    ..\app\application.c(45): error:  #20: identifier "SP" is undefined
      __asm("LDR SP,[R0]");
    ..\app ...

    你是什么IDE遇到问题的呢?
    这段代码试试:
    typedef void (*USER_ENTRY_PFN) ();

    #define SBL_SLV_FIRMWARE_START (0x8000)

    USER_ENTRY_PFN user_entry;



    .

    .

    .

    .

    in main()



    __disable_irq();

    SCB->VTOR = SBL_SLV_FIRMWARE_START;

    __enable_irq();

    //__set_MSP(SCB->VTOR);//load stackpointer with initial value

    __set_MSP(*(uint32_t *)SBL_SLV_FIRMWARE_START);

    (user_entry)();
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-3 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    38

    帖子

    0

    注册会员

    Rank: 2

    积分
    195
    最后登录
    2019-12-19
     楼主| 发表于 2019-1-2 13:21:21 | 显示全部楼层
    小恩GG 发表于 2018-12-28 18:17
    你是什么IDE遇到问题的呢?
    这段代码试试:
    typedef void (*USER_ENTRY_PFN) ();

    好的,谢谢
    今天天气不错!签到!
    回复

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20124
    最后登录
    2024-5-3
    发表于 2019-1-2 15:22:22 | 显示全部楼层

    不客气,后续有问题,欢迎继续发帖交流!
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-4 09:45 , Processed in 0.131390 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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