|
stm32f405 ucoslll 跳转后可以进入主程序,但是卡死在OSTaskCreate函数里,任务无法运行。 void JumpToApp(void) { uint32_t i=0; USART_Cmd(UART4, DISABLE); __set_PRIMASK(1); /* 禁止全局中断 */ /* 关闭滴答定时器,复位到默认值 */ SysTick->CTRL = 0; SysTick->LOAD = 0; SysTick->VAL = 0; /* 关闭所有中断,清除所有中断挂起标志 */ for (i = 0; i < 8; i++) { NVIC->ICER[i] = 0xFFFFFFFF; NVIC->ICPR[i] = 0xFFFFFFFF; } __set_PRIMASK(0); /* 使能全局中断 */ SCB->VTOR=FLASH_BASE|0x30000; ApplicationAddress = APP_ADDRESS; //printf("JumpToApp = 0x%x\r\n",(*(vu32*)ApplicationAddress)); //printf("JumpToApp = 0x%x\r\n",((*(vu32*)ApplicationAddress) & 0x2FFE0000 )); if (((*(vu32*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000) { /* Jump to user application */ m_JumpAddress = *(vu32*) (ApplicationAddress + 4); JumpToApplication = (FunVoidType) m_JumpAddress; //printf("m_JumpAddress = 0x%x\r\n",m_JumpAddress); /* Initialize user application's Stack Pointer */ __set_MSP(*(vu32*) ApplicationAddress); JumpToApplication(); } } 我用的是uart4打印串口日志,所以先禁止USART_Cmd(UART4, DISABLE),测试程序没有其他什么中断设置。但是调用JumpToApp函数后可以进入main函数,但是卡死在OSTaskCreate函数里。请问有谁知道还需要怎么配置? |
SDIO 初始化 死在 __HAL_RCC_SDIO_CLK_ENABLE语句上
我现在使用STM32F446ZET6芯片,外挂了16m的片外SDRAM。想把程序在SDRAM中运行,一直尝试没有成功,希望得到帮助,是否有相关的例子或参考的文档
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
USBX在F407上创建CDC不能正常使用
STM32F427ZGTx内部RTC秒及亚秒同步问题
有没有STM32F405RG参考设计
LSM6DS3TR-C静止情况下使用MotionFX固件算出的欧拉角周期性异常跳动
全球论坛无法登录
STM32F429使用FMC接口扩展SDRAM
微信公众号
手机版
0x8030000地址是需要跳转到执行地方入口