
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函数里。请问有谁知道还需要怎么配置? |
在CUBEMX生成的STM32F407VET6的I2S主机接收模式与I2S主机发送模式能正常运行,如何进行动态调整或者如何实现主机全双工?
STM32F407 多机RS485串口通讯+地址位唤醒+DMA空闲线接收,无法进入中断服务程序。
设置RDP等级为2的同时,有什么办法可以确保后续还能够烧录程序
STM32F407VET6 I2S 采用DMA传输问题
有STM32F4倒车雷达响应例程吗?
STM32F429I倒车雷达响应
STM32多通道FFT运算异常
在其他电脑上编译成功没有错误并且能够烧录,换了电脑之后编译出现一堆错误,并且不能烧录程序
SD卡初始化第一次初始化后再次初始化时会失败。
串口重定向接收不同
0x8030000地址是需要跳转到执行地方入口