平头哥CDK W806-KIT单片机技术交流组
直播中

7年用户 12经验值
擅长:705164
私信 关注
[经验]

【联盛德W806-KIT开发板试用体验】上手连载

2b10dc5d77de57cdeb72563cfdb37159

由于时间比较紧,每天抽半小时记录下玩机动态
  • 2021.11.15

下班回来从菜鸟驿站拿到板子,急吼吼的去下了环境
  • 2021.11.16
忙完手上一个私单的项目,还有一个项目的物料没到,看了看搭建环境的方法,下面这个文章写得很详细了,快速入门文档也有,可自行选择适合自己的看看
https://bbs.elecfans.com/jishu_2179834_1_1.html
资料下载地址在这里,或者关注深圳海凌科电子
【联盛德 W806 单片机最新资料更新】
https://bbs.elecfans.com/jishu_2177066_1_1.html

【W806-KIT开发包资料含SDK及介绍资料】https://bbs.elecfans.com/jishu_2170522_1_1.html

因为有帖子长度限制50000一下子发不出来,整理后重发
先从入门开始
本着资料宜多不宜少的原则,先全部下载了保存到一个文件夹下
1.png
解压出WM_SDK_W806_V0.3.0.zip文件就是前面文章里面的sdk文件了
上面文章提到的工程文件W806_SDK.cdkproj在如下路径
WM_SDK_W806_V0.3.0WM_SDK_W806toolsW805projectsSDK_ProjectprojectCDK_WSW805_SDK
跟keil的编译图标很像,一秒秒就找到了

2.png
按图编译下载程序
然后再输出目录w806_dataWM_SDK_W806_V0.3.0WM_SDK_W806binW805
下找到fls串口烧录程序,用烧录工具烧录,这一步试了好几次,换了几根线才成功 3.png
按图编译下载程序
然后再输出目录w806_dataWM_SDK_W806_V0.3.0WM_SDK_W806binW805
下找到fls串口烧录程序,用烧录工具烧录,这一步试了好几次,换了几根线才成功
  W806 MCU芯片规格书_V2.0.pdf 看一下芯片的框图对应用方向有个粗略的见解,大家有更好的应用方向望指正
5.png
encryption是个亮点,但是没有网络就有点难受了,一般在网络编程中使用rsa做秘钥交换,然后aes做加密,有硬件加密模块将使得整个运算速度大大提升,但是网络模块需要外接有了不小的限制,不过配合智能家居惯用的esp8266ex还是不错的,用于工业则通常需要100mb的rj45,配合w5500却是不如用ch563了

接下来做hello world

  这个文档里面有寄存器手册 寄存器.PDF
  解压硬件资料找到HLK-W806-V1.0-KIT.SchDoc查看led灯的引脚 pb0 1 2
6.png 7.png
本着有就用的原则,先看看include文件夹有没有定义好的寄存器宏
8.png
9.png 10.png 11.png 12.png
WTF!!这熟悉的定义是STM32 hal库没错了
看完了寄存器开始写代码,先直接用寄存器试试

15.png
然后看了下结构体的定义,直接调用结构体也能达到同样的效果
16.png

14.png
  • 13.png
  • 14.png
  • 13.png
  • 4.png

回帖(2)

2021-11-17 22:15:41
  • 2021.11.17

昨天helloword搞定
今天从IC功能开始看了下
MCU 特性
✓ 集成 32 位 XT804 处理器,工作频率 240MHz,内置 DSP、浮点运算单元与安全引擎
✓ 内置 1MB Flash,288KB RAM
✓ 集成 PSRAM 接口,支持最高 64MB 外置 PSRAM 存储器
✓ 集成 6 路 UART 高速接口
✓ 集成 4 路 16 比特 ADC,最高采样率 1KHz
✓ 集成 1 个高速 SPI 接口(从接口),支持最高 50MHz
✓ 集成一个主/从 SPI 接口
✓ 集成 1 个 SDIO_HOST 接口,支持 SDIO2.0、SDHC、MMC4.2
✓ 集成 1 个 SDIO_DEVICE,支持 SDIO2.0,最高吞吐率 200Mbps
✓ 集成 1 个 I2C 控制器
✓ 集成 GPIO 控制器,最多支持 44 个 GPIO
✓ 集成 5 路 PWM 接口
✓ 集成 1 路 Duplex I2S 控制器
✓ 集成 LCD 控制器,支持 4x32 接口
✓ 集成 1 个 7816 接口
✓ 集成 15 个 Touch Sensor


