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

2019-03-23 20:13发布

公司要我做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问题,求助各位大虾帮忙,提出意见和方法,要是能贴上代码那是求之不得了,跪求 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。