主题 : 急救。。。在KEY中断中操作IO口失败, 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1244
精华: 0
发帖: 18
金钱: 155 两
威望: 27 点
综合积分: 36 分
注册时间: 2008-08-07
最后登录: 2011-05-24
楼主  发表于: 2008-09-05 15:01

 急救。。。在KEY中断中操作IO口失败,

我把网站上提供《〈QQ2440V3上的IIC EEPROM驱动. 一个键盘驱动bsp》》的BSP中的key中断驱动移值我自己的BSP里(我的用8寸的),可以正常使用(原程序是中断一次发一个0回来),可是我在 InterruptDone(SYSINTR_KEY);前加一个读IO口的数据就不行了,程序是:  result = v_pIOPregs->rGPFDAT;中断线程运行到这里就断了,,,怎么也想不明白,。是不是那里没有设置好,还是跟BSP有关。。。各位大虾帮帮忙
级别: 新手上路
UID: 1244
精华: 0
发帖: 18
金钱: 155 两
威望: 27 点
综合积分: 36 分
注册时间: 2008-08-07
最后登录: 2011-05-24
1楼  发表于: 2008-09-05 16:40
我在程序加入
RETAILMSG(DEBUGMODE,(TEXT("::: read rGPFDAT on\r\n")));
result = v_pIOPregs->rGPFDAT;
RETAILMSG(DEBUGMODE,(TEXT("::: read rGPFDAT off\r\n")));
串口输出:
::: INT11 interrupt
::: read rGPFDAT on
Data Abort: Thread=8fddc000 Proc=8e04be50 'device.exe'
AKY=00000009 PC=02e01b3c(key.dll+0x00001b3c) RA=02e01b30(key.dll+0x00001b30) BVA
=08000054 FSR=00000007
很明显是线程断了,各位大虾帮帮忙,。。。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2008-09-05 16:57
这不是很明显是
result = v_pIOPregs->rGPFDAT;

里面指针call飞了吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 1244
精华: 0
发帖: 18
金钱: 155 两
威望: 27 点
综合积分: 36 分
注册时间: 2008-08-07
最后登录: 2011-05-24
3楼  发表于: 2008-09-05 17:07
搞定了,原来程序申请的空间被释放了,之前没有注意到这点。。。谢了