[ZLG-ARM] 请教周公FIQ问题

[复制链接]
2210|3
 楼主| tiger84 发表于 2008-4-18 19:24 | 显示全部楼层 |阅读模式
用的是LPC2364,把I2C的中断设为FIQ,其他中断为IRQ,<br />I2C的读写放在主函数的循环里一切正常,但是把它放到定时器1中断里时就出现了问题。<br /><br />还请周公指点一二。
 楼主| tiger84 发表于 2008-4-18 19:51 | 显示全部楼层

我在startup.s中定义FIQ堆栈不为0,&nbsp;连启动都启动不了了,太奇怪了
lyl831015 发表于 2008-4-19 19:57 | 显示全部楼层

I2C使用中断了吗?

<br />如果I2C的操作使用到了中断,单是ARM硬件是不支持中断嵌套的。
 楼主| tiger84 发表于 2008-4-21 10:25 | 显示全部楼层

I2C使用中断了

我把堆栈长度改了下<br />;define&nbsp;the&nbsp;stack&nbsp;size<br />;定义堆栈的大小<br />SVC_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />FIQ_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;56<br />IRQ_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;200<br />ABT_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />UND_STACK_LEGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />就可以了。<br />若这些堆栈长度相加大于256就不行。<br />这样的话,我的堆栈就很小了,可能会溢出。<br />不知道哪里可以改堆栈的大小啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

862

帖子

0

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