注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
yuanzhen-liu的个人空间 https://home.eeworld.com.cn/space-uid-211060.html [收藏] [复制] [分享] [RSS]
日志

stm8无复位从用户代码跳转到UBC代码?

已有 823 次阅读2011-11-10 16:55

公司要我做stm8单片机的相关的技术研发,提出要求从用户代码不通过复位直接跳转到UBC(用户启动代码)模式下;在UBC模式下要跳转到用户代码是很简单的,几条语句就解决了,例如:
typedef @far void (*TFUNCTION)(void);

const TFUNCTION  Main_ADDR = (TFUNCTION)0x9000ul;

 

_asm("JPF[_Main_ADDR]");

 

以上是官方UBC例程里的代码,很容易实现。但是要从9000地址开始的用户代码跳转回到UBC则是不行的,依然运行在用户代码,我在用户代码里设置是:

typedef @far void (*TFUNCTION)(void);

const TFUNCTION  Main_ADDR = (TFUNCTION)0x8000ul;

_asm("JPF[_Main_ADDR]");

 

我觉得应该是中断向量和SP问题,求助各位大虾帮忙,提出意见和方法,要是能贴上代码那是求之不得了,跪求

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章