|
楼主 |
发表于 2013-3-16 20:48:41
|
显示全部楼层
有所进展!已经能运行了,能读出ChipID了。能下固件了。但是sbi_card_to_host的gspi_read_reg((type) ? SCRATCH_2_REG : SCRATCH_1_REG, &len);读出来总是0XFFFF。
static int gspi_read_event_scratch的 gspi_read_reg32(SCRATCH_3_REG, &card->EventCause);读出来也是0xFFFF。不知道为什么。SPI驱动是好的,读ID和固件校验都正常。- int sbi_card_to_host(u32 type,u16* nb, u8 * payload, u16 npayload)
- {
- int ret = WLAN_STATUS_SUCCESS;
- u16 len;
- u16 intType = 0, readReg;
- intType = type ? CIC_CmdUpLdOvr : CIC_RxUpLdOvr;
- readReg = type ? CMD_RDWRPORT_REG : DATA_RDWRPORT_REG;
- gspi_read_reg((type) ? SCRATCH_2_REG : SCRATCH_1_REG, &len);
- if (!len || len > npayload) {
- WlanDebug(WlanErr,"Error packet of len %d\n", len);
- len = MRVDRV_ETH_RX_PACKET_BUFFER_SIZE;
- }
- if (len & 0x0001)
-
复制代码- static int gspi_read_event_scratch(WlanCard *card)
- {
- int ret;
- ret = gspi_read_reg32(SCRATCH_3_REG, &card->EventCause);
- if (ret < 0) {
- WlanDebug(WlanMsg,"ERROR: Event Scratch Pad Register Read!\r\n");
- return ret;
- }
- WlanDebug(WlanMsg,"receive event is %x\n", card->EventCause);
- card->EventCause <<= 3;
- return WLAN_STATUS_SUCCESS;
- }
复制代码 \ | /
- RT - Thread Operating System
/ | \ 0.3.4 build Mar 7 2013
2006 - 2011 Copyright by rt-thread team
RUN_TEST ############ LINE: 112 , FUNC :rtthread_startup , FILE:startup.c
RUN_TEST ############ LINE: 117 , FUNC :rtthread_startup , FILE:startup.c
SpiReadReg:0X 11000B
Chip ID 0xb
SpiReadReg:0X 14
WlanCardProbe Finished
SpiReadReg:0X88888888
FW download successful !!!
SpiReadReg:0X 14FFFF
SpiReadReg:0X FFFF
Error packet of len 65535
SpiReadReg:0X 18FFFF
Error packet of len 65535
CMD_RESP: Invalid response to command!
SpiReadReg:0X FFFF
receive event is ffff
EVENT: 0xffff
EVENT: unknown event id: ffff
(mem->used) assert failed at rt_free:502
|
|