_Tony_
_Tony_

注册于 3 years ago

回答
0
文章
0
关注者
0

汇编语句切换上下文的时候,通过寄存器r0,r1传递的

chenxb 发表于 2020-2-17 16:33
/* POSIX layer and C standard library */

#define RT_USING_LIBC

你看下mdk工程左边目录有没有libc文件夹,没有的话就需要用env重新生成下mdk工程。

    本帖最后由 _Tony_ 于 2020-2-17 16:16 编辑


在env里面,env\packages\packages\iot\at_device。您也可以尝试提交代码,参与rtthread包开发!

spi flash的物理特性就是write的时候可以把 bit 由1变为0,可以简单的理解成与上你写的数据。
erase的时候,把bit 由0变成1。

看一下 fal 包里面的 fal_cfg.h 文件的 FAL_PART_TABLE

把RT_USING_LIBC打开,然后重新生成工程再试一下

aozima 发表于 2019-11-18 19:00
见过有些芯片要靠SDIO时钟活着,不能关掉省电。
甚至要求SDIO只能是特定的几个频率。
这应该和芯片的硬件设 ...


感谢前段时间的指导,感恩!:handshake

问题解决了,忘记结贴了!
将SD主机时钟一直开着,空闲的时候也让时钟一直在跑,就没出现crc错误,wifi模块也能正常驱动使用了!
可能空闲时候关闭SD时钟,通过其他方式也可以解决问题,后面没有再去深究了。

mb发送的内容是sDisp的地址,sDsip的内容是存放在堆栈里面的,再次调用函数上一次的sDisp的内容已经出栈入栈变化掉了;
可以在AE01_OFF里malloc sDisp,mb接收使用完数据再free掉;

使用rt_thread_init初始化静态线程或者rt_thread_create创建动态线程,然后调用rt_thread_startup启动线程

aozima 发表于 2019-1-21 16:51
看了你日志,可能我理解有误,你这个A9是你WIFI模块本身的命令。
不是SDIO的。


1、0x00a9(HostCmd_CMD_FUNC_INIT)是第一个发出的模块命令,后续也都无法识别,后面有丢出信息
QUEUE_CMD: cmd=0xa9 is queued
QUEUE_CMD: cmd=0x3 is queued
QUEUE_CMD: cmd=0xd9 is queued
...
------------Dump info-----------
Commmand Timeout
pending command id: 0x3 ioctl_buf=00000000
pending command id: 0xd9 ioctl_buf=00000000
pending command id: 0xe4 ioctl_buf=00000000
...
2、固件有传输过去了。若固件在传输过程中传输错误,会报CRC错误,并多次尝试重传,都失败后,会提示固件传输失败并终止传输。
3、固件是 \packages\wlanmarvell-latest\FwImage 对应型号的镜像,应该不会错的。wifi packages是latest版本;

    本帖最后由 _Tony_ 于 2019-1-21 16:44 编辑


aozima 发表于 2019-1-21 15:54
命令0xa9的响应是resp是哪种类型? 是否驱动中没有支持?

以下是对应的log,看着是有响应的。wlan_init_fw 返回对应是MLAN_STATUS_PENDING,不知道有没有什么影响?

DNLD_CMD (46.265000): 0xa9, act 0x0, len 8, seqno 0x1
DNLD_CMD:
a9 00 08 00 01 00 00 00
Enter: wlan_sdio_host_to_card
Enter: wlan_write_data_sync
[D/SDIO] CMD:53 ARG:0x92000100 RES:R5 rw:w len:256 blksize:256
[I/SDIO] resp[0] = 0x00002000
Leave: wlan_write_data_sync
SDIO Blk Wr:
0c 00 01 00 a9 00 08 00 01 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Leave: wlan_sdio_host_to_card
Leave: wlan_dnld_cmd_to_fw
Leave: wlan_exec_next_cmd
Leave: mlan_main_process
Leave: wlan_init_fw
wlan_init_fw returned ret=0x1
Leave: mlan_init_fw
Enter: wlan_cmd_timeout_func
Timeout cmd id (66.331000) = 0xa9, act = 0x0
a9 00 08 00 01 00 00 00 00 00 00 00 00 00 00 00
BSS type = 0 BSS role= 0

请问一下,我也是sdio框架,能够正常读写sd卡。但是使用WiFi时(型号:88w8782),传输固件报以下错误,要怎么解决这一问题呢?

WLAN: FW CRC error indicated by the helper: len = 0x0401, txlen = 1025
WLAN: retry: 2, offset 1040

发布
问题

分享
好友