stm32用IAP升级带操作系统的程序,下载成功,但运行失败?而升级不带操作系统的程序,都能成功运行,不知道为什么?操作系统用的是mdk自带的rtx,这个app直接跑是没有问题的,就是用iap起动不来,伤透脑了,那个大哥知道啊
怎么一个人也没有回复啊,是问题太简单了,还是太难了?
#define ApplicationAddress 0x08008000 //应用程序区
/* Jump to user application */
JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) ApplicationAddress);
Jump_To_Application();
跳转代码应该是不会错的,因为我用别的不带操作系统的程序试过,是可以的,同一个iap程序。
不知道带操作系统的程序与不带操作系统的程序,是不是有那里不同啊,比如初始化堆栈等?那位兄弟玩过啊?
直接更换成人家的例程,需要注意向量表位置……
要和你的bootloader约定的“0x08008000”一致
需要进行中断向量的重映射,你查一下以前STR710的帖子,里面有关于这方面的
和普通的没有os的单线程iap一样的,我试过,没什么问题
"LIU_XF",你好,我把所有中断都关了,还是不行。
tyz114499,你好,请问怎么进行中断向量的重映射啊,我查了STR710的,没有啊?
ecomputer,你好,我不是说iap带os,是app带os 的,起动不起来,但是用不带os 的app是可以的,用的同一个iap
带os 的与不带os 的,跳转到的位置也不一样,很奇怪啊,