xd 在debug MIPS 平台下的 一个问题, 麻烦xdjm们 看看, 死得莫名其妙的, 谢谢了。
Cause: Exception code: 2
Regs
r0: 0x801d57c8 0x801d0000 0x00000001 0x2748f376
r4: 0x801d7c60 0xd8d7f210 0x00000000 0x00000000
r8: 0x8044d9d8 0x801714bc 0x0000006e 0x803e0000
r12: 0x253bad3c 0x00000000 0x803e0000 0x7923f000
r16: 0x803f35c8 0x803eb5c8 0x801d7c60 0x00000001
r20: 0x801d7c60 0x00011ec8 0x00000000 0x804bd010
r24: 0x80450000 0x9cb4a750 0xff4bf7f6 0xe5cfbfff
r28: 0x806b2810 0x80ffff30 0xdfdfffff 0x800b0a54
MP May 10 04:23:17.642881 ALERT AP 20 AP Buffered Log (1): ba: 0x00000016 st: 0x10008003 ca:
0x10000008 e_epc: 0x9fc00508
, Exception PC: 0x800bc304
(gdb) disass 0x800bc304
Dump of assembler code for function atheros_handle_event:
0x800bc2f4
: lw s1,30712(a0)
0x800bc2f8 : li v0,0x8000
0x800bc2fc : addu s0,s1,v0
0x800bc300 : lw v0,30348(s0)
0x800bc304 : bnez v0,0x800bc35c
void
atheros_handle_event (RADIO_DATA *radio)
{
800bc2d8: 27bdffd0 addiu sp,sp,-48
800bc2dc: afbf0020 sw ra,32(sp)
800bc2e0: afb3001c sw s3,28(sp)
800bc2e4: afb20018 sw s2,24(sp)
800bc2e8: afb10014 sw s1,20(sp)
800bc2ec: afb00010 sw s0,16(sp)
800bc2f0: 00809021 move s2,a0
WLAN_DEV_INFO *dev;
atheros_radio_t *atheros;
HAL_INT_TYPE masked_events;
HAL_INT_TYPE unmasked_events;
A_UINT32 queue_bit_mask;
atheros = (atheros_radio_t *) radio->radio_hardware;
800bc2f4: 8c9177f8 lw s1,30712(a0)
dev = &(atheros->driver_wlan_dev_info);
/*
* Let's see if any events have occurred recently.
*/
if (!atheros->hal_attached) {
800bc2f8: 34028000 li v0,0x8000
800bc2fc: 02228021 addu s0,s1,v0
800bc300: 8e02768c lw v0,30348(s0)
800bc304: 14400015 bnez v0,800bc35c
800bc308: 263302a8 addiu s3,s1,680
/*
* The device is not attached. Try to attach it again.
*/
if (atheros->enable_failed_time < current_milliseconds()) {
800bc30c: 0c006163 jal 8001858c
800bc310: 00000000 nop
800bc314: 00402021 move a0,v0
800bc318: 00602821 move a1,v1
800bc31c: 8e0377c8 lw v1,30664(s0)
800bc320: 0064102b sltu v0,v1,a0
800bc324: 14400007 bnez v0,800bc344
800bc328: 00000000 nop
800bc32c: 146400e8 bne v1,a0,800bc6d0
800bc330: 8fbf0020 lw ra,32(sp)
800bc334: 8e0277cc lw v0,30668(s0)
800bc338: 0045102b sltu v0,v0,a1
800bc33c: 104000e4 beqz v0,800bc6d0
800bc340: 00000000 nop
hal_attach(radio, atheros, dev);
800bc344: 02402021 move a0,s2
800bc348: 02202821 move a1,s1
800bc34c: 0c02ca02 jal 800b2808
800bc350: 02603021 move a2,s3
}
return;