联盛德 HLK-W806 (五): W801开发板上手报告
目录
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
- 联盛德 HLK-W806 (三): 免按键自动下载和复位
- 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD
- 联盛德 HLK-W806 (五): W801开发板上手报告
W801
今天收到了等了两周的W801开发板, 和W806开发板外观基本一致, 但是元件布局有调整, W801和W806开发板的实物对比
W801与W806的对比
两个芯片核心完全一样, 芯片布局基本一致, 看差异就能大致了解W801的配置
W801的规格书
- 概述增加了无线部分: "支持 2.4G IEEE802.11b/g/n Wi-Fi 通讯协议;支持 BT/BLE 双模工作模式,支持 BT/BLE4.2 协议"
- W801内置 2MB Flash, 是W806的两倍, 其它MCU特性一致
增加的WIFI和蓝牙的描述
- 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 节能模式功耗管理
PIN脚
W801的规格书增加了PIN脚频率和驱动能力栏, 各个PIN的最高频率是有区别的, 从10MHz到80MHz不等, 从后面的功能描述看, 与W806是一致的, 因此猜测此频率描述也适用于W806
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复用
W801开发板的差异
板载LED
- W806
板载三颗LED,分别对应PB0, PB1, PB2, 都是对应PWM复用的PIN脚, - W801
板载七颗LED, 分别对应PB5, PB25, PB26, PB18, PB17, PB16, PB11, 但是里面对应PWM复用的只有PB25和PB16, 所以没法像W806那样演示流水灯了
接口
W801除了将MicroUSB换成了Type-C, 还增加了Reset, 5V以及多组3.3V和GND的排线引出, 这个比较不错, 在W806上没有5V引出, 如果有5V外设的话比较不方便
天线
W801增加了板载天线, 因此比W806长出了一截天线的长度
W801的烧录下载
代码部分, 现在W806可用的代码, 都可以运行在W801上, 无线部分需要等SDK中加入对这部分外设的支持. 这里说一下W801的烧录下载.
这块W801开发板在下载上和W806有一些区别. W801内置了串口的RTS控制, 因此带来一些问题, 暂时不能判断是设计问题, 还是属于我的使用方式不对:
- W801开发板连上USB后, 会正常开始运行片内烧录的程序
- 使用串口程序连接W801开发板时, 必须将RTS拉低, 否则开发板会立刻中止运行, 像CuteCom, Minicom这些都没法看W801的printf输出了
- 串口连接且拉低RTS时, W801开发板其实就被重置了, 所以想在程序运行到中途, 开个终端连入看日志的, 也会有问题
- 串口程序断开连接时, 不会重置, W801开发板会继续运行
使用W806的SDK下载烧录W801时, 需要将rules.mk中的-rs参数修改一下, 从at
改为rts
, 就能对W801开发板写入了
run:all
@$(WM_TOOL) -c $(DL_PORT) -rs rts -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).fls -sl str -ws 115200
monitor:
@$(WM_TOOL) -c $(DL_PORT) -sl str -ws 115200
list:
@$(WM_TOOL) -l
down:
@$(WM_TOOL) -c $(DL_PORT) -rs rts -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).fls
image:all
@$(WM_TOOL) -c $(DL_PORT) -rs at -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).img
flash:all
@$(WM_TOOL) -c $(DL_PORT) -rs rts -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).fls
erase:
@$(WM_TOOL) -c $(DL_PORT) -rs at -eo all
烧录命令make flash
...
make[1]: Leaving directory '/home/milton/wm-sdk-w806/platform/drivers'
LINK W806.elf
OBJCOPY W806.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.
如果要单独控制W801进入下载模式, 需要用以下的步骤
- 连接串口
- 拉低RTS, 然后立即
- 以10ms的间隔, 连续输入二进制字符
0x1B
, 即Esc对应的编码 - 此时W801就会进入下载模式, 回显如下的字符, 之后一直输出字符
C
Secboot V0.6\r\n
CCCCCCCCCCCCCCCC
将W801转为下载模式的Python代码
import serial
import time
port = 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 = False
while True:
for i in range(0, 100):
port.write(packet)
time.sleep(0.01)
data = port.read_all()
print(data)
if len(data) == 0 or data == b'enter main\r\n':
print('.')
continue
else:
break
print('pass')
while True:
data = port.read_all()
print(data)
time.sleep(1)
联盛德 HLK-W806 (五): W801开发板上手报告的更多相关文章
- 合宙Air32F103CBT6开发板上手报告
2022年6月初合宙新上市了 Air32F103 系列 MCU, 市面上 STM32F103 的克隆军队又增加了新的一员. 这次不知道是哪家的贴牌, 分 Air32F103CBT6 和 Air32F1 ...
- 沁恒CH32V003F4P6 开发板上手报告和Win10环境配置
CH32V003 沁恒最近推出的低价CH32V003系列, 基于青稞RISC-V2A内核, 48MHz主频, 2KB SRAM, 16KB Flash, 工作电压兼容3.3V和5V. 主要参数如下 S ...
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (七): 兼容开发板 LuatOS Air103
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (十): 在 CDK IDE开发环境中使用WM-SDK-W806
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (三): 免按键自动下载和复位
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (六): I2C驱动SSD1306 128x64 OLED液晶屏
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
随机推荐
- 云原生的弹性 AI 训练系列之三:借助弹性伸缩的 Jupyter Notebook,大幅提高 GPU 利用率
Jupyter Notebooks 在 Kubernetes 上部署往往需要绑定一张 GPU,而大多数时候 GPU 并没有被使用,因此利用率低下.为了解决这一问题,我们开源了 elastic-jupy ...
- Vue Router 常见问题(push报错、push重复路由刷新)
Vue Router 常见问题 用于记录工作遇到的Vue Router bug及常用方案 router.push报错,Avoided redundant navigation to current l ...
- Poetry(1)Poetry介绍与安装
介绍 Poetry 是Python 中的依赖管理和打包工具,当然它也可以配置虚拟环境.它允许您声明项目所依赖的库,并为您管理(安装/更新)它们. 之前一直使用virtualenvwrapper管理虚拟 ...
- (翻译)领域驱动设计实现-Implementing Domain Driven Design
简介 Implementing Domain Driven Design 领域驱动设计实现 A practical guide for implementing the Domain Driven D ...
- 【UE4 C++】获取运行时间、设置时间流速、暂停游戏
基于UGameplayStatics 获取运行时间 /** Returns the frame delta time in seconds, adjusted by time dilation. */ ...
- 【UE4 C++】读写Text文件 FFileHelper
CoreMisc.h 读取 FFileHelper::LoadFileToString 读取全部内容,存到 FString FString TextPath = FPaths::ProjectDir( ...
- 5.31日 Scrum Metting
日期:2021年5月31日 会议主要内容概述:讨论草稿箱前后端接口,讨论账单页面设计. 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 徐宇龙 后端 文件导入功能 ...
- [软工顶级理解组] Beta阶段项目展示
目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...
- C++学习笔记之pimpl用法详解
原文链接:https://www.jb51.net/article/122557.htm 在编写稳定代码是,管理好代码间的依赖性是不可缺少的一个环节.特别是库文件的编写中,减少代码间的依赖性可以提供一 ...
- STM32 禁用或开启总中断
今天把之前自己的一些在中断方面所产生的疑惑把具体的解决办法给大家分享一下,希望能够帮到大家. STM32在使用时有时需要禁用全局中断,比如MCU在升级过程中需禁用外部中断,防止升级过程中外部中断触发导 ...