联盛德|联盛德 HLK-W806 (五): W801开发板上手报告
目录
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
- 联盛德 HLK-W806 (三): 免按键自动下载和复位
- 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD
- 联盛德 HLK-W806 (五): W801开发板上手报告
文章图片
文章图片
文章图片
W801与W806的对比 两个芯片核心完全一样, 芯片布局基本一致, 看差异就能大致了解W801的配置
W801的规格书
- 概述增加了无线部分: "支持 2.4G IEEE802.11b/g/n Wi-Fi 通讯协议;支持 BT/BLE 双模工作模式,支持 BT/BLE4.2 协议"
- W801内置 2MB Flash, 是W806的两倍, 其它MCU特性一致
- Wi-Fi 特性
- 支持 GB15629.11-2006,IEEE802.11 b/g/n
- 支持 Wi-Fi WMM/WMM-PS/WPA/WPA2/WPS
- 支持 EDCA 信道接入方式
- 支持 20/40M 带宽工作模式
- 支持 STBC、GreenField、Short-GI、支持反向传输
- 支持 AMPDU、AMSDU
- 支持 IEEE802.11n MCS 0~7、MCS32 物理层传输速率档位,传输速率最高到 150Mbps
- 2/5.5/11Mbps 速率发送时支持 Short Preamble
- 支持 HT-immediate Compressed Block Ack、Normal Ack、No Ack 应答方式
- 支持 CTS to self
- 支持 Station、Soft-AP、Soft-AP/Station 功能
- 蓝牙特性
- 集成蓝牙基带处理器/协议处理器,支持 BT/BLE 双模工作模式,支持 BT/BLE4.2 协议
- 低功耗模式
- 支持 Wi-Fi 节能模式功耗管理
W806和W801并非pin-pin兼容, 从PIN#5到#9这5个PIN对应的功能是不同的, 具体区别如下
- W801有PB23没有WAKEUP, W806有WAKEUP没有PB23, W801从#5到#9顺位挪了一位
- W801在#14为ANT, 对应的W806在#14为空
- W801在#23的PA5, 增加了VRP_EXT复用
- W801在#24的PA6, 增加了VRP_EXT复用
- W806
板载三颗LED,分别对应PB0, PB1, PB2, 都是对应PWM复用的PIN脚, - W801
板载七颗LED, 分别对应PB5, PB25, PB26, PB18, PB17, PB16, PB11, 但是里面对应PWM复用的只有PB25和PB16, 所以没法像W806那样演示流水灯了
天线 W801增加了板载天线, 因此比W806长出了一截天线的长度
W801的烧录下载 代码部分, 现在W806可用的代码, 都可以运行在W801上, 无线部分需要等SDK中加入对这部分外设的支持. 这里说一下W801的烧录下载.
这块W801开发板在下载上和W806有一些区别. W801内置了串口的RTS控制, 因此带来一些问题, 暂时不能判断是设计问题, 还是属于我的使用方式不对:
- W801开发板连上USB后, 会正常开始运行片内烧录的程序
- 使用串口程序连接W801开发板时, 必须将RTS拉低, 否则开发板会立刻中止运行, 像CuteCom, Minicom这些都没法看W801的printf输出了
- 串口连接且拉低RTS时, W801开发板其实就被重置了, 所以想在程序运行到中途, 开个终端连入看日志的, 也会有问题
- 串口程序断开连接时, 不会重置, W801开发板会继续运行
at
改为rts
, 就能对W801开发板写入了run:all
@$(WM_TOOL) -c $(DL_PORT) -rs rts -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).fls -sl str -ws 115200monitor:
@$(WM_TOOL) -c $(DL_PORT) -sl str -ws 115200list:
@$(WM_TOOL) -ldown:
@$(WM_TOOL) -c $(DL_PORT) -rs rts -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).flsimage:all
@$(WM_TOOL) -c $(DL_PORT) -rs at -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).imgflash:all
@$(WM_TOOL) -c $(DL_PORT) -rs rts -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).flserase:
@$(WM_TOOL) -c $(DL_PORT) -rs at -eo all
烧录命令
make flash
...
make[1]: Leaving directory '/home/milton/wm-sdk-w806/platform/drivers'
LINKW806.elf
OBJCOPYW806.bin
generate normal image completed.
generate normal image completed.
compress binary completed.
generate compressed image completed.
build finished!
connecting serial...
serial connected.
wait serial sync...
serial sync sucess.
mac 58-6D-CD-C1-CC-AA.
start download.
0% [####] 100%
download completed.
【联盛德|联盛德 HLK-W806 (五): W801开发板上手报告】如果要单独控制W801进入下载模式, 需要用以下的步骤
- 连接串口
- 拉低RTS, 然后立即
- 以10ms的间隔, 连续输入二进制字符
0x1B
, 即Esc对应的编码 - 此时W801就会进入下载模式, 回显如下的字符, 之后一直输出字符
C
Secboot V0.6\r\n
CCCCCCCCCCCCCCCC
将W801转为下载模式的Python代码
import serial
import timeport = serial.Serial(
"/dev/ttyUSB0",
baudrate=115200,
rtscts=True,
timeout=0)if port.isOpen():
print('opened')
else:
print('open failed')packet = bytearray()
packet.append(0x1B)
port.rts = Falsewhile True:
for i in range(0, 100):
port.write(packet)
time.sleep(0.01)
data = https://www.it610.com/article/port.read_all()
print(data)
if len(data) == 0 or data == b'enter main\r\n':
print('.')
continue
else:
breakprint('pass')while True:
data = https://www.it610.com/article/port.read_all()
print(data)
time.sleep(1)
推荐阅读
- 这辈子我们都不要再联系了
- 七律.岭南骨科康复联谊有感
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- ACSL|ACSL 美国计算机科学联赛 2016-2017 R4 摩天大楼-Skyscraper 题解
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)
- federation--kubernetes集群联邦的实现
- 互联网加教育,成就孙慧敏美术梦想
- 装修公司如何寻找精准客户
- 互联网创业(先学会避坑,再成为内行)