嵌入式学习小组
直播中

李正茂

7年用户 176经验值
私信 关注

调试IAP+Ucos时中断要等很久才能执行该怎么办?

大家好:
我在调试IAP+Ucos时发现个问题,麻烦帮忙指导下.谢谢.
如果我直接运行Ucos的程序,开机调用
HAL_Init();
STM32_Clock_Init(384,25,2,8);   //设置时钟,192Mhz   
后,Systick_Handler这个中断马上就会执行.
但是我使用IAP跳转来执行Ucos程序,SysTick_Handler这个中断要等待很久才会被执行.
我查看了HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);两次执行时的频率都是192M.
IAP跳转到Ucos程序,代码如下:
typedef  void (*fun)(void);                                //定义一个函数类型的参数.   
fun AppStart;
void Jump_To_APP(void)
{
        u32 JumpAddress;  
        JumpAddress = *(volatile uint32_t*) (0x8080000 + 4);
        AppStart = (fun) JumpAddress;               
     __set_PRIMASK(1);  
        //设置APP程序堆栈指针
        __set_MSP(*(volatile uint32_t*)0x8080000);
        AppStart();                                                                        //跳转到APP.
}

回帖(2)

李婷

2019-9-20 08:17:05
修改了APP,问题解决
举报

王金凤

2019-9-20 08:34:12
帮顶..
举报

更多回帖

发帖
×
20
完善资料,
赚取积分