简介
RTL8720DN是一款支持双频WiFi的Soc芯片,即2.4GHz或5.8GHz频段,可以告别在选择WiFi网络时仅支持2.4G的尴尬,不仅如此,RTL8720DN还支持了低功耗蓝牙BLE5.0,内部集成了两颗MCU,分别为ARM V8M(KM4 兼容Cortex-M33)高性能MCU与ARM V8M(KM0 兼容Cortex-M23)低性能MCU,大小核切换可以用于高性能处理与低功耗场景的应用
特性
-
供电:3.3±5% V
-
512Kb SRAM可扩展4Mb PSRAM
-
支持2M Flash(可扩展)
-
支持 802.11a/b/g/n Wi-Fi 2.4GHz、5GHz
-
支持BLE 5.0
-
KM4核支持200MHz、KM0核支持20MHz
-
USB Host/Device
-
SD Host
-
最大支持54路GPIO PIN脚
-
支持SWD调试(使用IAR IDE开发)
系统架构
环境搭建
工程源码
使用官方开源的标准SDK,sdk下载地址;官方提供了windows和Linux系统编译环境,其中windows环境下已经支持Cygwin和IAR
Windows系统
- 在windows系统下,可以使用Cygwin作为GCC开发环境,x86下载地址;
- 安装时勾选make与bc工具
IAR工程项目
sdk已经集成了IAR的工程项目,IAR工程路径ambd_sdk\project\realtek_amebaD_va0_example\EWARM-RELEASE\Projectxx.eww
Linux系统
- Linux系统下同样需要安装工具
- libc6-i386:GNU C库
- lib32ncurses5:针对64位平台的32位终端处理
- make:make工具
- bc:bc math计算工具
- gawk:文本替换工具
- ncurses:应用在
make menuconfig
调取配置界面
编译
- 以linux系统终端为例(cygwin同理),进入sdk中GCC工程目录,使用make进行编译;
//KM0
cd /{path}/ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp
make all
//KM4
cd /{path}/ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp
make all
- 编译镜像路径分别为
ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/asdk/image/
ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/
下载
使用sdk路径下ambd_sdk\tools\AmebaD\Image_Tool
工具进行固件下载;
- 使用模块的PA7(TX)、PA8(RX)进行烧录
- 复位前下拉PA7引脚进入下载模式,释放后会打印0x15(baud 115200)
- 第一次烧录需要进行一次全擦除
系统启动
- 重新复位系统,打印如下日志,系统启动成功
MQTT例程
使能mqtt
- 通过命令make menuconfig调取配置工具, 进入
MQTT Config
开启mqtt功能,退出后保存
MQTT例程配置
- 代码路径
example/mqtt/example_mqtt.c
, 修改prvMQTTTask任务中的mqtt配置参数
connectData.MQTTVersion = 3;
connectData.clientID.cstring = "client";
char* address = "gpssensor.ddns.net";
char* sub_topic = "LASS/Test/Pm25Ameba/#";
char* pub_topic = "LASS/Test/Pm25Ameba/FT1_018";
运行测试
编译烧录固件后,启动系统,等待连接mqtt成功
通过客户端发送消息,可以看到接收到的订阅消息log