佚名通过本文主要向大家介绍了微信跳转到app,app跳转页面,android html 跳转app,app跳转,微信跳转app等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: STM32F429 IAP+AppRTX kernel 无法跳转到APP的问题
描述:
IAP程序实现APP程序的更新功能,主要代码
APP程序非常简单,显示LED的闪烁,主要是为了试验能否正常进入APP,虽然用了RTX系统,为了程序简单没有写任何RTX相关的代码
其他细节:
1、IAP ROM:0x8000000,size:0x10000; RAM1:0x20000000;Size:0x10000
2、APP ROM:0x8010000,size:0xD0000; RAM1:0x20010000;Size:0x20000
问题:
APP程序加了RTX就无法进入MAIN函数,就已经出错,循环在OS错误的地方
如果APP程序不加RTX,同样的代码,就没有任何问题
请问大家有没有碰到过这样的问题,请教大家如何解决?
这里有几个遇到这样问题的帖子,但是我还是没有解决。
http://www.keil.com/forum/13707/
http://www.keil.com/forum/22446/ 这个问题和我几乎一样,也是STM32的片子
http://www.keil.com/forum/15685/
解决方案1:
描述:
本帖最后由 wangji666666 于 2014-10-10 12:35:43 编辑
硬件平台STM32F429,软件平台KEIL MDK 5.12IAP程序实现APP程序的更新功能,主要代码
static void JumpToApp(void)
{
if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFD0000) == 0x20000000)
{
/* Jump to user application */
m_JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
JumpToApplication = (FunVoidType) m_JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) ApplicationAddress);
__set_PRIMASK(1);
JumpToApplication();
}
Uart1SendSyc("JumpToApp Failed!\r\n");
}
APP程序非常简单,显示LED的闪烁,主要是为了试验能否正常进入APP,虽然用了RTX系统,为了程序简单没有写任何RTX相关的代码
int main(void)
{
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x10000); //App程序开始的地方
LED_Init();
while(1)
{
STM_EVAL_LEDToggle(LED4);
}
}
其他细节:
1、IAP ROM:0x8000000,size:0x10000; RAM1:0x20000000;Size:0x10000
2、APP ROM:0x8010000,size:0xD0000; RAM1:0x20010000;Size:0x20000
问题:
APP程序加了RTX就无法进入MAIN函数,就已经出错,循环在OS错误的地方
如果APP程序不加RTX,同样的代码,就没有任何问题
请问大家有没有碰到过这样的问题,请教大家如何解决?
这里有几个遇到这样问题的帖子,但是我还是没有解决。
http://www.keil.com/forum/13707/
http://www.keil.com/forum/22446/ 这个问题和我几乎一样,也是STM32的片子
http://www.keil.com/forum/15685/
解决方案1:
if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFD0000) == 0x20000000)这句话有问题