联盛德 HLK-W806 (七): 兼容开发板 LuatOS Air103

目录

介绍

Air103和W806实际上是同一个芯片, 唯一区别就是丝印不同, W806与Air103的软件理论上都是通用的, W806 SDK也可以运行在Air103上, 所以也可以用C语言给Air103开发固件了.

LuatOS Air103 开发板

官方介绍页: https://wiki.luatos.com/boardGuide/air103/index.html 在文档方面做得比联盛德和海凌科好.

参数

  • MCU – Air103 32-bit XT804 MCU
  • Pinout: 2x20 + 2x4
  • Debugging – CH340 via micro USB port
  • Misc – Reset and Boot buttons
  • Power Supply – 5V via Type-C USB port
  • Size: 51 x 21 mm

开发板外观

正面
联盛德 HLK-W806 (七): 兼容开发板 LuatOS Air103

背面
联盛德 HLK-W806 (七): 兼容开发板 LuatOS Air103

PIN脚功能图
联盛德 HLK-W806 (七): 兼容开发板 LuatOS Air103
(注: 下方的三个LED标识是错的, 应当是PB24, PB25, PB26)

与W806开发板的主要区别

  1. 板载LED
  • W806: 三颗LED, 都是蓝色, 分别是PB0, PB1, PB2, 对应PWM0, PWM1, PWM2, 低电平点亮
  • Air103: 三颗LED, 红绿蓝三色, 分别是PB24, PB25, PB26, 对应PWM2, PWM3, PWM4; 高电平点亮
  1. USB口
  • W806: MicroUSB
  • Air103: Type-C
  1. 串口RTS和芯片RESET
  • W806: 未连接. 在下载固件时, 要么手工重启, 要么在SDK中开启AT命令自动重启
  • Air103: RTS连接RESET, 和W801开发板一样支持自动重启
  1. 开发板尺寸
  • W806: 65 x 26 mm
  • Air103: 51mm x 21mm, 比Arduino NANO的尺寸大一格, 但是比W806开发板尺寸要小很多
  1. Pin脚布局
  • W806: 24pin x 2, 未接出5V
  • Air103: 20pin x 2 + 4pin x 2
    • 未接出PA0(BOOT),PA5,PA6,PA15,PB24,PB25,PB26,PB27.
    • 板上有6个GND, 3个3.3V, 2个5V, 貌似应该省一些GND和3.3V换成未引出的IO?
    • 多一个PWB脚, 手册说明是芯片 3.3V 供电控制,高电平有效,不用可悬空
  1. PSRAM焊盘
  • W806: 无
  • Air103: 底部有PSRAM焊盘
    焊盘pin脚映射关系
SCLK    -> PA_15
SI/IO0  -> PB_02
01/SO   -> PB_03 
WP      -> PB_04
HOLD    -> PB_05
CS      -> PB_27

使用W806 SDK开发

代码编写和编译与W806一致, 需要注意的差别是, GPIO和PWM的demo中因为使用了板载LED, 与Air103有差异(PB0, PB1, PB2 => PB24, PB25, PB26), 需要调整.

写入时, 需要参考W801的写入方式, 修改rules.mk中以下部分的-rs参数, 将-rs at修改为-rs rts, 以实现下载时自动复位. 在Linux下写入是正常的, 这点比W801开发板强

run:all
	@$(WM_TOOL) -c $(DL_PORT) -rs at -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 at -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 at -ds $(DL_BAUD) -dl $(FIRMWAREDIR)/$(TARGET)/$(TARGET).fls
erase:
	@$(WM_TOOL) -c $(DL_PORT) -rs at -eo all

参考

  • Air103 https://wiki.luatos.com/boardGuide/Air103.html
  • Air103资料汇总 https://doc.openluat.com/article/3674
上一篇:REPLACE函数的使用


下一篇:asp修正