从第一项开始说
  • 32位 XT804处理器,频率240MHZ 内置DSP和浮点,有dsp和浮点  这个可玩性不错,不仅能处理音频还能做做电源或者逆变器,adc不知道降低到12~14位用速度能不能快点,如果能快,改天整个逆变器、电子负载玩玩,至于处理器XT804  不是太熟悉,240MHZ频率至少比我目前用的处理器频率都高,料想运算能力是比arm m3高的样子,arm给出的平均指令执行速度1.25MIPS/Mhz,一个stm32f103差不多就是1秒72*1.25个指令了,XT804的资料比较少,粗查之下没查到,这里先挖个坑留待之后有空看看
  • PSRAM的   刷屏和摄像头采集神器,配合SDIO整个高速的wifi,杠杠的,料想能搞个高清的wifi摄像头吧
  • 6 路 UART 可以勉强应付做个低配版的串口服务器了,这个我之前用nuc980做过一版
  • adc虽然精度高,但是采样频率有点低了,用在动态调整需求不高的电路或者只是监控和采集低频传感器的项目很合适,目前一个项目用的ch563 ,10位的adc 采样速度1M,不知道w806降低精度后能不能快呢?这里挖个坑,后面慢慢测
  • SPI 接口,支持最高 50MHz,不知道主spi是不是也是这个速度,对于智能家居也够用了,w25qxx做个存储、w5500做个网络也没什么问题,就是w5500最近价格真是感人啊,我那点库存货之前直接卖了一分钱不花换了点ch563回来
  • sdio这个挺实用的,不管是存储还是通讯都没啥问题
  • i2c   主要连接下传感器  几个倒是无所谓,基本都是地址读取
  • 44 个 GPIO  对于这个售价6元  ic来说  超值了,当然 小家电常用的那些来比io还是没法玩, otp的8脚  3毛买到过,现在大概5~7毛吧,还有更便宜的mask的,如果你是做小风扇,剃须刀,果汁机啥的很适用,至于稍微复杂的应用还是别想,那种8位机最多10k word的rom,ram按b算
  • 5路pwm   搞个状态灯,氛围灯,调个温啥的也是妥妥的,有死区互补还能搞搞电机啥的
  • 1 路 Duplex I2S 控制器,配合前面的DSP  处理音频无压力
  • LCD 控制器,支持 4x32 接口  这个以前都用74hc系列扩展,io口够就用io口模拟,现在mcu发展了lcd控制器有这寄存器用了,我反而用起了spi tft,很少用段码屏了,偶尔几个劣质按摩仪项目也是74hc595+九齐应广就能搞定
  • 7816一直没机会用上,身份认证有太多非接触的更好的办法,不知道单片机用这个接口是不是拿来给cat1等模块当sim卡使呢,有谁知道的请教一下
  • Touch Sensor  好像只要涉及智能家居都有,甚至现在出的一些otp也有了,还记得最早的时候还是用51单片机的adc模拟的,这一项看到的是科技的进步啊
再就是安全性能了

tee是个神器,把数据和执行隔开了,多少被破解抄袭过的同胞该掩面大哭啊,我们可以考虑将我们的秘钥和一些敏感的数据放到安全区,每次通讯时发公钥给服务器,服务器发自己的公钥给mcu,然后双方加密传输,再生成一个私钥互相交换,然后将打包好的rom升级包加密传输解密,安全性妥妥的。
至于非升级包的实时数据,如果rsa速度够快也能用,速度慢的话就用对称加密吧,铭感需要动作的数据就用public签名,private 验签也是极好的,反正只要tee是安全的,咱们的私钥不被拿到就高枕无忧




举报

2021-11-18 21:00:22
昨天看了一下w806的个大模块,比较期待w801的到来,具备wifi和蓝牙,补足了w806的网络欠缺,甚至某些领域能吊打hs6621了,比如共享设备、手环等应用

今天主要看下初始化部分的结构,方便未来移植freeos或者ucosiii
ic的入口是startup.s文件,这个指令集不太熟悉,就不一一看了,看个大概先,不对之处欢迎指正
开头是__Vectors:  ,这部分是中断向量表
紧跟着是_start:   这部分是程序真正的入口了,里面设置了中断堆栈,向量表复制到向量中断,然后在L_loopv0_done里做了个地址映射,然后进入c 代码部分,根据宏调用了SystemInit,将irq_vectors的值读出来写入了vbr寄存器,看不大懂这个寄存器缩写,就当是mcu中断用的寄存器吧,紧跟判断宏根据不同mcu着重置了栈位置,设置了端口配置,然后启动了异常中断
然后进入了bsp的初始化 board_init,里面就初始化了下串口
再进入了main函数,main函数做了时钟的初始化,为什么不在board_init串口初始化之前做时钟初始化,头文件里面配置时钟用多少呢
main函数里面初始化时钟为160mhz,配置完系统时钟,wlan时钟,总线时钟后配置了HAL_InitTick  系统滴答时钟,并在HAL_InitTick里面开启了系统中断,SYS_TICK_IRQn,中断优先级TICK_INT_PRIORITY的定义是7,
配置计数中断W805_PLL_CLK_MHZ/(clk_div.b.CPU)* UNIT_MHZ / uwTickFreq
按宏定义为 480/3*1000000/1000 = 160 000相对于160mhz就是1/1000
所以是1ms中断一次
个人感觉移植ucos要费点功夫看看汇编指令集,和arm thumb差别很大,不晓得是不是C-SKY的指令集,有空了再看看



举报

更多回帖

发帖
×
20
完善资料,
赚取积分