有没有人知道stm32从用户代码直接跳转到ISP代码的方法

[复制链接]
5779|8
 楼主| byeyear 发表于 2011-10-19 17:10 | 显示全部楼层 |阅读模式
记得以前坛子里有人提到过 搜不到了
求解答
香水城 发表于 2011-10-19 21:54 | 显示全部楼层
跳到哪里?什么地址?
mcuisp 发表于 2011-10-20 00:54 | 显示全部楼层
有人知道:
从ISP代码所在的区域的第一个DWORD 取MSP值,第二个DWORD取值赋给Rn, B Rn,搞定
hotpower 发表于 2011-10-20 03:34 | 显示全部楼层
谢谢~~~
 楼主| byeyear 发表于 2011-10-20 10:53 | 显示全部楼层
额,这年头说谢谢也有人抢。。。。。。
suse-lj 发表于 2011-10-20 12:56 | 显示全部楼层
我们都学习了嘛  我也说声xiexie
mcuisp 发表于 2011-10-20 19:23 | 显示全部楼层
额,这么多人谢谢,不好意思不上个代码了:
汇编版:
#define BootLoaderAddress 0x1ffff800  ;//根据IspBootLoader地址不同,需修改此处地址
    MOVW    R1,#BootLoaderAddress
   MOVT    R1,#BootLoaderAddress >>16;
    LDR     R0,[R1,#0];
    MSR     MSP,R0;
    MSR     PSP,R0;
    MOVW    R1,#(BootLoaderAddress+4);//
   MOVT    R1,#(BootLoaderAddress+4)>>16;
    LDR     R0,[R1,#0];
    BX      R0;
C版待补

注:
1、本人未实际干过这事,以上代码敬请验证后使用
2、预先反初始化一下各种外设,特别是DMA,会更理想。调用库函数的DeInit();
baidudz 发表于 2011-10-20 19:31 | 显示全部楼层
都很客气嘛,大叔带头
it_yrj 发表于 2014-7-12 12:51 | 显示全部楼层
多谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

296

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部