当前位置:网站首页>RTL8720DN开发笔记一 环境搭建与mqtt实例
RTL8720DN开发笔记一 环境搭建与mqtt实例
2022-07-31 00:57:00 【玉怀一捧雪】
简介
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
边栏推荐
- What is Promise?What is the principle of Promise?How to use Promises?
- MySQL notes under
- 分布式.幂等性
- Jmeter参数传递方式(token传递,接口关联等)
- Mini Program - Global Data Sharing
- 不用Swagger,那我用啥?
- 【愚公系列】2022年07月 Go教学课程 019-循环结构之for
- typescript16-void
- Sping.事务的传播特性
- Thesis understanding: "Designing and training of a dual CNN for image denoising"
猜你喜欢

DOM系列之 offset 系列

mysql主从复制及读写分离脚本-亲测可用

WEB安全基础 - - -漏洞扫描器

BOM系列之history对象

Kotlin协程:协程上下文与上下文元素

typescript17 - function optional parameters

typescript9-常用基础类型

Rocky/GNU之Zabbix部署(1)

MySQL master-slave replication and read-write separation script - pro test available

Typescript14 - (type) of the specified parameters and return values alone
随机推荐
Problem record in the use of TypeScript
Consistency and Consensus of Distributed Systems (1) - Overview
typescript13 - type aliases
[Yugong Series] July 2022 Go Teaching Course 015-Assignment Operators and Relational Operators of Operators
【多线程】
MySQL database (basic)
分布式.分布式锁
深度学习可以求解特定函数的参数么?
网站频繁出现mysql等数据库连接失败等信息解决办法
ELK部署脚本---亲测可用
typescript13-类型别名
Basic usage of async functions and await expressions in ES6
Can deep learning solve the parameters of a specific function?
How to Add a Navigation Menu on Your WordPress Site
ShardingSphere之水平分库实战(四)
DOM系列之 offset 系列
认识DTU什么是4GDTU设备
Yolov7实战,实现网页端的实时目标检测
Redis learning
孩子的编程启蒙好伙伴,自己动手打造小世界,长毛象教育AI百变编程积木套件上手