打印
[其他ST产品]

STR730的疑惑

[复制链接]
2493|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
biao.l|  楼主 | 2008-5-15 22:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近来用STR730搞个项目

发觉EIC算中断程序地址这样算

   0XF3E0+0X00000040+8+0XFFFFFC18  = 0x0000f040

事实上跳到0X80000040处,
高16位就不说了,固定的,低16位就搞不懂了,多了个0XF000
即0XF3E0表示的偏移量是0X03E0,如果我要设偏移量为0X13E0,又该如何表示呢?
搞不懂,高手指点一下。
沙发
ST_ARM| | 2008-5-16 09:51 | 只看该作者

EIC算中断程序地址

0XF3E0表示的偏移量是0X03E0,这是一个固定值,是计算出来的,用户不需修改,该原理与STR710相同,类似的帖子有一个,你去搜索一下。

使用特权

评论回复
板凳
biao.l|  楼主 | 2008-5-16 16:23 | 只看该作者

我就是需要修改这个啊

    没办法的事情,我要更新一部分程序,
    中断服务程序地址会变化,所以建个新的向量表给它,让它搜索这个表,然后跳向新的程序.
    而EIC就是要跳转到这个表中去,STR不是支持64K的偏移吗?
按照上述说法只有低12位有效,4K的偏移寻址,我该如何做才能令EIC实现64K寻址.请二楼指点.

使用特权

评论回复
地板
biao.l|  楼主 | 2008-5-16 17:29 | 只看该作者

现在做这个是IAP升级程序

什么都搞好,没有中断的情况下,程序正常运行.
就差中断这个不知道怎么搞.

IAP程序在前面的地址,应用程序在后面,按4K的寻址方式是找不到中断程序的,所以想知道怎么设置EIC,让它有64K寻址,或更高.

NXP LPC的就比较好搞,直接把32位地址写进寄存器,就能4G寻址了.
STR的这样做行不行啊.
高手指点一下.谢谢!

使用特权

评论回复
5
ST_ARM| | 2008-5-16 17:49 | 只看该作者

请参考以前额帖子

这个问题与STR71x的IAP类似,你可以参考以前的一个STR71xIAP的帖子中的例程。

使用特权

评论回复
6
香水城| | 2008-5-16 19:12 | 只看该作者

EIC算中断程序地址

请看STR73x技术参考手册中有关EIC_IVR和EIC_SIRn的说明,实际上EIC_IVR的高16位决定了你的中断向量表所在地址的高16位,而EIC_SIRn的高16位决定了你的中断向量表所在地址的低16位,EIC_IVR的低16位是只读的,整个EIC_IVR在发生中断时指向产生中断对应的中断向量。

使用特权

评论回复
7
biao.l|  楼主 | 2008-5-16 19:43 | 只看该作者

回复6楼,

我直接把一个程序地址写入EIC_IVR高16位,和SIR低16位,中断产生时,系统复位,再次进入应用程序后,中断不再发生,这是为什么?

使用特权

评论回复
8
biao.l|  楼主 | 2008-5-16 19:47 | 只看该作者

回复ST_ARM,下载不了,

使用特权

评论回复
9
香水城| | 2008-5-16 21:08 | 只看该作者

请参考手册,SIR的低16位根本就不是放程序地址的地方

你的中断向量设置根本不对,中断产生时系统复位,一点都不奇怪。

使用特权

评论回复
10
biao.l|  楼主 | 2008-5-17 16:33 | 只看该作者

SIR高16位放程序地址低16位,上面说得不清楚

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

286

帖子

0

粉丝