大信
大信 - 认证专家
硬件开发,软件开发,系统开发,工程架构,方案设计

注册于 10 months ago

回答
44
文章
3
关注者
2

晶振是微处理的主频率产生器件,代码要运行就得要主频。因此不能去掉。

公钥可以用SSH的标准工具来产生,基本上在任何一个 linux 系统上,都有这个命令,产生公钥的命令

ssh_keygen

按提示回答存放路径,保密密码(一般不用)就可以生成一对密钥了,其中 .pub 后缀文件就是公钥。
操作如图:
无标题.png

这个确实是一个很大的问题,没有 wekeup 脚无法通过io唤醒系统,比如对用户交互做出反应,定时器是无法完成任务的。

这个芯片有FFT以及多种高级函数和加密算法的硬件加速。做10个频点的FFT毫无压力,我做过wav的fft变换和可视显示。
只是做完时频变换后的数据显示是个瓶颈,无法做到大尺寸屏幕的输出。内容和速度有限,无法做高刷新的可视化显示。只能直接输出。

另外做过6轴陀螺仪的姿态解算,三重三角函数的,四组元姿态解算,每秒能完成20多次,基本计算还可以。

由你的描述描述根据经验推测问题,你的堆栈爆了,解决问题如下图回答:
问题解答.png

这个是信号的强度检测,不知你是检测的是什么信号的强度,一般的在 扫描周边AP时,会返回每个AP的信号强度,而且几乎都是 小于0的。
如下图红色部分,就是每个热点的信号强度,数字越小信号越弱 :
w801ss.png

你的参数不正确。

测试w801 wifi 各功能时,最好把wifi部分的demo开关全部打开。 测试 softap 先测试,t-connect ,t-scanf 就是保证你的板子能连上路由器,能扫描到周边的热点。

然后再测试,热点模式(板子成为一个热点,手机可以连上它)
命令为: t-softap=("ssid","pwd",channel,encrypt,format);

一个实际的参数如下:
t-softap=("w801_Ap","12345678",1,5,1);

然后打开手机,在wifi热点列表里,点搜索即可以看到这个热点了。

"vs2019编译C语言生成的img文件,然后cygwin4WM打开此目录,w800.fls为demo代码,使用命令cat w800.fls 1.img > new_w800.fls生成fls,upgrade Tools版本是1.4.13"

第一步有问题,你的 vs2019 怎么产生的 img 文件, vs2019 调sky的编译工具只能生成 elf 文件。
使用w80x工具箱里的 unity 工具才能产生 img 文件,并且你要规划 demo 里的 img 和 你编译的产生的 img 文件的烧写地址。

也就是 fls 文件要在各个 img 放在一起,分配好起始地址,统一生成。

不能分开来成成,即先产生一个 fls ,然后再追加一个img ,然后把fls和img直接合并,这样文件格式是对的,但是地址分配不是统一的。必然冲突。

W80X 的代码可以加密,就是编译完之后,在生成fls文件时,可以对它采取加密处理。芯片硬件内置了RSA,SHA等加密算法,支持非对称加密体系。芯片能够运行加密的代码运行,芯片自动设置密钥寄存器。
加密代码运行对应用来说,是无感的。也就是代码在生产时,流程和工具不一样。

这样,即便别人copy出代码,也是一堆密文,无法反编译也无法使用。

相关代码安全加密的工具和方法,建议联系厂商,因为涉及安全,这部分不大会向社区公开,信息管理也是安全安全的一部分。

首先要看你信号的最佳阻抗匹配,就是信号负载的最佳阻值,这跟你的信号原有关。

比如你的信号阻抗是 20k , 那么输出最高电压是 5V , 那么可以做这样的一个二元一次的计算

{
r1 + r2 = 20K ;
r2 / (r1+r2) = 2.4 /5 ;
}

从而算出 R1,R2。

用外部的单独 RTC 芯片,比如 DS3231芯片, 一年误差小于1分钟。内部RTC,如果要精确计时,可以忽略。要么每小时做一次校正。

W801 SDK 结构很清晰,因为带有很多 DEMO ,所以感觉代码庞大,其实如果你只需要 LSPI ,那么你只要留下 wm_mast_spi.cpp 这个代码,其它Demo下的全部删除即可。

另外,在 platform 下的 driver 里也一样,把不需要的驱动全部删除。

这样,世界是不是一下清净了? 建议使用任务的框架,这个是rtos的系统基础,也是执行多任务的框架,其框架非常简单,很容易理解。如果你抛弃框架,直接用 HAL 也能做 LSPI的驱动屏幕,但那样几乎只能完成个DEMO,不具备应用可扩展性,需要应用需要多任务的支持,HAL的模式太简单,稍微复杂点的应用是支持不了的。

W80X 系列6 内置 SPI/QSPI 接口的 PSRAM 控制器,支持外置 PSRAM 设备访问,提供总线方式的 PSRAM 读写擦操作。最高读写速度 80MHz。
⚫ 支持对外置 PSRAM 的读写访问
⚫ 可配置为 SPI 和 QSPI
⚫ SPI/QSPI 时钟频率可配置
⚫ 支持 BURST INC 模式访问 MCU 芯片
⚫ 支持 PSRAM 的半休眠模式

这个因为现在开发板没有扩展的RAM芯片,没法验证,所以没有给例程。

同时因为根据不同的外部RAM芯片,其驱动代码也有不同,具体可以参考 QSPI 的协议通信方法,以及各RAM芯片寄存器的规则,来初始化RAM以及使用它。

这有一个网友,扩展了RAM,可以参考。 http://ask.winnermicro.com/question/19.html

W800-KIT-PRO 的工程资料都放在这了:
链接:https://pan.baidu.com/s/1obFDfqD43ZW4Ev9011rFgQ?pwd=48d5 提取码:48d5

其中,代码工程,应用部分都有源码,底层部分没有开放源码。

优化有很多方法,主要是看你代码的结构以及指令的类型:
如果你代码有较多的地址访问,读取常量数据,那么将代码复制到 RAM 中会有很大的速度提升。 这地地址访问是编译时产生的,比如复杂结构体的使用,将造成大量的间接地址的访问。

如果你代码有大量的计算,特别是浮点计算,以及三角函数等高级代数的计算,那么在一些算法下,想办法,把算法改造成定点整数的算法,这样使速度会加快。 如果代码中,有大量的超函数计算,那么可以考虑查表法,不用调用系统的函数库。

另外就是代码指令优化,分析代码中重复运行比较高的段落,将此段落编为汇编代码,然后手动优化汇编代码,完成代码指令的优化。

使用多种方法,可以达到提升程序运行速度与效率。

发布
问题