你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 8651|回复: 5

STM8 IAP后运行APP程序段时为何进不了中断?

[复制链接]

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-6-30 22:24:34 | 显示全部楼层 |阅读模式
我的思路是这样的,上电前面几百个MS运行IAP程序段,检测有无IAP命令,有的话就执行IAP程序,无的话就进入APP;
编译器用的是:Cosmic
IAP程序段容量:4K

IAP程序段:

#define  APP_START_ADDRESS    0x009000
typedef @far void (*TFunction)(void);
const TFunction MainUserApplication = (TFunction)APP_START_ADDRESS;

跳入APP执行的语句:
_asm("JPF [_MainUserApplication]");

/////////////////////////////////////////////////////////////////////
在APP的工程中,Link中选项设置如下:(APP程序从0x9000开始存放)
 
 
11111111111111111111.GIF


APP工程按这样设置后,烧入APP程序区域,发现进不了中断,是否有地方没有设置好?

现象1)
    我的APP上电时有一段在非中断中执行的IO口操作程序,用示波器测量有波形的变化,说明程序已经执行到了APP区域;只是为何不进中断?

interrupt_vector应该不用更改吧:
struct interrupt_vector const _vectab[] = {
{0x82, (interrupt_handler_t)_stext}, /* reset */ //_stext  main
{0x82, NonHandledInterrupt}, /* trap  */
{0x82, NonHandledInterrupt}, /* irq0  */
{0x82, NonHandledInterrupt}, /* irq1  */
{0x82, NonHandledInterrupt}, /* irq2  */
{0x82, NonHandledInterrupt}, /* irq3  */
{0x82, NonHandledInterrupt}, /* irq4  */
{0x82, NonHandledInterrupt}, /* irq5  */
{0x82, EXTI_PORTD_IRQHandler}, /* irq6  */
            。。。}

现象2)
     在IAP中仿真的时候发现程序进入了:

    @near @interrupt void NonHandledInterrupt(void)
    {
        /* In order to detect unexpected events during development,
              it is recommended to set a breakpoint on the following instruction.
        */
       return;
    }
    意思是在执行APP的时候进入了IAP的中断入口?是入口地址没设置好吗?
           

请指教,谢谢
<
回复

使用道具 举报

0

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-9-27 09:10:59 | 显示全部楼层

RE:STM8 IAP后运行APP程序段时为何进不了中断?

请问,这个问题解决了吗?
回复 支持 反对

使用道具 举报

0

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-9-27 09:13:37 | 显示全部楼层

RE:STM8 IAP后运行APP程序段时为何进不了中断?

在IAP的中断入口,应该在运行APP时,再跳转到APP的中断入口,这样就可以解决问题了吧~~
回复 支持 反对

使用道具 举报

1

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-4-13 11:35:48 | 显示全部楼层

RE:STM8 IAP后运行APP程序段时为何进不了中断?

我觉的 你没把中断向量表一起弄过来 需要做个转换 把以前从0000开始的转换到现在的地址上
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-9-2 15:29:14 | 显示全部楼层

回复:STM8 IAP后运行APP程序段时为何进不了中断?

那是因为你的中断没有跳转到APP中断的地址
回复 支持 反对

使用道具 举报

0

主题

13

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2015-8-9 17:26:57 | 显示全部楼层
woniu812 发表于 2014-9-2 15:29
那是因为你的中断没有跳转到APP中断的地址

这个中断要怎么设置呢?
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版