查看: 2565|回复: 1

[求助] KE06做BootLoader用串口0中断进行到APP的跳转,中断无法运行

[复制链接]
  • TA的每日心情

    2018-2-1 12:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    3

    主题

    13

    帖子

    0

    注册会员

    Rank: 2

    积分
    50
    最后登录
    1970-1-1
    发表于 2018-1-22 12:35:03 | 显示全部楼层 |阅读模式
    如题,我在用KE06做BootLoader用串口0中断进行到APP的跳转,跳转到APP以后发现所用的中断都无法工作,但主程序除了中断的程序可以工作,如果从APP开始运行程序,回跳到BootLoader程序也是中断无法工作,我在网上查了些资料,有说在跳转到APP函数之前在BootLoader中将总中断关掉,程序如下:
    void MS_Jump_To_APP(  uint32_t app_start_addr)
    {
       pFunction jump_to_application;
       uint32_t jump_addr;
       DisableInterrupts;//关中断
       //__asm(" CPSID i");//关中断
       jump_addr = *( uint32_t*)(app_start_addr + 4);  //APP起始地址+4   复位开始

       if(app_start_addr != 0xfffffffful && (jump_addr > 0x0000 && jump_addr < END_ADDR))//jump_addr
       {    jump_to_application = (pFunction)jump_addr;
           //SCB_VTOR=(uint32_t)app_start_addr;
           __set_MSP(*( uint32_t*)app_start_addr); //
           jump_to_application();
       }
    }
    我的BootLoader程序的MEMORY配置如下:/* Specify the memory areas */
    MEMORY
    {
      m_interrupts        (rx) : ORIGIN = 0x00000000, LENGTH = 0xC0
      m_cfmprotrom         (rx) : ORIGIN = 0x00000400, LENGTH = 0x10
      m_text                 (rx) : ORIGIN = 0x00000800, LENGTH = 128K - 0x800
      m_data            (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K                        /* SRAM */
    }
    我的APP程序中的MEMORY配置如下:
    /* Specify the memory areas */
    MEMORY
    {
      m_interrupts        (rx) : ORIGIN = 0x00007000, LENGTH = 0xC0
      m_cfmprotrom         (rx) : ORIGIN = 0x00000400, LENGTH = 0x10
      m_text                 (rx) : ORIGIN = 0x00007800, LENGTH = 128K - 0x7800
      m_data            (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K                        /* MKE06Z128VLK4 SRAM 16K*/
    }

    然后进行这个操作以后,APP程序中断依然不好用,我又在APP程序的main函数的各个地方加入开中断,依然不好用
    但是在APP程序中,应该在什么位置开启中断呢?如果需要在main函数之前某个地方开启中断的话,请问应该在哪个文件具体什么地方添加EnableInterrupts;或者asm(" CPSIE i");开中断呢?
    或者说我的问题是否仅存在于关中断和开中断呢?还可能有别的问题么?
    麻烦大家了,谢谢啦!
    我知道答案 目前已有1人回答
    回复

    使用道具 举报

  • TA的每日心情

    2018-2-1 12:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    3

    主题

    13

    帖子

    0

    注册会员

    Rank: 2

    积分
    50
    最后登录
    1970-1-1
     楼主| 发表于 2018-1-23 08:44:01 | 显示全部楼层
    结贴!大家多多注意,不要将boot和app的跳转等大的,耗时的操作放到中断里边!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 16:14 , Processed in 0.081267 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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